Currency Exchange Rates Frankfurter
Pricing
from $2.99 / 1,000 results
Currency Exchange Rates Frankfurter
Frankfurter Currency Exchange Rates Scraper is a Python tool designed to extract current and historical reference exchange rates, currency conversions, and time-series data from the open-source Frankfurter API. It exports clean foreign exchange datasets into structured CSV or JSON formats.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
real-estate-api
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Security
Limited permissionsShare
Currency Exchange Rates (Frankfurter) — Historical and Latest FX Rates
Overview
Currency Exchange Rates (Frankfurter) collects exchange rates based on European Central Bank (ECB) reference data through Frankfurter. Choose a base currency, select target currencies, and retrieve the latest rates, a historical date, a date range, or the available currency catalog.
The results can be exported as JSON, CSV, or Excel through the Apify dataset.
Features
- Retrieve the latest available exchange rates.
- Look up rates for a specific historical date.
- Collect exchange-rate time series across a date range.
- Retrieve a catalog of supported currency codes and names.
- Filter results by base and target currencies.
- Preserve observation dates and exchange-rate values.
- Remove duplicate base-currency and date combinations within a run.
- Export collected data in common structured formats.
Use Cases
- Latest FX snapshots: Collect current available cross rates for USD, EUR, or another base currency.
- Historical research: Compare exchange rates on a previous working day.
- Time-series analysis: Build historical datasets for financial research and reporting.
- Currency catalogs: Retrieve currency codes and names for applications and data-cleaning workflows.
- Spreadsheet comparisons: Schedule recurring collections and compare exported datasets.
- Application data: Use exchange-rate datasets in pricing displays and currency-conversion workflows.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | String | latest | Collection mode: latest, historical, series, or currencies. |
base | String | USD | Base currency used to calculate the returned rates. |
symbols | Array | [] | Target currency codes. An empty array keeps all returned rates. |
startDate | String | Empty | Historical observation date or beginning of a date range, formatted as YYYY-MM-DD. |
endDate | String | Empty | End of the date range, formatted as YYYY-MM-DD. |
maxItems | Integer | 100 | Maximum number of successful records to save per run. Hard maximum: 1,000. |
Example Input
Latest exchange rates
Retrieve the latest available rates for USD against all returned currencies.
{"mode": "latest","base": "USD","symbols": [],"startDate": "","endDate": "","maxItems": 100}
Historical exchange rates
Retrieve USD and GBP rates relative to EUR for 2 January 2024.
{"mode": "historical","base": "EUR","symbols": ["USD", "GBP"],"startDate": "2024-01-02","endDate": "","maxItems": 100}
Exchange-rate time series
Retrieve USD rates relative to EUR across a date range.
{"mode": "series","base": "EUR","symbols": ["USD"],"startDate": "2024-01-01","endDate": "2024-01-05","maxItems": 100}
Currency catalog
Retrieve the available currency codes and their names.
{"mode": "currencies","maxItems": 100}
What Data Does This Actor Extract?
The output structure depends on the selected mode. Exchange-rate records contain a base currency, an observation date, and a mapping of target currency codes to rate values. Currency-catalog records contain currency codes and their corresponding names.
Example Output
{"amount": 1.0,"base": "USD","date": "2026-10-09","rates": {"EUR": 0.89238,"GBP": 0.75641,"JPY": 158.25},"mode": "latest","scraped_at": "2026-10-12T00:00:00+00:00"}
Extracted Data Fields
| Field | Type | Description |
|---|---|---|
amount | Number | Amount against which the exchange rates are quoted, usually 1.0. |
base | String | Base currency code. |
date | String | Exchange-rate observation date. |
rates | Object | Mapping of target currency codes to exchange-rate values. |
currencyCode | String | Currency code in a catalog record. |
currencyName | String | Currency name in a catalog record, including names with non-ASCII characters. |
startDate | String | Start date of a time series when supplied in the output. |
endDate | String | End date of a time series when supplied in the output. |
mode | String | Collection mode: latest, historical, series, or currencies. |
scraped_at | String | UTC timestamp indicating when the record was created. |
Working with Your Dataset
Once the actor finishes, open the Apify dataset to inspect or export the collected records.
- JSON: Use structured exchange-rate records in Python applications and data pipelines.
- CSV: Import results into spreadsheets, databases, and analytics tools.
- Excel: Review historical observations, compare currencies, and prepare financial reports.
For time-series analysis, use the observation date to align records across currencies and account for dates on which no rate was published.
Important Notes
- The rates are based on ECB reference data distributed through Frankfurter.
- The latest available observation may not correspond to the current calendar date.
- Exchange rates are generally available on working days; weekends and holidays may be absent from historical series.
- Historical and time-series results depend on the selected dates and the available observations.
- The
maxItemssetting defaults to 100 and cannot exceed 1,000 records per run. - Currency codes must be supported by the underlying data source.
- Reference exchange rates may differ from rates offered by banks, payment providers, or currency exchanges.
FAQ
What is the difference between latest, historical, series, and currencies modes?
latestretrieves the newest available exchange rates.historicalretrieves rates for a specified date.seriesretrieves observations across a date range.currenciesretrieves the available currency codes and names.
Why is the latest rate not from today?
The newest available observation may lag behind the current calendar date because rates are published on working days and depend on source-data availability.
Can I collect exchange rates for a specific period?
Yes. Select series mode and specify both startDate and endDate.
Why are weekends missing from the time series?
The underlying ECB reference rates are generally published on working days. Dates without observations may therefore be absent.
Can I export the results to CSV or Excel?
Yes. The Apify dataset supports JSON, CSV, and Excel exports.
Disclaimer
This actor is an independent tool and is not affiliated with or endorsed by Frankfurter or the European Central Bank. Exchange-rate data is provided for informational and analytical purposes. Verify important values against the relevant official source before using them for financial decisions or reporting.
Is Web Scraping Legal?
Collecting information that is already public is generally legal. Scraping is not the same thing as hacking, and there is no single law that bans it. The limits are the usual ones: do not break into accounts, do not take private or confidential data, and be careful with personal data and copyrighted works. A site's terms can also restrict how you access it. Facts such as a public name, price, or rating are not the same thing as republishing someone's article or photo.
This actor collects information from public pages. It does not log in and it does not bypass access controls.
For a longer explanation, see Apify's article Is web scraping legal?.