Next free-source hunt
We check for new free financial data every Wednesday.
Datasets / Macro
data.ecb.europa.eu/

ECB Data Portal API (SDMX)

Freeauth: noneCustom#macro#economic-data#historical-data#time-series#central-bank✓ verified Oct 30, 2026

ECB Data Portal API (SDMX)

ECB statistical data and metadata through an SDMX 2.1 REST service. It covers exchange rates, interest rates, money, banking, inflation, markets, external accounts, payments and supervisory data, with CSV and SDMX formats and no key.

Required Attribution:

Required: "When such information is distributed or reproduced, it must appear accurately and the ECB must be cited as the source."

Coverage

ECB Data Portal series with history, frequency and revision behavior set per dataflow. The checked EXR.D.USD.EUR.SP00.A series is the daily U.S. dollar reference rate against the euro; business-day observations were returned through 2026-10-30.

Verdict

A structured macro and rates source with stable SDMX series keys and explicit observation metadata. The example gives a daily reference rate, not an executable market quote; weekends are absent and observations can be corrected. Filter dates to limit response size. ECB reuse conditions require accurate reproduction, source citation and disclosure of modifications.

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Load an ECB Data Portal SDMX series into pandas and Parquet. Checked against the provider's documentation on Oct 30, 2026.

Raw skill file (/skills/ecb-data-portal.md)Also in our MCP server: call get_ingestion_skill with {"slug": "ecb-data-portal"}.

Access

  • No account or key is needed for public data requests.
  • Observed 2026-10-30: the CSV request completed without credentials.

Request

bash
curl 'https://data-api.ecb.europa.eu/service/data/EXR/D.USD.EUR.SP00.A?format=csvdata&startPeriod=2026-10-01'

Format

CSV data with SDMX dimensions, observation value, status and metadata columns. TIME_PERIOD is the observation date and OBS_VALUE is numeric.

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""ECB Data Portal daily USD/EUR reference exchange rate -> pandas -> Parquet. No key."""
import io
import requests
import pandas as pd

URL = "https://data-api.ecb.europa.eu/service/data/EXR/D.USD.EUR.SP00.A"
r = requests.get(URL, params={"format": "csvdata", "startPeriod": "2026-10-01"}, timeout=60)
r.raise_for_status()
df = pd.read_csv(io.BytesIO(r.content))
df["TIME_PERIOD"] = pd.to_datetime(df["TIME_PERIOD"])
df["OBS_VALUE"] = pd.to_numeric(df["OBS_VALUE"])
df.to_parquet("ecb_usd_eur_daily.parquet", index=False)
print(len(df), "daily rows", df["TIME_PERIOD"].min().date(), "to", df["TIME_PERIOD"].max().date(),
      "latest value", df.sort_values("TIME_PERIOD").iloc[-1]["OBS_VALUE"])

Run by us on 2026-10-30 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 22 daily rows 2026-10-01 to 2026-10-30 latest value 1.1172

Limits

  • Rate limit: Not stated.
  • Numeric response limits are not stated on the pages read; use startPeriod and endPeriod.

Quirks

  • The SDMX key order is dataflow-specific. EXR.D.USD.EUR.SP00.A means daily U.S. dollars per euro, reference rate, average.
  • Business-day series omit weekends and holidays.
  • Keep OBS_STATUS and other metadata columns because observations can be corrected or qualified.

Terms and attribution

  • The Data Portal footer links to the ECB Disclaimer & Copyright page.
  • Reproduce accurately, cite the ECB, state modifications, and apply the sold-document notice where relevant.

Sources

Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer