7 Best Central Bank Exchange Rate APIs in 2026 (Ranked & Compared)
Market-rate APIs are a solved problem — we ranked those in our free currency API comparison. Official central bank rates are a different job. When an accountant, auditor, tax authority, or contract clause asks for "the ECB rate on 14 March" or "the Banxico FIX for the invoice date", a live market feed is the wrong tool: you need the number the bank itself published, under the bank's own publication date, reproducible years later.
The catch is that central banks are institutions, not API companies. A few run genuine JSON APIs; most publish XML files, CSV downloads, SDMX endpoints, or HTML tables that change without notice. This ranking compares the feeds a developer actually ends up integrating in 2026 — what each covers, what it costs in glue code, and where each one breaks.
The ranking at a glance
| # | API | Coverage | Format | History | Key needed |
|---|---|---|---|---|---|
| 1 | AllRatesToday Central Bank API | 35 central banks + 2 tax authorities | JSON, one shape for all | Deep, varies by bank (Banxico to 1993) | Free key |
| 2 | ECB reference rates | 1 bank, ~30 currencies vs EUR | XML / CSV / SDMX | To 1999 | No |
| 3 | Bank of Canada Valet | 1 bank, ~23 currencies vs CAD | JSON REST | To 2017 (daily series) | No |
| 4 | Banco de México SIE | 1 bank, USD/MXN FIX + info rates | JSON REST | To 1993 | Registered token |
| 5 | Sveriges Riksbank SWEA | 1 bank, ~30 series vs SEK | JSON REST | To 1993 | No (tight rate limits) |
| 6 | Fed H.10 release | 1 bank, ~2 dozen currencies vs USD | CSV / data portal | To 1971 | No |
| 7 | Bank of England IADB | 1 bank, daily spot vs GBP | CSV via query URL | Decades | No |
1. AllRatesToday Central Bank API — every bank, one integration
The structural problem with official rates is not any single bank — it is that every bank is different. Different formats, different publication times, different holiday behaviour, different quoting conventions (EUR per unit at the ECB, CHF per 100 JPY at the SNB, monthly-only in Switzerland, quarterly at the US Treasury). Integrate three banks directly and you own three scrapers plus a small research project; integrate ten and it is a part-time job.
This API collapses that into one surface: 35 central banks and 2 tax authorities (HMRC, US Treasury), each ingested from the bank's own published data shortly after publication, served unmodified under the bank's own rate_date:
curl "https://allratestoday.com/api/v1/central-bank/ecb/latest?source=EUR&target=USD" \
-H "Authorization: Bearer YOUR_API_KEY" Swap ecb for fed, boe, banxico, rbi, snb — the request and response shape never change. Weekends and holidays resolve to the most recent published table and are flagged explicitly, pairs the bank never printed are computed from its table and marked derived: true, and each bank ships a dedicated zero-dependency npm package (ecb-exchange-rate, fed-exchange-rate, and so on).
Free tier: every bank's latest published table, 300 requests/month, no credit card. Historical dates and time series are on paid plans.
Weakness: if you need exactly one bank forever and that bank has a good native API, going direct saves you a dependency — which is what the rest of this list is for.
2. ECB reference rates — the gold standard, in XML
The European Central Bank publishes euro foreign exchange reference rates for around 30 currencies each working day around 16:00 CET. The data is impeccable and the licence is generous; this is the reference rate half of European accounting runs on. Delivery is the weak spot: a daily XML file, CSV dumps, or the SDMX-JSON statistical API, which is powerful but built for statisticians rather than application developers. You will write a parser, and you will handle TARGET closing days yourself. Our ECB guide covers the details, and "Is the ECB API free?" answers the pricing question at length.
3. Bank of Canada Valet — what a central bank API should look like
The Valet API is the best native central bank API in the world: clean JSON REST, sensible series names, daily noon rates for ~23 currencies against CAD, no key, no fuss. If your world is Canadian dollars, use it directly. Its limits are simply scope — one bank, CAD-only view, daily series since 2017 — and the fact that its conventions (series like FXUSDCAD) are its own.
4. Banco de México SIE — excellent data behind a token
Banxico's SIE API serves the FIX rate — the number that legally settles USD obligations in Mexico — with history to 1993, as JSON. It costs nothing, but requires registering for a token, storing a credential, and living with its distinctive series-ID scheme (SF43718 is USD/MXN FIX; nothing about the name tells you that). Fine as a single integration; friction as one of many. Our Banxico guide has the full picture.
5. Sveriges Riksbank SWEA — good JSON, tight throttle
Sweden's Riksbank publishes mid rates for ~30 currencies against SEK through a genuine JSON API with history back to 1993. The catch is an anonymous rate limit strict enough that fetching the full daily table takes deliberate pacing — fine for a nightly job, painful for anything interactive. One series per currency also means one request per currency.
6. Fed H.10 — authoritative, but it's a statistical release
The Federal Reserve's H.10 release is the official US record of dollar exchange rates, with history to 1971. It is not an API: it is a weekly statistical release (each Monday, covering the prior week's business days) with CSV downloads from the Fed's data portal. Fine for research; awkward for an application that wants today's number today. Details in our Fed guide.
7. Bank of England IADB — the data is there, somewhere
The BoE's Interactive Database holds daily spot rates against sterling going back decades, retrievable as CSV through query URLs whose parameters read like a legacy terminal session. It works, it is official, and every integration against it is a small act of archaeology. Our Bank of England guide documents the working incantations.
How to choose
- One bank, forever, with a real API (Canada, Sweden, Czechia): go direct. It is free and authoritative.
- One bank whose delivery is files (ECB, Fed, BoE, most others): decide whether owning a parser and its holiday edge cases is worth avoiding a dependency.
- Two or more banks, or compliance use (multi-country invoicing, audit trails, IFRS/tax reporting): a unified API pays for itself almost immediately — the per-bank differences are precisely the part you do not want to maintain.
- Customs or tax filings: those often require a tax authority's rate, not a central bank's — see which rate customs and tax filings require.
FAQ
What is the best central bank exchange rate API?
For a single bank, the bank's own feed is authoritative, and the Bank of Canada's Valet API is the best-engineered of them. For more than one bank, AllRatesToday serves 35 central banks and 2 tax authorities through one endpoint shape and one key, latest table free.
Are central bank exchange rates free?
Almost universally, yes — publication is part of the banks' public mandate. What varies is the engineering cost of consuming them: XML, CSV, SDMX, tokens, throttles, and holiday quirks. Free aggregated access exists too: every bank's latest table is on AllRatesToday's free tier.
Why not just use a market-rate API?
Because "what does EUR/USD trade at?" and "which rate must this invoice use?" are different questions. Official reference rates are fixed once per publication, citable to a source and date, and reproducible in an audit. If you need live rates instead, that comparison is over here.
35 central banks. One API key.
Every bank's latest published table is free — 300 requests/month, no credit card.
Get your free API key