Currency Exchange Rates Frankfurter avatar

Currency Exchange Rates Frankfurter

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Currency Exchange Rates Frankfurter

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

real-estate-api

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Categories

Security

Limited permissions

Share

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

ParameterTypeDefaultDescription
modeStringlatestCollection mode: latest, historical, series, or currencies.
baseStringUSDBase currency used to calculate the returned rates.
symbolsArray[]Target currency codes. An empty array keeps all returned rates.
startDateStringEmptyHistorical observation date or beginning of a date range, formatted as YYYY-MM-DD.
endDateStringEmptyEnd of the date range, formatted as YYYY-MM-DD.
maxItemsInteger100Maximum 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

FieldTypeDescription
amountNumberAmount against which the exchange rates are quoted, usually 1.0.
baseStringBase currency code.
dateStringExchange-rate observation date.
ratesObjectMapping of target currency codes to exchange-rate values.
currencyCodeStringCurrency code in a catalog record.
currencyNameStringCurrency name in a catalog record, including names with non-ASCII characters.
startDateStringStart date of a time series when supplied in the output.
endDateStringEnd date of a time series when supplied in the output.
modeStringCollection mode: latest, historical, series, or currencies.
scraped_atStringUTC 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 maxItems setting 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?

  • latest retrieves the newest available exchange rates.
  • historical retrieves rates for a specified date.
  • series retrieves observations across a date range.
  • currencies retrieves 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.

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?.