Ecb Exchange Rates Scraper avatar

Ecb Exchange Rates Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Ecb Exchange Rates Scraper

Ecb Exchange Rates Scraper

ECB Exchange Rates Scraper is a Python tool designed to extract official daily reference foreign exchange rates and historical data from the European Central Bank. It exports structured macroeconomic currency datasets into clean CSV or JSON formats for financial analysis.

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

2 days ago

Last modified

Categories

Share

ECB Exchange Rates Scraper — Official Euro Reference FX Rates

Overview

ECB Exchange Rates Scraper collects official euro reference exchange rates from the European Central Bank (ECB). Select currencies, retrieve the latest observations or a specific date range, and export the resulting dataset as JSON, CSV, or Excel.

The actor is useful for maintaining historical exchange-rate records, researching currency movements, and updating financial spreadsheets with official reference rates.

Features

  • Collect exchange rates for selected currencies, including USD and GBP.
  • Retrieve the latest observations or specify a historical date range.
  • Support daily, monthly, and annual frequency settings.
  • Include currency names, observation dates, rates, and series metadata when available.
  • Remove duplicate observations for the same series and period.
  • Export results as JSON, CSV, or Excel through the Apify dataset.
  • Configure the maximum number of saved records.

Use Cases

  • Treasury archives: Maintain historical euro reference rates for currencies used in financial reporting.
  • Financial research: Retrieve exchange rates for a specific period, such as 2–4 January 2024.
  • Spreadsheet workflows: Import exchange-rate datasets into financial models and reporting workbooks.
  • Rate monitoring: Collect recent observations regularly to identify newly published business-day rates.
  • Data analysis: Combine currency observations across periods for comparisons and historical analysis.

Input Parameters

ParameterTypeDefaultDescription
currenciesArray["USD", "GBP"]Currency codes to collect, quoted against the euro.
frequencyStringDObservation frequency: D for daily, M for monthly, or A for annual.
startPeriodStringEmptyStart of the requested date range.
endPeriodStringEmptyEnd of the requested date range. Use together with startPeriod.
lastNObservationsInteger30Number of latest observations to retrieve when no date range is specified.
maxItemsInteger100Maximum number of records saved per run. Hard maximum: 1,000.

Example Input

Latest daily exchange rates

Retrieve recent USD and GBP observations.

{
"currencies": ["USD", "GBP"],
"frequency": "D",
"startPeriod": "",
"endPeriod": "",
"lastNObservations": 30,
"maxItems": 100
}

Historical date range

Retrieve sterling observations from 2 January through 4 January 2024.

{
"currencies": ["GBP"],
"frequency": "D",
"startPeriod": "2024-01-02",
"endPeriod": "2024-01-04",
"maxItems": 100
}

What Data Does This Actor Extract?

Each exchange-rate observation is stored as a separate dataset record. Available fields depend on the selected collection mode and the metadata supplied with the observation.

Example Output

{
"seriesKey": "EXR.D.USD.EUR.SP00.A",
"frequency": "D",
"currency": "USD",
"currencyName": "US dollar",
"currencyDenom": "EUR",
"exrType": "SP00",
"exrSuffix": "A",
"timePeriod": "2026-10-07",
"obsValue": 1.1177,
"obsStatus": "A",
"obsConf": "F",
"timeFormatCode": "P1D",
"mode": "latest",
"scraped_at": "2026-10-12T00:00:00+00:00"
}

Extracted Data Fields

FieldTypeDescription
seriesKeyStringIdentifier for the exchange-rate series, such as EXR.D.USD.EUR.SP00.A.
frequencyStringObservation frequency: D, M, or A.
currencyStringCurrency being quoted.
currencyNameStringCurrency name when available.
currencyDenomStringDenominator currency, typically EUR.
exrTypeStringExchange-rate type, such as SP00.
exrSuffixStringSeries suffix, such as A.
timePeriodStringObservation date or reporting period.
obsValueNumberRecorded exchange-rate value.
obsStatusStringObservation status when provided.
obsConfStringObservation confidentiality indicator when provided.
timeFormatCodeStringTime-format code, such as P1D.
seriesTitleStringDescriptive series title when available.
unitStringUnit code when available.
unitMultiplierStringUnit multiplier when available.
modeStringCollection mode: latest or date_range.
scraped_atStringUTC timestamp indicating when the record was saved.

Working with Your Dataset

After the actor finishes, open its dataset to review the collected records or export them in your preferred format.

  • JSON: Use the structured records in Python applications and data-processing workflows.
  • CSV: Import observations into spreadsheets, databases, or analytics tools.
  • Excel: Review rates and organize historical observations in workbooks.

For financial reporting or publication, retain the observation dates and identify the European Central Bank as the source of the exchange-rate data.

Important Notes

  • Daily reference rates are generally published on TARGET business days. Weekends and holidays may have no observations.
  • The actor collects the available values in the selected series; it does not guarantee that every requested date has a rate.
  • Historical results depend on the selected currencies, frequency, and date range.
  • The default maxItems value is 100, and the maximum is 1,000 records per run.
  • Some metadata fields may be absent depending on the collection mode and the available source data.
  • Exchange rates are reference values and may differ from rates offered by banks, payment providers, or currency exchanges.

FAQ

How frequently are euro reference exchange rates published?

Daily reference rates are generally published on TARGET business days, typically during the afternoon in Central European time. Publication schedules and available observations may vary.

Can I collect historical exchange rates?

Yes. Specify both startPeriod and endPeriod to retrieve observations for a historical period.

Can I export the results to Excel or CSV?

Yes. The Apify dataset supports JSON, CSV, and Excel exports.

Why are some dates missing?

The ECB does not necessarily publish daily reference rates on weekends or holidays. Some dates may also lack observations in the selected series.

Why did the actor return fewer records than expected?

The number of available observations depends on the requested currency, frequency, date range, and maxItems setting.

Disclaimer

This actor is an independent tool and is not affiliated with or endorsed by the European Central Bank. Exchange-rate observations are provided for informational and analytical purposes. Verify important values against the 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?.