FX Rates & History
Pricing
from $0.08 / 1,000 results
FX Rates & History
Latest and historical foreign exchange rates (ECB reference data) as clean, typed dataset records. Timeseries, single-date, and conversion modes. No API key required.
Pricing
from $0.08 / 1,000 results
Rating
0.0
(0)
Developer
Cynix Dev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Foreign exchange rates — latest, historical, full time series, or a direct conversion — built on European Central Bank reference data. Clean typed records, no API key, no per-call pricing.
What it does
Four modes from one input form:
latest— today's reference rates for your base currency.historical— the rates for one specific date.timeseries— every business day betweenstartDateandendDate, one record per currency per day.convert— convert anamountfrombaseintoto.
The data is ECB reference data, the same series central banks, auditors and accounting systems treat as authoritative — which matters when a number has to survive review.
Features
- Four modes — latest, single historical date, date-range time series, and conversion.
- ECB reference data — an authoritative, citable source rather than an anonymous aggregator.
- Any base currency —
EUR,USD,GBP,AUDand the rest of the published set. - Currency filter — request only the pairs you need via
symbols, or leave it empty for all. - Tidy long-format output — one row per currency per date, which drops straight into pandas or SQL.
- No API key and no rate-limit tier to manage.
What people use it for
- Invoicing and accounting — pin the exact rate for the date a transaction settled.
- Multi-currency reporting — normalise revenue from several regions to one currency.
- Backtesting and research — pull years of daily rates as a clean time series.
- Price localisation — refresh conversion rates on a schedule for a storefront.
- Agent tooling — a dependable currency-conversion tool for an LLM workflow.
The four modes
{ "mode": "latest", "base": "EUR", "symbols": ["USD", "GBP", "AUD"] }
{ "mode": "historical", "base": "USD", "date": "2024-03-15" }
{ "mode": "timeseries", "base": "EUR", "symbols": ["USD"],"startDate": "2026-01-01", "endDate": "2026-06-30" }
{ "mode": "convert", "base": "GBP", "to": "JPY", "amount": 250 }
Business days only
The ECB publishes on TARGET business days, so weekends and European bank holidays have no rate of their own. A timeseries range simply skips those dates, and a historical request for a weekend resolves to the most recent published day. For daily-average accounting, use the series and carry the previous close forward.
Input
mode and base are required. Which of the remaining fields matter depends on the mode: date for historical, startDate/endDate for timeseries, amount/to for convert.
| Field | Type | Default | What it does |
|---|---|---|---|
mode (required) | string | latest | What to fetch: latest rates, a single historical day, a time series range, or a one-off conversion. Options: latest, historical, timeseries, convert. |
base (required) | string | EUR | 3-letter ISO code, e.g. EUR, USD, GBP. |
symbols | array | [] | 3-letter ISO codes to fetch. Leave empty for all available currencies. |
date | string | — | YYYY-MM-DD. Required when mode = historical. |
startDate | string | — | YYYY-MM-DD. Required when mode = timeseries. |
endDate | string | — | YYYY-MM-DD. Defaults to the most recent business day. |
amount | integer | 1 | Amount of base currency to convert when mode = convert. |
to | string | — | Target 3-letter ISO code when mode = convert. |
Input example
{"mode": "latest","base": "EUR","amount": 1}
Output
Long-format records: each row is one currency's rate against the base on one date, tagged with the mode that produced it.
Every dataset record contains: mode, base, currency, rate, date, fetchedAt.
Output example
A real record from a run of this Actor:
{"mode": "latest","base": "EUR","currency": "AUD","rate": 1.6401,"date": "2026-08-19","fetchedAt": "2026-08-20T02:32:58.185Z"}
Export the dataset as JSON, CSV, Excel, XML or JSONL from the Console, or pull it programmatically through the Apify API and any of the official clients.
How to use it
- Click Try for free (or Start if you already have an Apify account).
- Fill in the input fields described above — the defaults already produce a working run.
- Press Start and watch the log; results stream into the dataset as they are found.
- When the run finishes, open the Output/Storage tab and export as JSON, CSV or Excel.
Runs can be scheduled (hourly, daily, weekly) and wired into Slack, Google Sheets, Zapier, Make, webhooks or your own backend through Apify integrations. Everything the Console does is also available over the Apify API.
Pricing
This Actor is billed on Apify's pay-per-event model: a small charge when a run starts, plus a charge for each result written to the dataset. You only pay for records you actually receive — a run that finds nothing costs only the start event. Current rates are always shown on the Pricing tab of this page, and the run log prints your usage as it goes.
Free-plan credits from Apify cover a large amount of light usage, so you can evaluate the Actor before committing to anything.
FAQ
Which currencies are covered?
The ECB reference set — roughly 30 major and regional currencies including USD, GBP, JPY, CHF, AUD, CAD, CNY, SEK, NOK, PLN and more. Leave symbols empty to see everything available for your base.
Are these rates suitable for accounting?
ECB reference rates are widely accepted for reporting and are commonly cited by tax authorities and auditors. They are daily reference fixings, not tradeable quotes — they include no bid/ask spread, so don't use them as execution prices.
Why is there no rate for a weekend date?
The ECB only publishes on business days. That's a property of the source data, not a gap in the Actor.
How far back does history go?
The ECB series extends back to 1999 for most major currencies. Very long ranges produce a lot of records — one per currency per day — so filter with symbols when pulling multi-year series.
Can I use it for crypto?
No — this is fiat central-bank data. For crypto pricing, see the CoinGecko Markets Actor listed below.
Other Actors by cynix_dev
| Actor | What it does |
|---|---|
| arXiv Papers Extractor | Search arXiv and extract papers as clean typed records: title, abstract, authors, categories, DOI, and direct PDF links. |
| CoinGecko Markets — Crypto Data API | Live cryptocurrency market data from CoinGecko as clean typed JSON: price, market cap, volume, 24h change, ATH/ATL, … |
| USGS Earthquakes — GeoJSON Extractor | Pull live and historical earthquakes from the USGS FDSN event service as clean typed JSON: magnitude, place, time, lat/lon/depth, … |
| Launch Library 2 — Rocket Launch Tracker | Upcoming, previous, and specific rocket launches from The Space Devs' Launch Library 2 API. |
| Open Food Facts Extractor | Search and extract food-product data from Open Food Facts as clean typed JSON: name, brand, ingredients, allergens, nutrition … |
| CoinGecko Markets — Crypto Data API | Live cryptocurrency market data from CoinGecko as clean typed JSON: price, market cap, volume, 24h change, ATH/ATL, … |
| SEC EDGAR Filings Extractor | Search and extract SEC EDGAR filings: full-text search across all filings or company filing histories by CIK. |
Legal and responsible use
This Actor collects only publicly available information. You are responsible for how you use the data, including compliance with the target site's Terms of Service, robots directives, copyright, and data protection law such as GDPR and CCPA. Do not use it to gather personal data without a lawful basis.
Support and feedback
Found a bug, hit a site change, or need an extra field? Open a ticket on the Issues tab of this Actor — issues are read and fixed. Feature requests and custom-scraper enquiries are welcome through the same channel.