Exchange Rate & Currency Data Scraper avatar

Exchange Rate & Currency Data Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Exchange Rate & Currency Data Scraper

Exchange Rate & Currency Data Scraper

Get real-time and historical exchange rates for 160+ currencies powered by ECB data. Latest rates with auto failover, historical lookups, and time series analysis. No API key needed. For e-commerce, forex, and financial dashboards.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

cloud9

cloud9

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

17 hours ago

Last modified

Categories

Share

Get real-time and historical exchange rates for 160+ currencies powered by ECB data. Latest rates with auto failover, historical lookups, and time series analysis. No API key needed. For e-commerce, forex, and financial dashboards.

The dataset holds two row shapes depending on mode. latest and historical return one row per run with a nested rates object; timeSeries returns one flat row per date and currency (base, date, currency, rate). Billing is per row, so timeSeries costs more than the other two modes.

Use cases

  • Convert multi-currency e-commerce revenue into one reporting currency
  • Refresh product prices daily in international storefronts
  • Backfill historical FX rates for accounting reconciliation
  • Chart currency trends over a custom date range
  • Add live FX conversion to invoices or dashboards

Input

ParameterTypeRequiredDefaultDescription
modestringYes"latest"Scraping mode: latest rates, historical rates for a specific date, or time series over a date range Allowed: latest, historical, timeSeries.
baseCurrencystringNo"USD"Base currency code (e.g., USD, EUR, JPY)
targetCurrenciesstringNo"EUR,JPY,GBP"Comma-separated target currency codes to include (e.g., EUR,JPY,GBP). Leave empty to include all available currencies.
datestringNo"2024-01-01"Date for historical mode (YYYY-MM-DD format)
startDatestringNo"2024-01-01"Start date for time series mode (YYYY-MM-DD format)
endDatestringNo"2024-12-31"End date for time series mode (YYYY-MM-DD format)

Example input

{
"mode": "latest",
"baseCurrency": "USD",
"targetCurrencies": "EUR,JPY,GBP",
"date": "2024-01-01",
"startDate": "2024-01-01",
"endDate": "2024-12-31"
}

Output

The exact fields depend on the mode you run. This is real output from an actual run of this Actor:

{
"base": "USD",
"date": "2026-09-09",
"rates": {
"EUR": 0.860279,
"JPY": 153.817506,
"GBP": 0.738452
},
"provider": "open.er-api.com",
"scrapedAt": "2026-09-09T13:18:01.568Z"
}
FieldType
basestring
datestring
ratesobject
providerstring
scrapedAtstring

The dataset also ships a preset table view (Rates), so the key columns are readable straight away in Apify Console, and exportable to JSON, CSV, Excel, or XML.

How to run it

In Apify Console — open the Actor, fill in the input form, click Start, then download the results from the Dataset tab.

With the JavaScript client

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('cloud9_ai/exchange-rate-scraper').call({
"mode": "latest",
"baseCurrency": "USD",
"targetCurrencies": "EUR,JPY,GBP",
"date": "2024-01-01",
"startDate": "2024-01-01",
"endDate": "2024-12-31"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

With the Python client

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('cloud9_ai/exchange-rate-scraper').call(run_input={
"mode": "latest",
"baseCurrency": "USD",
"targetCurrencies": "EUR,JPY,GBP",
"date": "2024-01-01",
"startDate": "2024-01-01",
"endDate": "2024-12-31"
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

With the APIPOST https://api.apify.com/v2/acts/cloud9_ai~exchange-rate-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN with the input JSON as the body.

Notes and limits

  • No API key, account, or login is needed — just the input above.
  • Requests are paced and failed requests are retried automatically, so runs stay inside the source's rate limits.
  • Only publicly available data is collected. How you use the output is your responsibility, including the source's terms of use and any applicable data-protection law.

Support

Found a bug, or need a field that isn't in the output? Open an issue on the Issues tab of this Actor in Apify Console. Issues there are read and answered.

License

Apache-2.0