European Central Bank — PEM dataflow
Official statistical time series published by the European Central Bank as the PEM dataflow, part of the ECB Data Portal. The data covers economic and price-related indicators and is delivered through a single SDMX 2.1 REST endpoint, supporting multiple output formats (XML/SDMX-ML, CSV, and JSON) selectable via query parameters. Users can filter results by series key-path and by time period, allowing targeted retrieval of specific indicators or date ranges. The dataset is freely accessible without authentication and is intended for researchers, analysts, and developers needing programmatic access to euro area economic statistics maintained by the ECB.Official time series from the European Central Bank Data Portal, published as the PEM dataflow over SDMX 2.1 REST. One endpoint serves XML (SDMX-ML), CSV (?format=csvdata) and JSON (?format=jsondata), with key-path and period filters.
Trust score
How is this computed?Weighted across five axes. Tap a ring for what it measures.
Data schema (31 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| FREQFrequency | dimension | Frequency of the observation, e.g. annual, half-yearly or quarterly.3 codes (e.g. Annual, Half-yearly, Quarterly) |
| REF_AREAReference area | dimension | Reference country or area to which the data relate.29 codes (e.g. Austria, EU (Member States and Institutions of the European Union) changing composition, Belgium) |
| COUNT_AREACounterpart area | dimension | Counterpart country or area involved in the transaction.51 codes (e.g. Belgium, Bulgaria, Cyprus) |
| TYP_TRNSCTNPayment transaction type | dimension | Type of e-money or payment transaction recorded.3 codes (e.g. E-money payments, E-money payments with a card on which e-money can be stored directly, E-money payments from account) |
| RL_TRNSCTNRole in transaction | dimension | Role of the reporting entity in the transaction, e.g. payer's or payee's PSP.2 codes (e.g. Payer's payment service provider (PSP), Payee's payment service provider (PSP)) |
| INTTN_CHNNLInitiation channel | dimension | Channel used to initiate the payment, e.g. card or mobile.5 codes (e.g. All, E-money card, Mobile payment solution) |
| RMT_INTTNRemote or non-remote initiation | dimension | Whether the transaction was initiated remotely or non-remotely.3 codes (e.g. Initiated either via remote or non-remote channel, Initiated via non-remote channel, Intiated via remote channel) |
| SCAStrong Customer Authentication | dimension | Whether strong customer authentication was used for the transaction.13 codes (e.g. Either strong customer authentication (SCA) or non-SCA used, Strong customer authentication (SCA) used, Non-strong customer authentication (non-SCA) used) |
| FRD_TYPFraud type | dimension | Type of fraud associated with the transaction, if any.5 codes (e.g. Not applicable (total transactions including both non-fraud and fraud), Fraud, Issuance of a payment order by the fraudster) |
| TRANSFORMATION | dimension | Type of data transformation applied, e.g. raw value or growth rate.2 codes (e.g. Non transformed data, Growth rate %, period on period) |
| UNIT_MEASUREUnit of measure | dimension | Unit in which the observation value is measured.17 codes (e.g. Euro, Pure number, Euro; ratio to GDP) |
| TIME_PERIODTime period or range | time | Time period the observation refers to.Time dimension — filter with startPeriod / endPeriod query params. |
| OBS_VALUEObservation value | number | Numeric value observed for this data series and period.The observed numeric value for each cell. |
| TIME_FORMATTime format code | attribute | Code indicating the format of the time period.Code indicating the format of the time period. |
| BREAKS | attribute | Indicates a break in the time series, if any.Indicates a break in the time series, if any. |
| COMMENT_TSSeries comment including brief description of the underlying statistic | attribute | Comment describing the underlying statistic for the series.Comment describing the underlying statistic for the series. |
| COMPILING_ORGCompiling organisation | attribute | Organisation that compiled the data.Organisation that compiled the data. |
| DISS_ORGData dissemination organisation | attribute | Organisation that disseminates the data.Organisation that disseminates the data. |
| TIME_PER_COLLECTTime period collection | attribute | Time period over which the data were collected.Time period over which the data were collected. |
| COVERAGE | attribute | Description of the scope or coverage of the data.Description of the scope or coverage of the data. |
| DATA_COMPUnderlying compilation | attribute | Note on the compilation method underlying the data.Note on the compilation method underlying the data. |
| DECIMALS | attribute | Number of decimal places used in the observation value.Number of decimal places used in the observation value. |
| METHOD_REFMethodology reference | attribute | Reference to the methodology used to compile the data.Reference to the methodology used to compile the data. |
| TITLE | attribute | Title of the data series.Title of the data series. |
| TITLE_COMPLTitle complement | attribute | Additional text complementing the series title.Additional text complementing the series title. |
| UNIT | attribute | Unit of measurement for the observation value.Unit of measurement for the observation value. |
| UNIT_MULTUnit multiplier | attribute | Multiplier applied to the unit of measurement, e.g. thousands.Multiplier applied to the unit of measurement, e.g. thousands. |
| OBS_STATUSObservation status | attribute | Status code describing the nature of the observation, e.g. estimated.Status code describing the nature of the observation, e.g. estimated. |
| CONF_STATUSConfidentiality status | attribute | Confidentiality classification of the observation.Confidentiality classification of the observation. |
| PRE_BREAK_VALUE | attribute | Value of the series immediately before a break.Value of the series immediately before a break. |
| COMMENT_OBSComments to the observation value | attribute | Comment providing context on the specific observation value.Comment providing context on the specific observation value. |
Schema captured from sdmx 2 days ago.
Query the data
Pick columns and a sort, then fetch a live preview straight from the source. Choose an API-filterable column (marked ▾) under “Where” to pick from its list of values.
Sample data (5 records)
Record 1SCA: _X · FREQ: A
{
"SCA": "_X",
"FREQ": "A",
"FRD_TYP": "_Z",
"REF_AREA": "AT",
"OBS_VALUE": null,
"RMT_INTTN": "_T",
"COUNT_AREA": "BE",
"OBS_STATUS": "Q",
"RL_TRNSCTN": "1",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"INTTN_CHNNL": "_T",
"TIME_PERIOD": "2025",
"TYP_TRNSCTN": "EMP0",
"UNIT_MEASURE": "EUR",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 2SCA: _X · FREQ: A
{
"SCA": "_X",
"FREQ": "A",
"FRD_TYP": "_Z",
"REF_AREA": "AT",
"OBS_VALUE": null,
"RMT_INTTN": "_T",
"COUNT_AREA": "BE",
"OBS_STATUS": "Q",
"RL_TRNSCTN": "1",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"INTTN_CHNNL": "_T",
"TIME_PERIOD": "2025",
"TYP_TRNSCTN": "EMP0",
"UNIT_MEASURE": "PN",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 3SCA: _X · FREQ: A
{
"SCA": "_X",
"FREQ": "A",
"FRD_TYP": "_Z",
"REF_AREA": "AT",
"OBS_VALUE": null,
"RMT_INTTN": "_T",
"COUNT_AREA": "BE",
"OBS_STATUS": "Q",
"RL_TRNSCTN": "2",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"INTTN_CHNNL": "_T",
"TIME_PERIOD": "2025",
"TYP_TRNSCTN": "EMP0",
"UNIT_MEASURE": "EUR",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 4SCA: _X · FREQ: A
{
"SCA": "_X",
"FREQ": "A",
"FRD_TYP": "_Z",
"REF_AREA": "AT",
"OBS_VALUE": null,
"RMT_INTTN": "_T",
"COUNT_AREA": "BE",
"OBS_STATUS": "Q",
"RL_TRNSCTN": "2",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"INTTN_CHNNL": "_T",
"TIME_PERIOD": "2025",
"TYP_TRNSCTN": "EMP0",
"UNIT_MEASURE": "PN",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 5SCA: _X · FREQ: A
{
"SCA": "_X",
"FREQ": "A",
"FRD_TYP": "_Z",
"REF_AREA": "AT",
"OBS_VALUE": 0,
"RMT_INTTN": "_T",
"COUNT_AREA": "BE",
"OBS_STATUS": "A",
"RL_TRNSCTN": "1",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"INTTN_CHNNL": "_T",
"TIME_PERIOD": "2024",
"TYP_TRNSCTN": "EMP2",
"UNIT_MEASURE": "EUR",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Live sample captured at profiling time — values may have changed upstream.
Verification Status
Using the API
Query examples
curl -s 'https://data-api.ecb.europa.eu/service/dataflow/ECB' -H 'Accept: application/vnd.sdmx.structure+xml;version=2.1'All dataflows (datasets) published by this agency, as SDMX-ML.
Machine-readable & source
Embed this badge in a README or wiki — it always shows the latest verification state and quality tier.