Currency Rates Scraper
Exchange rates for any pair — today, or every day since 1999.
Pay per result on Apify. Runs that return nothing cost nothing; Apify's free plan includes $5 of usage a month, and Apify Bronze, Silver and Gold subscribers get 10%, 20% and 30% off.
Ask for USD → EUR, GBP, JPY and get one row per pair with the rate, the inverse rate, a converted amount and the move in percent. Ask for a date range and get the same row for every day the rate was published — 27 years of a pair is one request and about 7,100 rows.
Two sources, chosen for you: the European Central Bank's reference rates (29 currencies, every business day back to 4 January 1999, including the currencies the euro replaced) and an open global feed of 165 currencies for today. Weekly, monthly and yearly intervals collapse the daily series into one row per period with its open, high, low and average.
What you get
- • Daily history back to 1999 in one request
- • 165 currencies for today's rates
- • Weekly, monthly and yearly periods with open, high, low and average
- • Inverse rate and converted amount on every row
- • Monitored daily
Typical uses
- • Invoices and accounting at the rate of the day
- • Backfilling an FX series for a model or a dashboard
- • Multi-currency price lists that refresh on a schedule
- • Giving an AI agent today's rates through MCP
Output
| date, base, quote, pair, source | Which rate, and where it came from |
| rate, inverseRate, amount, converted, changePct | The numbers |
| interval, period, open, high, low, average, days | Weekly, monthly and yearly rows |
| baseName, quoteName, periodStart, periodEnd, scrapedAt | Context for a CSV |
Run it from code
Same Actor, same output, from your own scripts (any language) or from n8n, Make and Zapier.
curl -X POST "https://api.apify.com/v2/acts/chorelet~currency-rates-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"baseCurrencies":["EUR"],"quoteCurrencies":["USD"],"dateFrom":"2016-01-01","interval":"monthly"}'