Bank of Thailand Exchange Rates Today & Official API

Official Bank of Thailand rates for 27 Oct 2026: 1 USD = 33.594 THB, 1 EUR = 37.375 THB. All 48 currencies published, history back to 2002. Free JSON API for tax, audits, and compliant invoicing.

By Madhushan, Founder & Lead Developer

Thailand flagBank of Thailand publishes official daily exchange rates — 48 currencies against the THB — and this API serves them as JSON, with history back to 2002. The latest table is on every plan. Get your API key.

About Bank of Thailand

The Bank of Thailand releases a daily table combining the weighted-average interbank USD/THB rate — the canonical Thai reference — with average commercial-bank counter rates for 19 major currencies and market crossing rates for 29 more. It is published every Thai business day around 18:00 Bangkok time and is the series Thai accounting and customs practice cite.

Quick start

You need a free API key to run these. Register in under a minute — no card required.

Get a free API key Already registered? Copy your key from the dashboard.

One request for the pair you need — USD to THB at the official Bank of Thailand rate:

curl "https://allratestoday.com/api/v1/central-bank/bot/latest?source=USD&target=THB" \
  -H "Authorization: Bearer art_live_your_key"

What comes back — a real response built from the table in force (2026-10-27):

{
  "bank": "bot",
  "name": "Bank of Thailand",
  "rate_date": "2026-10-27",
  "source": "USD",
  "target": "THB",
  "rate": 33.745,
  "rate_type": "reference",
  "derived": false,
  "method": "published",
  "age_days": 0,
  "stale": false,
  "cadence": "daily",
  "disclaimer": "Official rates as published by the named central bank. On weekends/holidays the most recent published rate_date is returned."
}

Or the bank's full published table:

curl "https://allratestoday.com/api/v1/central-bank/bot/latest" \
  -H "Authorization: Bearer art_live_your_key"

The full-table response has the same envelope with every published row (first rows shown):

{
  "bank": "bot",
  "name": "Bank of Thailand",
  "rate_date": "2026-10-27",
  "age_days": 0,
  "stale": false,
  "cadence": "daily",
  "rates": [
    {"base":"AED","quote":"THB","type":"buy","value":9.1463},
    {"base":"AED","quote":"THB","type":"sell","value":9.2352},
    {"base":"AUD","quote":"THB","type":"buy","value":23.3278},
    {"base":"AUD","quote":"THB","type":"sell","value":24.0924},
    … 93 more rows
  ],
  "disclaimer": "Official rates as published by the named central bank. On weekends/holidays the most recent published rate_date is returned."
}

On paid plans, any historical date or a time series:

curl "https://allratestoday.com/api/v1/central-bank/bot/history?source=USD&target=THB&from=2025-01-01" \
  -H "Authorization: Bearer art_live_your_key"

Latest published rates (2026-10-27)

The most recent table as published by Bank of Thailand — exactly what the /latest endpoint returns right now. Values are THB per 1 unit of each currency:

Download this table: Excel (.xlsx) CSV

Download history:
Choose currencies: USD
Excel (.xlsx) CSV

One row per currency per publication date. Up to one year per download. Billed as one API call per currency per month of data.

BaseQuoteTypeRate
AED THB buy 9.1463
AED THB sell 9.2352
AUD THB buy 23.3278
AUD THB sell 24.0924
BDT THB buy 0.2711
BDT THB sell 0.2738
BHD THB buy 89.0628
BHD THB sell 89.9284
BND THB buy 25.9784
BND THB sell 26.7282
CAD THB buy 23.8663
CAD THB sell 24.3037
CHF THB buy 40.5039
CHF THB sell 41.1245
CNY THB buy 5.0116
CNY THB sell 5.1157
CZK THB buy 1.5418
CZK THB sell 1.5568
DKK THB buy 5.0105
DKK THB sell 5.0876
EGP THB buy 0.597
EGP THB sell 0.6028
EUR THB buy 37.3748
EUR THB sell 38.0539
GBP THB buy 44.6455
GBP THB sell 45.4541
HKD THB buy 4.2676
HKD THB sell 4.3418
HUF THB buy 0.1022
HUF THB sell 0.1032
IDR THB buy 0.0017742
IDR THB sell 0.0019612
ILS THB buy 10.9055
ILS THB sell 11.0115
INR THB buy 0.3296
INR THB sell 0.3824
IQD THB buy 0.0222
IQD THB sell 0.0224
JOD THB buy 47.3829
JOD THB sell 47.8434
JPY THB buy 0.211252
JPY THB sell 0.217686
KES THB buy 0.2586
KES THB sell 0.2611
KHR THB buy 0.008239
KHR THB sell 0.008319
KRW THB buy 0.0253
KRW THB sell 0.0256
KWD THB buy 109.0731
KWD THB sell 110.1331
LAK THB buy 0.001493
LAK THB sell 0.001507
LKR THB buy 0.1011
LKR THB sell 0.1021
MMK THB buy 0.016
MMK THB sell 0.0162
MVR THB buy 2.173
MVR THB sell 2.1941
MXN THB buy 1.8089
MXN THB sell 1.8265
MYR THB buy 8.1624
MYR THB sell 8.3723
NOK THB buy 3.5899
NOK THB sell 3.6561
NPR THB buy 0.2206
NPR THB sell 0.2227
NZD THB buy 18.9338
NZD THB sell 19.5425
OMR THB buy 87.2584
OMR THB sell 88.1065
PGK THB buy 7.3874
PGK THB sell 7.4592
PHP THB buy 0.5099
PHP THB sell 0.5436
PKR THB buy 0.1213
PKR THB sell 0.1225
PLN THB buy 8.5241
PLN THB sell 8.607
QAR THB buy 9.2166
QAR THB sell 9.3062
RUB THB buy 0.4158
RUB THB sell 0.4198
SAR THB buy 8.9516
SAR THB sell 9.0386
SEK THB buy 3.3622
SEK THB sell 3.4251
SGD THB buy 26.0764
SGD THB sell 26.6624
TWD THB buy 1.0309
TWD THB sell 1.0409
USD THB buy 33.5945
USD THB reference 33.745
USD THB sell 33.921
VND THB buy 0.0013
VND THB sell 0.001313
ZAR THB buy 2.0182
ZAR THB sell 2.0378

Node.js / TypeScript client

A dedicated zero-dependency npm package wraps these endpoints — bank-of-thailand-exchange-rate:

npm install bank-of-thailand-exchange-rate
import { getRate } from 'bank-of-thailand-exchange-rate';

const pair = await getRate('USD', 'THB', { apiKey: 'art_live_...' });
console.log(pair.rate, pair.rate_date);

Zero dependencies, TypeScript types included, and it runs anywhere fetch exists — Node 18+, Bun, Deno, and edge runtimes.

Full reference — installation, all four functions, response shapes, error codes: bank-of-thailand-exchange-rate documentation.

Why use the official Bank of Thailand rate?

Live market rates move continuously, but tax filings, customs declarations, audits, and statutory accounting in Thailand and beyond typically require the official rate published by Bank of Thailand for a given date — a fixed, citable number that never changes after publication. This API serves those published tables with the bank's own rate_date on every response; weekends and holidays return the most recent published date, which is the rate compliance rules require you to apply.

If a pair isn't in the bank's published table, the API computes it from that table (inverse or cross via THB) and marks it "derived": true — published and computed values are never silently mixed.

Endpoints

Full parameter reference in the API documentation. Every request counts toward your plan's monthly quota — rates change once per business day, so caching a published table locally makes a small quota go far.

Frequently asked questions

Can I get Bank of Thailand exchange rates via an API?

Yes — this API serves the bank's official daily THB rates as JSON, and the latest table is on every plan, free included.

When do new rates appear here?

Once per business day, per Bank of Thailand's own schedule; ingestion follows within the hour (latest table: 2026-10-27).

Are these the official rates?

Yes — ingested from Bank of Thailand's own published data, served unmodified with the bank's publication date. Anything computed rather than published is flagged derived.

Bank of Thailand rates, one API key

Latest table on every plan. History back to 2002 on paid plans. No credit card to start.

Get Free API Key Read the Docs