Ecb Exchange Rates Scraper
Pricing
from $2.99 / 1,000 results
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
Maintained by CommunityActor 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
| Parameter | Type | Default | Description |
|---|---|---|---|
currencies | Array | ["USD", "GBP"] | Currency codes to collect, quoted against the euro. |
frequency | String | D | Observation frequency: D for daily, M for monthly, or A for annual. |
startPeriod | String | Empty | Start of the requested date range. |
endPeriod | String | Empty | End of the requested date range. Use together with startPeriod. |
lastNObservations | Integer | 30 | Number of latest observations to retrieve when no date range is specified. |
maxItems | Integer | 100 | Maximum 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
| Field | Type | Description |
|---|---|---|
seriesKey | String | Identifier for the exchange-rate series, such as EXR.D.USD.EUR.SP00.A. |
frequency | String | Observation frequency: D, M, or A. |
currency | String | Currency being quoted. |
currencyName | String | Currency name when available. |
currencyDenom | String | Denominator currency, typically EUR. |
exrType | String | Exchange-rate type, such as SP00. |
exrSuffix | String | Series suffix, such as A. |
timePeriod | String | Observation date or reporting period. |
obsValue | Number | Recorded exchange-rate value. |
obsStatus | String | Observation status when provided. |
obsConf | String | Observation confidentiality indicator when provided. |
timeFormatCode | String | Time-format code, such as P1D. |
seriesTitle | String | Descriptive series title when available. |
unit | String | Unit code when available. |
unitMultiplier | String | Unit multiplier when available. |
mode | String | Collection mode: latest or date_range. |
scraped_at | String | UTC 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
maxItemsvalue 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.
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?.