Discover/Europa API
live

Europa APIdata.ecb.europa.eu

Access ECB statistical series via API: exchange rates, interest rates, monetary aggregates. List dataflows, fetch SDMX-JSON series, or get flat observations.

Endpoint health
verified 6d ago
get_observations
get_series
list_dataflows
3/3 passing latest checkself-healing
Endpoints
3
Updated
22d ago

What is the Europa API?

This API exposes 3 endpoints for retrieving official European Central Bank statistical data, including exchange rates, interest rates, and monetary aggregates. The get_series endpoint returns full SDMX-JSON responses with dimensional metadata, observation arrays, and structural attributes, while get_observations delivers the same time series as a flat list of period, value, and period_name fields — no parsing of nested SDMX structures required.

Try it

No input parameters required.

api.parse.bot/scraper/dd55e128-6946-45f4-91ec-d3e008d5d666/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/dd55e128-6946-45f4-91ec-d3e008d5d666/list_dataflows' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace data-ecb-europa-eu-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""ECB Data API — retrieve European Central Bank statistical series."""
from parse_apis.ecb_data_api import ECB, SeriesDetail, SeriesNotFound

client = ECB()

# List available dataflows (exchange rates, interest rates, monetary aggregates, etc.)
for flow in client.dataflows.list(limit=5):
    print(flow.id, flow.name)

# Construct a dataflow and fetch simplified observations for USD/EUR exchange rate
exr = client.dataflow(id="EXR")
for obs in exr.observations(series_key="M.USD.EUR.SP00.A", limit=3):
    print(obs.period, obs.value, obs.period_name)

# Retrieve full SDMX-JSON series data with detail control
series = exr.series(series_key="M.USD.EUR.SP00.A", last_n="5", detail=SeriesDetail.FULL)
print(series.header, len(series.data_sets))

# Handle a missing series gracefully
try:
    bad_series = client.dataflow(id="EXR").series(series_key="X.INVALID.KEY.XX.X")
except SeriesNotFound as exc:
    print(f"Series not found: {exc.flow_ref} / {exc.series_key}")

print("exercised: dataflows.list / dataflow.observations / dataflow.series / SeriesNotFound")
All endpoints · 3 totalmissing one? ·

List all available dataflows (datasets) from the ECB. Returns identifiers, agency, version, and human-readable names for each dataflow. The full catalog typically contains 70+ dataflows covering exchange rates, monetary aggregates, interest rates, balance of payments, and more. No parameters required.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "dataflows": "array of dataflow objects, each with id, agencyID, version, and name"
  },
  "sample": {
    "data": {
      "dataflows": [
        {
          "id": "EXR",
          "name": "Exchange Rates",
          "version": "1.0",
          "agencyID": "ECB"
        },
        {
          "id": "ICP",
          "name": "Indices of Consumer Prices",
          "version": "1.0",
          "agencyID": "ECB"
        },
        {
          "id": "FM",
          "name": "Financial market data",
          "version": "1.0",
          "agencyID": "ECB"
        }
      ]
    },
    "status": "success"
  }
}

About the Europa API

Available Endpoints

The API covers three operations. list_dataflows returns every dataset published on the ECB Data Portal, with each item carrying an id, agencyID, version, and human-readable name. Use this to discover the flow_ref values you need for the other two endpoints — for example, EXR for exchange rates or ICP for consumer price indices.

Fetching Series Data

get_series accepts a required flow_ref and series_key (e.g. M.USD.EUR.SP00.A for the monthly USD/EUR reference rate) and returns a full SDMX-JSON payload. The response contains a header with request metadata, a structure block describing all dimensions and attributes, and dataSets with observations indexed by integer keys. Optional parameters include start_period and end_period (ISO date strings) for time-range filtering, last_n or first_n to cap the number of observations, updated_after for incremental pulls, and detail to control response verbosity (full, dataonly, serieskeysonly, or nodata).

Simplified Observations

get_observations targets the same series but returns a flat array instead of nested SDMX structures. Each observation object contains a period date string, a value string, and a period_name human-readable label. The response also includes the resolved series_key and an observation_count integer. This endpoint is useful when you need tabular data without writing SDMX parsing logic.

Source and Data Coverage

All data originates from the ECB Data Portal (data.ecb.europa.eu), which publishes official euro-area statistics. Series frequency, dimension codes, and attribute values follow ECB SDMX conventions. Coverage spans historical exchange rates, short- and long-term interest rates, monetary aggregates, and consumer prices, among other dataflows discoverable via list_dataflows.

Reliability & maintenanceVerified

The Europa API is a managed, monitored endpoint for data.ecb.europa.eu — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when data.ecb.europa.eu changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official data.ecb.europa.eu API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track daily or monthly EUR/USD exchange rates using the EXR dataflow with series key M.USD.EUR.SP00.A
  • Build an interest rate monitor by pulling ECB policy rate series and filtering with start_period and end_period
  • Ingest euro-area monetary aggregate (M1, M2, M3) time series for macroeconomic research
  • Populate a consumer price index dashboard using ICP dataflow observations with period and value fields
  • Enumerate all available ECB datasets via list_dataflows to audit which statistical series are published
  • Perform incremental data pipeline updates using the updated_after parameter on get_series
  • Export flat observation arrays for spreadsheet or BI tool ingestion using get_observations without SDMX parsing
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does the ECB provide an official developer API?+
Yes. The ECB operates an official SDMX REST API documented at https://data.ecb.europa.eu/help/api/overview. This Parse API surfaces the same data through a simplified interface with consistent JSON responses.
What does the detail parameter control in get_series?+
The detail parameter adjusts how much of the SDMX payload is returned. 'full' includes all observations plus metadata, 'dataonly' strips attribute annotations, 'serieskeysonly' returns dimension keys with no observations, and 'nodata' returns structural metadata only. If omitted, the endpoint defaults to the full response.
What is the difference between get_series and get_observations?+
get_series returns a complete SDMX-JSON document with nested dataSets, structure blocks, and integer-keyed observation maps — the format used by ECB's own API. get_observations returns a flat array where each item has a period string, a value string, and a period_name label, plus a top-level observation_count. Use get_observations when you want tabular rows without parsing SDMX conventions.
Does the API support searching or filtering dataflows by category or keyword?+
Not currently. list_dataflows returns the full set of available dataflows with id, agencyID, version, and name, but there is no search or category-filter parameter. You can fork this API on Parse and revise it to add a filtering endpoint that queries the list by name or id pattern.
Are revision history or metadata-only queries available for individual series?+
get_series supports the 'nodata' and 'serieskeysonly' detail modes for lightweight structural queries, and the updated_after parameter lets you detect recently revised series. Full revision history per observation is not currently exposed as a distinct endpoint. You can fork the API on Parse and revise it to add an endpoint targeting ECB's update metadata resources.
Page content last updated . Spec covers 3 endpoints from data.ecb.europa.eu.
Related APIs in FinanceSee all →
statistiken.bundesbank.de API
Retrieve Deutsche Bundesbank's macroeconomic data including exchange rates, interest rates, and financial statistics by searching for specific time series or browsing topics to access historical data points. Monitor Germany's key economic indicators and financial metrics directly from the official central bank database.
fred.stlouisfed.org API
Access data from fred.stlouisfed.org.
data.rbi.org.in API
Access India's official monetary policy data including real-time money market operations, historical rates by date or month, and RBI reference rates. Retrieve the latest financial data releases directly from the Reserve Bank of India's official sources to monitor interest rates, liquidity operations, and market benchmarks.
tradingeconomics.com API
Access real-time economic calendars, macroeconomic indicators, and commodity prices across global markets including G20 nations and emerging economies. Monitor historical charts, country-specific economic data, and the latest financial news to track economic trends and make informed investment decisions.
euribor-rates.eu API
Access current and historical Euribor 6-month interest rates to track lending benchmarks and analyze rate trends over time. Monitor real-time rate changes and retrieve past data to inform financial decisions and pricing strategies.
rba.gov.au API
Access Reserve Bank of Australia data including CPI inflation (current and historical), housing and business lending rates, AUD exchange rates, monetary policy/cash rate changes, and the RBA balance sheet.
resbank.co.za API
Access real-time and historical financial data from South Africa's central bank, including prime rates, repo rates, exchange rates, inflation metrics (CPI and PPI), and commodity prices like gold. Track key interest rate benchmarks such as SABOR and ZARONIA rates, and monitor market rates to stay informed on South African economic indicators.
xe.com API
Access live mid-market exchange rates, convert between any currency pair, and retrieve historical rate data and currency metadata from xe.com.