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

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

160+

Market rates

Live mid-market rates for 160+ currencies, plus history, for converters, checkouts, dashboards and pricing.

129

Official rates

The official tables of 123 central banks and 6 tax authorities, unchanged from the issuer, for tax, customs, audit and accounting.

170

Bank boards

The buy and sell rates 170 commercial banks in 53 countries post for their own customers, collected every hour.

Each layer answers a different question. The market layer answers "what is it worth right now?" The official layer answers "what rate does the law tell me to use?" The bank layer answers "what will my bank actually give me?" 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.

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. Connectors for Zapier, n8n, Pipedream, Google Sheets, WordPress and the main accounting systems.

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.

Built for three kinds of user

UserWhat they needWhat AllRatesToday gives them
DevelopersA fast, predictable rate API that doesn't breakReal-time rates, SDKs in five languages, drop-in compatibility and a free API key with no credit card
Finance and tax teamsThe rate the regulator or auditor expects, with proofOfficial central-bank and tax-authority tables with their source attached, history, and spreadsheet-ready formats (see for finance teams)
AI agentsTools they can call without a human writing integration codeMCP 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.

  1. 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.
  2. 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.
  3. 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.

Frequently Asked Questions

What does "currency intelligence infrastructure" mean?

It means treating exchange rates as shared infrastructure, not as one number pulled from a feed. AllRatesToday serves three kinds of rate through one API: the live market rate, the official rates set by 123 central banks and 6 tax authorities, and the buy and sell rates that 170 commercial banks post for their customers. Each response says where the rate came from, which date it belongs to and when it was published.

Why would I need more than one exchange rate?

Because different jobs need different rates. A checkout page or dashboard needs the live market rate. A tax return, customs declaration or audited set of accounts has to use the official rate of the relevant authority. Working out what a transfer actually cost means comparing against the buy and sell rates a bank posted that day. Mixing these up is a common source of reconciliation errors.

Are commercial bank rates the same as official rates?

No. A commercial bank's board is the price that bank charges its own customers, and it varies from bank to bank. An official rate is set by a central bank or tax authority and is the rate filings refer to. AllRatesToday keeps the two in separate products and endpoints and never labels a bank board as official.

Can AI agents use AllRatesToday?

Yes. There are MCP servers on npm, a hosted remote MCP endpoint, a ChatGPT app and a Claude Code plugin, so an assistant can look up and convert rates, or fetch a central bank's official table, without custom integration code.

Is the data open?

The central-bank tables are published daily as CSV on GitHub and mirrored to Hugging Face and Kaggle under CC BY-NC 4.0, so anyone can audit them without an account. The API adds real-time rates, history, extra formats and the reliability that production systems need.

Build on all three layers

Market rates, official central-bank and tax-authority rates, and commercial bank boards, from one API key.

Get Your Free API Key

Related Articles