If you have ever needed "the ECB rate on the invoice date" for a tax return, a customs form, a transfer-pricing file or an audit, you know the problem. The number exists. It is public. And it is scattered across a hundred central-bank websites, each with its own PDF, XML feed, Excel download or HTML table, each with its own idea of which way round a rate should be quoted.
We spent most of this year collecting those tables into one pipeline. As of this week the full history is a public dataset on Hugging Face:
https://huggingface.co/datasets/AllRatesToday/central-bank-exchange-rates
Rows 15,848,587
Institutions 123 central banks + 4 tax authorities
Earliest date 1914 (Swiss National Bank)
Currencies 215 base, 202 quote
Refresh daily, from the GitHub source repo
License CC BY-NC 4.0 (non-commercial, attribution)
Size 515 MB CSV, auto-converted to Parquet
Why "official" rates and not market rates
Most exchange-rate datasets are market data: a mid-market snapshot from some aggregator at some time of…