European Central Bank — PTN dataflow
Official statistical time series published by the European Central Bank as the PTN dataflow, part of the ECB Data Portal. Data is delivered through a single SDMX 2.1 REST endpoint supporting multiple output formats, including SDMX-ML (XML), CSV, and JSON, with the ability to filter results by series key path and time period. The dataflow covers economic and price-related indicators at European level, and is intended for automated retrieval and integration into analytical or statistical applications requiring standardised access to ECB reference data.Official time series from the European Central Bank Data Portal, published as the PTN 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 (26 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| FREQFrequency | dimension | Frequency of the time series, e.g. annual or half-yearly.2 codes (e.g. Annual, Half-yearly) |
| REF_AREAReference area | dimension | Reference country or area code the data relates to.29 codes (e.g. Austria, EU (Member States and Institutions of the European Union) changing composition, Belgium) |
| TRMNL_LCTNPOS location | dimension | Country or area where the payment terminal is located.35 codes (e.g. Belgium, Bulgaria, Cyprus) |
| INTTN_CHNNLInitiation channel | dimension | Channel used to initiate the transaction, e.g. ATM or POS terminal.4 codes (e.g. Automatic teller machine (ATM) terminal, Point of sale (POS) terminal, Electronic funds transfer at point of sale (EFTPOS) terminal) |
| TRMNL_FNCTNTerminal function | dimension | Function of the terminal, e.g. cash withdrawal or credit transfer.6 codes (e.g. Cash withdrawal function, Credit transfer function, Accepting contactless transactions) |
| UNIT_MEASUREUnit of measure | dimension | Unit in which the observation is measured, e.g. pure number or percentage.3 codes (e.g. Pure number, Percentage change, Pure number per million inhabitants) |
| TIME_PERIODTime period or range | time | Time period of the observation; filterable via startPeriod/endPeriod.Time dimension — filter with startPeriod / endPeriod query params. |
| OBS_VALUEObservation value | number | Numeric value recorded for the observation.The observed numeric value for each cell. |
| TIME_FORMATTime format code | attribute | Code indicating the format used to express the time period.Code indicating the format used to express the time period. |
| BREAKS | attribute | Indicates discontinuities or breaks in the time series.Indicates discontinuities or breaks in the time series. |
| 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 responsible for compiling the data.Organisation responsible for compiling the data. |
| DISS_ORGData dissemination organisation | attribute | Organisation responsible for disseminating the data.Organisation responsible for disseminating the data. |
| TIME_PER_COLLECTTime period collection | attribute | Period over which the underlying data were collected.Period over which the underlying data were collected. |
| COVERAGE | attribute | Description of the data's scope or coverage.Description of the data's scope or coverage. |
| DATA_COMPUnderlying compilation | attribute | Information on how the underlying data were compiled.Information on how the underlying data were compiled. |
| 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 produce the data.Reference to the methodology used to produce the data. |
| TITLE | attribute | Title of the time series.Title of the time series. |
| TITLE_COMPLTitle complement | attribute | Additional text supplementing the series title.Additional text supplementing the series title. |
| UNIT | attribute | Unit in which the observation value is expressed.Unit in which the observation value is expressed. |
| UNIT_MULTUnit multiplier | attribute | Power-of-ten multiplier applied to the observation value.Power-of-ten multiplier applied to the observation value. |
| OBS_STATUSObservation status | attribute | Status code describing the nature of the observation, e.g. estimated or normal.Status code describing the nature of the observation, e.g. estimated or normal. |
| 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 recorded break.Value of the series immediately before a recorded break. |
| COMMENT_OBSComments to the observation value | attribute | Comment attached to the specific observation value.Comment attached to 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 1FREQ: A · REF_AREA: AT
{
"FREQ": "A",
"REF_AREA": "AT",
"OBS_VALUE": 0,
"OBS_STATUS": "A",
"TRMNL_LCTN": "BE",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"INTTN_CHNNL": "2221",
"TIME_PERIOD": "2025",
"TRMNL_FNCTN": "1",
"UNIT_MEASURE": "PN",
"PRE_BREAK_VALUE": null
}Record 2FREQ: A · REF_AREA: AT
{
"FREQ": "A",
"REF_AREA": "AT",
"OBS_VALUE": 0,
"OBS_STATUS": "A",
"TRMNL_LCTN": "BE",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"INTTN_CHNNL": "2221",
"TIME_PERIOD": "2025",
"TRMNL_FNCTN": "2",
"UNIT_MEASURE": "PN",
"PRE_BREAK_VALUE": null
}Record 3FREQ: A · REF_AREA: AT
{
"FREQ": "A",
"REF_AREA": "AT",
"OBS_VALUE": 0,
"OBS_STATUS": "A",
"TRMNL_LCTN": "BE",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"INTTN_CHNNL": "2221",
"TIME_PERIOD": "2025",
"TRMNL_FNCTN": "3",
"UNIT_MEASURE": "PN",
"PRE_BREAK_VALUE": null
}Record 4FREQ: A · REF_AREA: AT
{
"FREQ": "A",
"REF_AREA": "AT",
"OBS_VALUE": 0,
"OBS_STATUS": "A",
"TRMNL_LCTN": "BE",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"INTTN_CHNNL": "2221",
"TIME_PERIOD": "2025",
"TRMNL_FNCTN": "_T",
"UNIT_MEASURE": "PN",
"PRE_BREAK_VALUE": null
}Record 5FREQ: A · REF_AREA: AT
{
"FREQ": "A",
"REF_AREA": "AT",
"OBS_VALUE": 0,
"OBS_STATUS": "A",
"TRMNL_LCTN": "BE",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"INTTN_CHNNL": "2222",
"TIME_PERIOD": "2025",
"TRMNL_FNCTN": "_T",
"UNIT_MEASURE": "PN",
"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.