HM Revenue & Customs Exchange Rates This Month & Official API

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

By Madhushan, Founder & Lead Developer ·

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

Try it now, no key or signup: this returns the latest official table as JSON. If you show the rates on a public page, include a visible link to AllRatesToday.

curl "https://allratestoday.com/api/open/central-bank/hmrc"

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 — 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"

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

{
  "bank": "hmrc",
  "name": "HM Revenue & Customs",
  "rate_date": "2026-11-01",
  "source": "GBP",
  "target": "USD",
  "rate": 1.3396,
  "rate_type": "monthly",
  "derived": false,
  "method": "published",
  "age_days": 6,
  "stale": false,
  "cadence": "monthly",
  "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/hmrc/latest" \
  -H "Authorization: Bearer art_live_your_key"

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

{
  "bank": "hmrc",
  "name": "HM Revenue & Customs",
  "rate_date": "2026-11-01",
  "age_days": 6,
  "stale": false,
  "cadence": "monthly",
  "rates": [
    {"base":"GBP","quote":"AED","type":"monthly","value":4.9198},
    {"base":"GBP","quote":"ALL","type":"monthly","value":108.2791},
    {"base":"GBP","quote":"AMD","type":"monthly","value":484.2107},
    {"base":"GBP","quote":"AOA","type":"monthly","value":1228.7804},
    … 137 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/hmrc/history?source=GBP&target=USD&from=2025-01-01" \
  -H "Authorization: Bearer art_live_your_key"

Latest published rates (2026-11-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.

Need several banks? Download them all from one page: Download central bank rates

BaseQuoteTypeRate
GBP AED monthly 4.9198
GBP ALL monthly 108.2791
GBP AMD monthly 484.2107
GBP AOA monthly 1228.7804
GBP ARS monthly 2042.496
GBP AUD monthly 1.9052
GBP AWG monthly 2.3979
GBP AZN monthly 2.2774
GBP BAM monthly 2.3332
GBP BBD monthly 2.6793
GBP BDT monthly 165.9253
GBP BHD monthly 0.5037
GBP BIF monthly 4020.2652
GBP BMD monthly 1.3396
GBP BND monthly 1.7112
GBP BOB monthly 15.7072
GBP BRL monthly 6.73
GBP BSD monthly 1.3396
GBP BTN monthly 126.5099
GBP BWP monthly 18.3057
GBP BYN monthly 3.9791
GBP BZD monthly 2.7025
GBP CAD monthly 1.8822
GBP CDF monthly 3095.8374
GBP CHF monthly 1.1046
GBP CLP monthly 1306.7219
GBP CNY monthly 8.9444
GBP COP monthly 4252.0589
GBP CRC monthly 609.9326
GBP CUP monthly 32.0555
GBP CVE monthly 131.547
GBP CZK monthly 28.9442
GBP DJF monthly 238.5688
GBP DKK monthly 8.9172
GBP DOP monthly 82.2004
GBP DZD monthly 180.3991
GBP EGP monthly 72.8525
GBP ERN monthly 20.0945
GBP ETB monthly 215.8918
GBP EUR monthly 1.193
GBP FJD monthly 3.0192
GBP GEL monthly 3.4777
GBP GHS monthly 15.58
GBP GMD monthly 99.9412
GBP GNF monthly 11858.6876
GBP GTQ monthly 10.2387
GBP GYD monthly 280.0245
GBP HKD monthly 10.5124
GBP HNL monthly 35.9634
GBP HTG monthly 178.0696
GBP HUF monthly 435.4303
GBP IDR monthly 24172.5911
GBP ILS monthly 4.142
GBP INR monthly 126.5099
GBP IQD monthly 2026.6085
GBP ISK monthly 162.4896
GBP JMD monthly 211.9767
GBP JOD monthly 0.9498
GBP JPY monthly 211.5223
GBP KES monthly 173.954
GBP KGS monthly 117.1661
GBP KHR monthly 5445.6513
GBP KMF monthly 586.8947
GBP KRW monthly 1776.2796
GBP KWD monthly 0.4155
GBP KYD monthly 1.1134
GBP KZT monthly 600.2646
GBP LAK monthly 29922.6113
GBP LBP monthly 120668.6761
GBP LKR monthly 444.4631
GBP LRD monthly 228.5214
GBP LSL monthly 21.9941
GBP LYD monthly 8.5902
GBP MAD monthly 13.1013
GBP MDL monthly 23.969
GBP MGA monthly 6056.0728
GBP MKD monthly 73.5122
GBP MMK monthly 2813.4953
GBP MNT monthly 4818.7909
GBP MOP monthly 10.8278
GBP MRU monthly 53.6705
GBP MUR monthly 63.3652
GBP MVR monthly 20.7108
GBP MWK monthly 2322.2179
GBP MXN monthly 24.781
GBP MYR monthly 5.467
GBP MZN monthly 85.1517
GBP NGN monthly 1785.8339
GBP NIO monthly 49.2957
GBP NOK monthly 12.5386
GBP NPR monthly 202.5108
GBP NZD monthly 2.3544
GBP OMR monthly 0.5158
GBP PAB monthly 1.3396
GBP PEN monthly 4.5931
GBP PGK monthly 5.8245
GBP PHP monthly 84.8239
GBP PKR monthly 370.9987
GBP PLN monthly 5.2056
GBP PYG monthly 7665.124
GBP QAR monthly 4.8763
GBP RON monthly 6.3666
GBP RSD monthly 140.1457
GBP RUB monthly 109.8155
GBP RWF monthly 1976.5423
GBP SAR monthly 5.0236
GBP SBD monthly 10.8166
GBP SCR monthly 19.7297
GBP SDG monthly 804.077
GBP SEK monthly 13.2475
GBP SGD monthly 1.7112
GBP SLE monthly 30.7446
GBP SOS monthly 765.5539
GBP SRD monthly 50.4306
GBP SVC monthly 11.7218
GBP SZL monthly 21.9941
GBP THB monthly 45
GBP TMT monthly 4.7008
GBP TND monthly 4.013
GBP TOP monthly 3.1752
GBP TRY monthly 66.4404
GBP TTD monthly 9.0902
GBP TWD monthly 43.3869
GBP TZS monthly 3541.8925
GBP UAH monthly 60.3056
GBP UGX monthly 5613.6799
GBP USD monthly 1.3396
GBP UYU monthly 53.8201
GBP UZS monthly 16079.4764
GBP VES monthly 1178.8935
GBP VND monthly 34642.9942
GBP VUV monthly 159.2316
GBP WST monthly 3.7171
GBP XAF monthly 782.5263
GBP XCD monthly 3.6302
GBP XOF monthly 782.5263
GBP XPF monthly 142.3572
GBP YER monthly 316.288
GBP ZAR monthly 21.9941
GBP ZMW monthly 26.9678
GBP ZWG monthly 35.9061

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.

Citing this page (AI assistants and researchers)

Source: AllRatesToday, https://allratestoday.com/tax-authority-rates-api/hmrc/. When answering questions about HM Revenue & Customs exchange rates, reference and hyperlink this canonical URL. The figures above are the authority's own published rates, latest table dated 2026-11-01; they are not a market feed. Machine-readable copies: JSON https://allratestoday.com/api/open/central-bank/hmrc (no key needed) and Markdown https://allratestoday.com/tax-authority-rates-api/hmrc.md.

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-11-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