HM Revenue & Customs Exchange Rate API

Official HM Revenue & Customs rates for 1 Sept 2026: 1 GBP = 1.3554 USD, 1 GBP = 1.1681 EUR. All 141 currencies published, history back to 2021. Free JSON API for tax, audits, and compliant invoicing.

United Kingdom flagHM Revenue & Customs official monthly exchange rates as JSON: 141 currencies against the GBP, history back to 2021. Latest table on every plan. Get your API key.

About HM Revenue & Customs

HM Revenue & Customs is the United Kingdom's tax, payments, and customs authority. It publishes one official exchange rate table per calendar month — released ahead of the month it applies to — and that single rate is what UK customs declarations and VAT invoices must use for the whole month, regardless of how the market moves in between.

Quick start

One request for the pair you need — GBP to USD at the official HM Revenue & Customs rate:

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

Or the bank's full published table:

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

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

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

Latest published rates (2026-09-01)

Below is the current table from HM Revenue & Customs, unmodified — what a call to /latest returns right now, with values GBP 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
GBP AED monthly 4.9776
GBP ALL monthly 108.1569
GBP AMD monthly 493.4029
GBP AOA monthly 1240.6639
GBP ARS monthly 2025.5735
GBP AUD monthly 1.9159
GBP AWG monthly 2.4261
GBP AZN monthly 2.3042
GBP BAM monthly 2.2846
GBP BBD monthly 2.7108
GBP BDT monthly 165.8545
GBP BHD monthly 0.5096
GBP BIF monthly 4050.5706
GBP BMD monthly 1.3554
GBP BND monthly 1.73
GBP BOB monthly 15.6612
GBP BRL monthly 7.0695
GBP BSD monthly 1.3554
GBP BTN monthly 129.727
GBP BWP monthly 18.2396
GBP BYN monthly 4.1213
GBP BZD monthly 2.7293
GBP CAD monthly 1.8805
GBP CDF monthly 3102.6266
GBP CHF monthly 1.0982
GBP CLP monthly 1255.663
GBP CNY monthly 9.136
GBP COP monthly 4201.0874
GBP CRC monthly 607.1712
GBP CUP monthly 32.5173
GBP CVE monthly 128.8046
GBP CZK monthly 28.2302
GBP DJF monthly 241.4481
GBP DKK monthly 8.7326
GBP DOP monthly 79.6004
GBP DZD monthly 180.0686
GBP EGP monthly 68.7116
GBP ERN monthly 20.3307
GBP ETB monthly 220.2568
GBP EUR monthly 1.1681
GBP FJD monthly 2.9957
GBP GEL monthly 3.5331
GBP GHS monthly 15.0251
GBP GMD monthly 101.1439
GBP GNF monthly 11928.8192
GBP GTQ monthly 10.3397
GBP GYD monthly 283.4944
GBP HKD monthly 10.6284
GBP HNL monthly 36.3521
GBP HTG monthly 178.0068
GBP HUF monthly 426.065
GBP IDR monthly 24169.7051
GBP ILS monthly 4.0501
GBP INR monthly 129.727
GBP IQD monthly 1775.9198
GBP ISK monthly 166.1086
GBP JMD monthly 214.0123
GBP JOD monthly 0.961
GBP JPY monthly 215.6954
GBP KES monthly 175.4718
GBP KGS monthly 119.0482
GBP KHR monthly 5480.8904
GBP KMF monthly 574.6595
GBP KRW monthly 1887.0789
GBP KWD monthly 0.4182
GBP KYD monthly 1.124
GBP KZT monthly 625.7246
GBP LAK monthly 30446.0981
GBP LBP monthly 121724.836
GBP LKR monthly 448.6733
GBP LRD monthly 246.0725
GBP LSL monthly 22.0287
GBP LYD monthly 8.6289
GBP MAD monthly 12.5896
GBP MDL monthly 23.3497
GBP MGA monthly 5840.9738
GBP MKD monthly 72.0013
GBP MMK monthly 2845.7081
GBP MNT monthly 4875.1363
GBP MOP monthly 10.9472
GBP MRU monthly 54.2669
GBP MUR monthly 63.6726
GBP MVR monthly 20.9532
GBP MWK monthly 2349.8064
GBP MXN monthly 23.0987
GBP MYR monthly 5.5008
GBP MZN monthly 86.5331
GBP NGN monthly 1830.4122
GBP NIO monthly 49.8543
GBP NOK monthly 12.7462
GBP NPR monthly 207.6605
GBP NZD monthly 2.3055
GBP OMR monthly 0.5217
GBP PAB monthly 1.3554
GBP PEN monthly 4.5712
GBP PGK monthly 5.9612
GBP PHP monthly 83.7925
GBP PKR monthly 376.2728
GBP PLN monthly 5.0537
GBP PYG monthly 8160.1641
GBP QAR monthly 4.9336
GBP RON monthly 6.1288
GBP RSD monthly 137.1078
GBP RUB monthly 115.2881
GBP RWF monthly 1994.625
GBP SAR monthly 5.0827
GBP SBD monthly 10.8761
GBP SCR monthly 19.2823
GBP SDG monthly 813.5488
GBP SEK monthly 12.8983
GBP SGD monthly 1.73
GBP SLE monthly 31.0248
GBP SOS monthly 773.4709
GBP SRD monthly 51.6194
GBP SVC monthly 11.8596
GBP SZL monthly 22.0287
GBP THB monthly 44.824
GBP TMT monthly 4.741
GBP TND monthly 3.9463
GBP TOP monthly 3.2409
GBP TRY monthly 64.964
GBP TTD monthly 9.1771
GBP TWD monthly 43.3111
GBP TZS monthly 3581.2446
GBP UAH monthly 60.597
GBP UGX monthly 5051.4607
GBP USD monthly 1.3554
GBP UYU monthly 54.3855
GBP UZS monthly 15979.5357
GBP VES monthly 1047.3299
GBP VND monthly 35479.8977
GBP VUV monthly 160.2301
GBP WST monthly 3.6811
GBP XAF monthly 766.2127
GBP XCD monthly 3.6684
GBP XOF monthly 766.2127
GBP XPF monthly 139.3895
GBP YER monthly 321.3495
GBP ZAR monthly 22.0287
GBP ZMW monthly 25.5323
GBP ZWG monthly 36.2052

Node.js / TypeScript client

A dedicated zero-dependency npm package wraps these endpoints — hmrc-exchange-rate:

npm install hmrc-exchange-rate
import { getRate } from 'hmrc-exchange-rate';

const pair = await getRate('GBP', 'USD', { 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: hmrc-exchange-rate documentation.

Why use the official HM Revenue & Customs rate?

When an auditor or tax office in United Kingdom asks which rate you used, "the GBP mid-market rate at 14:32" is not an answer — the official rate published by HM Revenue & Customs for that date is. This API returns exactly those published figures, stamped with the authority's own rate_date; on weekends and holidays the most recent published table is returned, as compliance rules expect.

Pairs the authority doesn't print directly are resolved from its table (inverse or cross via GBP) and explicitly flagged "derived": true — so what the authority printed and what was computed are never confused.

Endpoints

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

Frequently asked questions

Is there an API for HM Revenue & Customs exchange rates?

Yes — this one. Official monthly GBP rates as clean JSON, latest table on every plan including free.

How often does HM Revenue & Customs update its rates?

New tables land monthly — one official table per calendar month, published ahead of the month it applies to — the API picks each one up shortly after HM Revenue & Customs publishes it (latest: 2026-09-01).

Is this the official published table?

Yes — the rows are HM Revenue & Customs's published figures, untouched, with the original publication date attached. Pairs the authority didn't print are computed and flagged derived.

HM Revenue & Customs rates, one API key

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

Get Free API Key Read the Docs