Catalog / European Central Bank

European Central Bank API

data.ecb.europa.eu

Read-only access to ECB public SDMX dataflows, series responses, and simplified observations. Data is fetched live from the ECB data API.

  • finance
  • ECB
  • SDMX
  • macroeconomics
3 endpointsDocs updated

Endpoint health

Loading verification…

DataflowsLoading
SeriesLoading

Connect your agent

Connect through MCP so your agent can find this API, read its docs, and call its endpoints.

Setup guide

Add the server from your terminal.

Claude Code · terminal
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcp

In Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.

Then ask your agent to use the European Central Bank API for your task.

Call it over HTTP

Get an API key

Sign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.

List ECB dataflows exposed by the public SDMX service.

View call pricing
cURL · Dataflows
curl --request GET --get 'https://api.agent-data.dev/data-ecb-europa-eu/v1/dataflows' \
  --header "Authorization: Bearer $AGENT_DATA_API_KEY"

Endpoints

Inputs and response fields for every endpoint in this API.

GETDataflows/v1/dataflows

List ECB dataflows exposed by the public SDMX service.

Input

No input parameters.

Response

dataflowsobject[]
dataflows[].idstring
dataflows[].name?string | null
dataflows[].agency?string | null
dataflows[].version?string | null
dataflows[].description?string | null

Fields marked ? are optional.

GETSeries/v1/series

Retrieve the ECB SDMX response for one flow and dot-separated series key.

Input

flow_refRequiredQuery · string

ECB dataflow identifier, such as ICP.

Example: ICP

series_keyRequiredQuery · string

Dot-separated series key within the dataflow.

Example: M.DE.N.000000.4.ANR

detailOptionalQuery · string | null

Optional SDMX detail level.

Example: dataonly

last_nOptionalQuery · integer, min: 1, max: 10000 | null

Return at most the last N observations.

Example: 12

first_nOptionalQuery · integer, min: 1, max: 10000 | null

Return at most the first N observations.

Example: 12

end_periodOptionalQuery · string | null

Inclusive end period, such as 2025-12.

Example: 2025-12

start_periodOptionalQuery · string | null

Inclusive start period, such as 2024-01.

Example: 2024-01

updated_afterOptionalQuery · string | null

Only data updated after this timestamp.

Example: 2024-01-01T00:00:00Z

include_historyOptionalQuery · boolean | null

Request historical revisions when supported.

Example: true

Response

headerobject
header.idstring
header.testboolean
header.sender?string | null
header.prepared?string | null
data_setsobject[]
structureobject

Fields marked ? are optional.

GETObservations/v1/observations

Retrieve a simplified observation list for one ECB series.

Input

flow_refRequiredQuery · string

ECB dataflow identifier, such as ICP.

Example: ICP

series_keyRequiredQuery · string

Dot-separated series key within the dataflow.

Example: M.DE.N.000000.4.ANR

Response

series_keystring
observationsobject[]
observations[].value?string | null
observations[].period?string | null
observations[].attributes?object
observation_countinteger

Fields marked ? are optional.

Don’t see the endpoint you need?

Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.