The most downloaded exchange rate dataset on Hugging Face, six weeks in

Reviewed by Madhushan, Fintech Developer — October 2026
Financial data on a screen

On 2 September we published the full history of official exchange rates from 121 central banks and 3 tax authorities as a dataset on Hugging Face. Six weeks later it is the most downloaded dataset on the Hub for the search "exchange rate", by a wide margin. This post is about what that number means, what it does not mean, and what we learned from the people pulling it.

huggingface.co/datasets/AllRatesToday/central-bank-exchange-rates

The number, with its caveat

Here is the Hugging Face search for "exchange rate", sorted by downloads, as of 11 October 2026. You can reproduce it with one request to huggingface.co/api/datasets?search=exchange%20rate&sort=downloads.

DatasetDownloads (all time)What it is
AllRatesToday/central-bank-exchange-rates5,567Official rates, 124 institutions, 1914 to today
ts-arena/exchange_rate283Time-series benchmark, 8 currencies vs USD
ausapis/rba-daily-exchange-rates123Reserve Bank of Australia daily rates
THULab/exchange_rate91Same benchmark series as ts-arena
ArabovMK/tjk-exchange-rates49National Bank of Tajikistan rates

Two honest qualifications. First, "exchange rate" is not the whole market. Search for "forex" and the retail-trading candle datasets are bigger: AlphaDojo's minute-level kline data has about three times our downloads. Those are price bars for backtesting trading strategies, a different product for a different reader, so we do not count them as competitors, but you should know they exist before repeating "most downloaded" without the qualifier.

Second, and more important: a Hugging Face download is a file request, not a person. Our dataset is 244 files, one CSV per institution plus a JSON snapshot each, and every one of them is rewritten daily. A single scheduled job that pulls the whole repository each morning registers as a couple of hundred downloads a day on its own. We know this because we watched the counter climb in step with our own sync times. So 5,567 downloads is not 5,567 researchers. It is a smaller number of people and pipelines, some of them running on a schedule, which for a dataset that updates every day is exactly the behaviour you would want.

What the downloads told us about who wants official rates

The Hub does not tell us who is downloading. The dataset's Community tab, the GitHub source repository's issues, and the questions that reached our support inbox do. Three patterns stood out.

1. Pipelines, not notebooks

We expected students loading a CSV into pandas. We got cron jobs. The download pattern, the questions about the two-day lag, and requests for a stable file layout all point to automated consumers that re-pull on a schedule and feed something downstream: a forecasting model, an internal reporting table, a reconciliation check. That matches what we see on the API side, where every customer who answered our survey in August was feeding rates to software or an AI agent rather than reading them.

2. The lag was the most-asked question

The Hugging Face mirror deliberately trails the live service by two days. Every file says so in its header, and the dataset card explains why: the mirror is for research, backtesting and training, and the current table is the product we sell. Most people were fine with that once they found the note. The ones who needed today's rate were pointed at the central bank rates API, the keyless open endpoint, or the GitHub repository, which is current and refreshed four times a day. If you only need the ECB table from this morning, you never needed the 500 MB dataset.

3. People want the publisher's number, not a cross rate

The single most common correctness question was some version of "why is there no GBP/JPY row for the ECB?" Because the ECB does not publish one. Every row in the dataset is a rate the institution actually printed, in the direction it printed it. We do not compute crosses and we do not flip rates. That rule costs us convenience and buys us the one property this dataset exists for: you can cite a row to an auditor and it will match the bank's own page.

What the counter does not measure

We also looked at what the dataset did for the business, since that is why we spent the time. In six weeks the Hugging Face page sent effectively zero visitors to allratestoday.com. People who load a dataset with load_dataset never see a web page, so a Hub listing is a distribution channel, not a marketing one. We now put attribution and a link inside every file, which is the only place a programmatic user will ever see it.

That is fine with us. The point of publishing the history under an open licence was to make official rates easy to cite and easy to build on, and to make sure anyone comparing exchange-rate sources finds one that comes from the publishers rather than from an aggregator. By that measure the download count is doing its job.

How to use it well

If you are about to become one of those downloads, three things will save you time.

from datasets import load_dataset
ds = load_dataset("AllRatesToday/central-bank-exchange-rates", "rates")

Licence

CC BY-NC 4.0, unchanged. Free for research, teaching, personal projects and journalism, with visible credit to AllRatesToday linking to allratestoday.com. Commercial use is covered by the Official Rates plan. The figures are public information published by each institution; verify against the source before relying on one for a legal or tax filing.

Need today's table rather than the archive?

The same 124 institutions as an API, queryable by date, pair and publisher. Free tier, no credit card.

Explore the central bank rates API

Related Articles