exchangerate.host FX Rates Scraper avatar

exchangerate.host FX Rates Scraper

Pricing

from $24.38 / 1,000 results

Go to Apify Store
exchangerate.host FX Rates Scraper

exchangerate.host FX Rates Scraper

Scrapes live and historical exchange rates from exchangerate.host for any base currency and up to 165+ targets. Returns each rate as a flat row with base, target, value, and timestamp.

Pricing

from $24.38 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

14 days ago

Last modified

Share

ParseForge

exchangerate.host FX Rates Scraper

Scrape live and historical exchange rates for 165+ currencies from exchangerate.host, up to a million per run. Every rate comes with the base, target, and timestamp. No API key or registration. Export to CSV, JSON, Excel, or XML.

Free FX rate APIs often throttle, require keys, or limit the currencies you can pull in one call. This Actor reads the public exchangerate.host endpoints directly, lets you pick any base currency and filter to specific targets, and returns each rate as a clean row. It works for both the latest live rates and any single historical date.

Who uses itWhat they scrape exchangerate.host for
Fintech developersPopulating a currency conversion table with fresh rates every hour.
E-commerce operatorsPulling daily rates to update multi-currency pricing on a store.
Data analystsBuilding a time series of historical FX rates for backtesting models.
Travel platformsFeeding a fare calculator with the latest exchange rates for 165+ currencies.

What it does

This Actor collects exchange rates from exchangerate.host for a chosen base currency and date, and returns each rate as a flat row.

  • ๐Ÿ’ฑ Latest live rates: pull the most recent exchange rates for your base currency, refreshed throughout the day.
  • ๐Ÿ“… Historical single date: request rates for any past business day by providing a YYYY-MM-DD date.
  • ๐ŸŽฏ Target currency filter: return only the currencies you need, or leave empty to get all 165+ in one run.
  • ๐Ÿ“Š Flat row output: every rate is a single row with base, target, rate value, and timestamp, ready for spreadsheets.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with exchangerate.host data

๐Ÿ’ฑ Keep a multi-currency store up to date.

An e-commerce manager runs the Actor daily with base USD and target EUR, GBP, CAD to update product prices before the morning pricing batch.

๐Ÿ“ˆ Backtest a trading strategy.

A quant pulls historical EUR/USD rates for every business day of 2023, one date per run, and feeds the CSV into a Python backtesting script.

๐Ÿงพ Build an invoice tool.

A freelance developer uses the Actor to fetch the latest GBP to INR rate and embeds it in an invoicing microservice that bills clients in their local currency.

๐ŸŒ Power a travel fare calculator.

A travel startup runs the Actor every hour for base USD against 50 destination currencies, then caches the rates to show live converted prices on search results.

Why choose this scraper

What you get
No API keyReads public endpoints with zero registration or token management.
165+ currenciesCovers all ISO 4217 codes the source supports, from majors to exotics.
Latest or historicalOne Actor handles both live rates and any single past date.
Flat, predictable schemaEvery run returns the same columns, no nested JSON to unpack.

How it compares

No other Store actor targets exchangerate.host the same way, so the honest comparison is with the alternatives teams actually weigh.

exchangerate.host FX Rates ScraperBuild it in-houseBy hand
SetupRun it now, zero configDays of engineeringNone, but hours per pull
When exchangerate.host changesMaintained for youYou fix itYou re-learn the page
Proxies, retries, anti-botBuilt inYour problemBrowser only
OutputFixed JSON schema, CSV/Excel exportWhatever you buildCopy-paste
CostPay per resultEngineering timeAnalyst hours

Configure the run

Drive the Actor with a base currency, an optional list of target currencies, and a date for historical mode. Filters run on the API side so only the rates you request land in your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
"mode": "latest",
"baseCurrency": "USD",
"maxItems": 10
}

A larger pull:

{
"mode": "latest",
"baseCurrency": "USD",
"maxItems": 200
}

Pricing

Pay-per-result: $0.0325 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$3.25
1,000 results$32.50
10,000 results$325.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the exchangerate.host FX Rates Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to exchangerate.host through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/exchangerate-host-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting an empty dataset?

Check that your base currency is a valid ISO 4217 code and that the target currencies list, if used, contains supported codes. For historical mode, verify the date format is YYYY-MM-DD and the date is not in the far future.

The run failed with an error.

Look at the run log. Common causes are an invalid currency code or a date the source cannot resolve. Try the default USD base with no target filter and latest mode to isolate the issue.

I only got one row but I expected many.

If you set a target currencies filter, the Actor returns only those pairs. Leave the field empty to get all 165+ rates. Also check the maxItems setting is high enough.

The rates look stale.

The Actor returns whatever the exchangerate.host API provides at call time. Rates are typically updated once per business day. Run the Actor during market hours for the freshest data.

Can I get rates for a range of dates?

This Actor handles one date per run. To collect a range, schedule multiple runs with different date inputs, or use Apify's API to loop through dates programmatically.

FAQ

QuestionAnswer
Do I need an API key for exchangerate.host?No. This Actor reads the free public endpoints that do not require authentication. You can start scraping immediately.
How many currencies can I pull in one run?The source supports 165+ ISO 4217 codes. You can return all of them by leaving target currencies empty, or filter to a subset.
Can I get rates for a specific date in the past?Yes. Switch the mode to Historical, set the date field to YYYY-MM-DD, and the Actor will return rates for that day if the source has them.
What base currencies are supported?Any ISO 4217 code the source covers, such as USD, EUR, GBP, JPY, or CHF. The default is USD.
How fresh are the latest live rates?The Actor calls the exchangerate.host latest endpoint directly. Rates are updated by the source throughout the trading day; the Actor returns whatever is current at call time.
Can I schedule this to run every hour?Yes. Use Apify's scheduler to run the Actor on a cron expression, and it will pull fresh rates each time.
What output formats do I get?You can export your dataset to CSV, JSON, Excel, or XML from the Apify run console.
Does this work for cryptocurrency rates?exchangerate.host focuses on fiat currencies. If the source adds crypto pairs, the Actor will return them, but check the source documentation for current coverage.
What happens if I request a date with no data, like a weekend?The source typically returns the last available business day rate. The Actor will pass through whatever the API responds with.
Is there a rate limit?The public exchangerate.host endpoints are rate-limited by the source. The Actor makes one request per run, so normal usage stays well within limits.

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by exchangerate.host. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.