AllRatesToday: Global Currency Intelligence Infrastructure
Ask "what is the euro worth in Sri Lankan rupees today?" and there are at least three correct answers. The market says one number, the Central Bank of Sri Lanka says another, and the bank down the road buys at one price
Ask "what is the euro worth in Sri Lankan rupees today?" and there are at least three correct answers. The market says one number, the Central Bank of Sri Lanka says another, and the bank down the road buys at one price and sells at a third. AllRatesToday exists to serve all of them, side by side, each with its source attached.
A currency has more than one rate
Most exchange rate APIs give you one number per currency pair, usually a blended market estimate with no stated source. That's fine for a price tag on a shopping site. It isn't fine for most of the places money actually moves:
- A VAT return or customs declaration has to use the rate the tax authority or central bank sets, such as HMRC's monthly rate in the UK or the CBIC's notified rate for Indian customs.
- An audited set of accounts has to show which rate was used for each date, and where it came from.
- To see what a remittance really cost, you have to compare against the buy rate the receiving bank posted that day, not the mid-market rate.
- An AI agent that books travel or prices an invoice has to know which of these numbers its user is asking for.
We call the answer currency intelligence infrastructure: every rate that matters, from the institution that sets it, delivered in a form software can depend on.
Three layers, one API
| Layer | Coverage | Answers |
|---|---|---|
| Market rates | Live mid-market rates for 160+ currencies, plus history | "What is it worth right now?" |
| Official rates | The official tables of 123 central banks and 6 tax authorities | "What rate does the law tell me to use?" |
| Bank boards | Buy and sell rates from 170 commercial banks in 53 countries, collected every hour | "What will my bank actually give me?" |

The ECB in Frankfurt, one of the 123 central banks whose official rates AllRatesToday serves.
Putting all three behind one key, one response format and one set of SDKs means a team doesn't have to stitch together a market feed, a dozen central-bank scrapers and a spreadsheet of bank rates.
The layers stay separate on purpose. A bank's board is never labelled official, and a market estimate is never passed off as a central bank's rate. The rate type is part of the data, not a footnote.

Bank and exchange-office boards: the buy and sell prices customers actually get.
What makes it infrastructure, not just a feed
A rate is only useful if you can trust it, cite it and plan around it. Four things are built into every response.
1. Every rate has a source. Official responses carry the institution, the date the rate belongs to, the rate type and a link to the issuer's own page. A finance team can cite the rate, an auditor can check it again and a developer can write tests against it.
2. Timing is part of the data. Central banks publish at different times, in different time zones, and some only weekly. Every central-bank response includes available_by_utc, so a scheduler knows when today's table will exist instead of polling. stale and age_days fields show when a bank skipped a day for a holiday, so last week's rate is never served as if it were today's.
3. It fits the stack you already have. JSON, CSV, XML and XLSX from every table endpoint. Official SDKs for JavaScript, Python, PHP, Go and Rust, plus one small package per central bank. Drop-in endpoints that match the response shapes of Fixer, exchangeratesapi.io and Frankfurter, so switching means changing a base URL.
4. It is open to inspection. The central-bank tables are published daily on GitHub and mirrored to Hugging Face and Kaggle under CC BY-NC 4.0. Anyone can audit what we serve without creating an account.
A call to the official layer looks like this:
curl "https://allratestoday.com/api/v1/central-bank/cbsl/latest" \
-H "Authorization: Bearer YOUR_API_KEY"
One endpoint, any of the 123 central banks: swap cbsl for ecb, rbi, boe or another code from the institutions list. The same table is also available as a live image for READMEs and dashboards that can't run code.

Rates software can depend on: sourced, timed and machine-readable.
Built for three kinds of user
| User | What they need | What AllRatesToday gives them |
|---|---|---|
| Developers | A fast, predictable rate API that doesn't break | Real-time rates, SDKs in five languages, drop-in compatibility and a free API key with no credit card |
| Finance and tax teams | The rate the regulator or auditor expects, with proof | Official central-bank and tax-authority tables with their source attached, history, and spreadsheet-ready formats |
| AI agents | Tools they can call without a human writing integration code | MCP servers, a hosted remote MCP endpoint, a ChatGPT app and a Claude Code plugin |
Where we're going
The goal is simple to state: if an institution sets an exchange rate that someone, somewhere, is required or likely to use, AllRatesToday should serve it, with its source, on time, in a format their software already reads.
That plan has three parts:
- Wider coverage. More central banks, especially where there is still no machine-readable source; more tax and customs authorities, whose rates filings depend on; and more commercial banks in the countries where people actually compare bank rates before sending money.
- Deeper history. Longer back series for the official tables and for bank boards, so "what was the rate on 31 March?" has an answer for every source, not only the large ones.
- Answers, not just numbers. Pages and tools that explain which rate a given filing, contract or country requires, so users and agents pick the right layer in the first place.
What won't change: rates come from the institutions that set them, each rate type keeps its own label, and the gaps are visible. If a source goes stale or a bank stops publishing, the data says so.
Our principle: a number without a source is a guess. We'd rather ship fewer rates we can stand behind than more we can't.
Get a free API key (no credit card), browse the Central Bank Exchange Rate API and the Bank Exchange Rate API, or follow @Allratestoday for new sources as they land.
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.