Exchange Rate API for Singapore: MAS Daily Rates, GST and Customs Rules, Live SGD

One exchange rate API for Singapore: the official MAS daily table for 21 currencies with history from 1988, the rates IRAS and Singapore Customs point to for GST, import permits and corporate tax, and live SGD market rates for 160+ currencies. JSON, CSV, XLSX. Free key.

By Madhushan, Founder & Lead Developer ·

Singapore flag In one line: the official MAS daily table for 21 currencies, its history from 1988 and the live SGD market rate, from one REST API in JSON, CSV or Excel. Start with a free key. No card.

In Singapore one source does most of the official work. IRAS lists the Monetary Authority of Singapore (MAS) rates among the sources it accepts for GST, Singapore Customs converts import values at the MAS weekly average, and corporate tax in a foreign functional currency uses the average of MAS month-end rates. What changes from rule to rule is which MAS figure and which date. This API returns the MAS table for any date, with the live market rate beside it.

Which SGD rate applies to what

NeedRate the rule points toDateEndpoint
GST tax invoice in a foreign currencyAn IRAS-accepted source such as MAS or a local bank, used consistentlyTime of supply, or a consistent approximation/api/v1/central-bank/mas/{date}
Import permit and GST on importsMAS weekly average rateThe preceding week/api/v1/central-bank/mas/history
Corporate tax return, non-SGD functional currencyAverage of MAS month-end ratesThe basis period/api/v1/central-bank/mas/history
Stock option and share award gains (Appendix 8B)Actual rate, or one documented sourceExercise, vesting or end of moratorium/api/v1/central-bank/mas/{date}
Year-end closingClosing rate from one documented sourcePeriod end/api/v1/central-bank/mas/{date}
Pricing, checkout, dashboards, FX exposureLive mid-market rateEvery 60 seconds/api/v1/rates

The MAS table is read from the publisher's own page and never revised afterwards, so a figure fetched for a past date is the figure an auditor will find.

MAS official daily table

MAS releases its rates at 3 pm on every business day for 21 currencies and describes them as the average of buying and selling interbank rates quoted around midday in Singapore. On the MAS site only the US dollar, euro and sterling are shown per unit; the rest are per 100 units. The API returns every rate per one unit of foreign currency.

# Official MAS table for today
curl "https://allratestoday.com/api/v1/central-bank/mas/latest" \
  -H "Authorization: Bearer art_live_your_key"
{
  "bank": "mas",
  "rate_date": "2026-11-11",
  "cadence": "daily",
  "available_by_utc": "07:15",
  "publisher_timezone": "Asia/Singapore",
  "rates": [
    { "base": "USD", "quote": "SGD", "type": "reference", "value": 1.2819 },
    { "base": "EUR", "quote": "SGD", "type": "reference", "value": 1.4309 },
    { "base": "GBP", "quote": "SGD", "type": "reference", "value": 1.7106 },
    { "base": "CNY", "quote": "SGD", "type": "reference", "value": 0.1921 },
    { "base": "MYR", "quote": "SGD", "type": "reference", "value": 0.3146 }
  ]
}

In Google Sheets, one formula puts today's US dollar row in a sheet:

=QUERY(IMPORTDATA("https://allratestoday.com/api/open/central-bank/mas?format=csv"),
       "select * where Col2 = 'USD'", 1)

Dated tables and history from 1988

Every Singapore rule above needs a rate for a past date or an average over a period. A dated request returns the table for that day, with rate_date showing the earlier table when the day was a weekend or a public holiday. A history request returns the daily series for a range, from which a weekly average or an average of month-end rates is a few lines of code.

# the MAS table for an invoice date or a closing date
curl "https://allratestoday.com/api/v1/central-bank/mas/2025-12-31" \
  -H "Authorization: Bearer art_live_your_key"

# a year of daily USD rates as CSV: weekly averages, month-end averages
curl "https://allratestoday.com/api/v1/central-bank/mas/history?symbol=USD&from=2025-01-01&to=2025-12-31&format=csv" \
  -H "Authorization: Bearer art_live_your_key"

Worked figures are in the guides: the MAS closing rates for 31 December 2025, the month-end average for corporate tax, and the whole series as CSV or Excel in the MAS history download guide.

Live SGD market rates

For pricing and conversion the mid-market rate is refreshed every 60 seconds for SGD against 160+ currencies, in either direction. A free key covers it; add amount to get the converted figure in the same response. The central banks of Malaysia, Indonesia, Thailand, Hong Kong and China are on the same key for regional work.

# Live mid-market USD/SGD, refreshed every 60 seconds (free key)
curl "https://allratestoday.com/api/v1/rates?source=USD&target=SGD&amount=1000" \
  -H "Authorization: Bearer art_live_your_key"

The SDKs for JavaScript, Python, PHP, Go and Rust wrap the same call, and the mas-exchange-rate package wraps the MAS table.

Singapore rules that name a rate

These guides describe the rules as published; confirm the treatment for your facts with your tax agent.

Endpoints used on this page

EndpointReturnsPlan
/api/v1/central-bank/mas/latestToday's official MAS tableFree
/api/v1/rates?source=&target=SGDLive mid-market rate, optional amountFree
/api/v1/central-bank/mas/{date}The MAS table for a past datePaid
/api/v1/central-bank/mas/historyMAS rates for any date rangePaid

Every table endpoint accepts &format=json|csv|xml|xlsx. The /api/open/ endpoints are CORS-open and can be called from a browser or a spreadsheet; the keyed ones are for servers. Full reference in the documentation.

Frequently asked questions

Which exchange rate should a Singapore business use for GST?

IRAS accepts rates from local banks, MAS, locally circulated newspapers, reputable news agencies and foreign central banks without exchange controls. The rate must be updated at least every three months, used consistently for books and GST, and kept for at least one year. A tax invoice in a foreign currency shows the total excluding GST, the GST and the total including GST in Singapore dollars.

Which exchange rate does Singapore Customs use?

Singapore Customs does not publish its own table. Customs values are converted at the weekly average exchange rates released by MAS, taken from the preceding week.

Which rate applies to a company with a non-SGD functional currency?

IRAS requires the average of the MAS month-end exchange rates for the basis period to translate the amounts declared in the Corporate Income Tax Return.

How many currencies does the MAS table cover?

21 currencies against the Singapore dollar, released at 3 pm on every business day. MAS displays most of them per 100 units; the API returns every rate per one unit.

How far back does the history go?

The MAS series starts in January 1988. Early years are weekly for a few currencies, and all 21 currencies are daily by 2010.

Is there a free plan?

A free API key covers live rates and conversion, with no card. Dated tables and history need a paid plan, from €4.99 a month.

Start with the Singapore endpoints

Live SGD rates with a free key in 30 seconds.

Get a free API key See today's MAS table