European Central Bank — Euro Area Balance of Payments and International Investment Position Statistics (BOP)
Official time series on euro area balance of payments and international investment position, published by the European Central Bank as the BOP dataflow through its SDMX 2.1 REST API. A single endpoint delivers data in XML (SDMX-ML), CSV, or JSON formats, with series selected via key paths and filtered by start/end period or a given number of most recent observations. The same underlying series can also be browsed and charted interactively on the ECB Data Portal, making the dataset useful for researchers, analysts, and institutions tracking euro area external trade, investment flows, and cross-border financial positions.Euro Area Balance of Payments and International Investment Position Statistics (BOP) — official time series from the European Central Bank Data Portal, published as the BOP dataflow over SDMX 2.1 REST. One endpoint serves XML (SDMX-ML), CSV (?format=csvdata) and JSON (?format=jsondata); extract exactly the series you need with a key path and startPeriod / endPeriod / lastNObservations filters. Browse and chart the same series on the ECB Data Portal.
Trust score
How is this computed?Weighted across five axes. Tap a ring for what it measures.
Data schema (29 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| FREQFrequency | dimension | Code indicating the time series frequency (e.g. annual, monthly).4 codes (e.g. Annual, Half-yearly, Monthly) |
| REF_AREAReference area | dimension | Code for the reference area or institution covered by the observation.8 codes (e.g. European Central Bank (ECB), Euro area 12 (fixed composition) as of 1 January 2001, Euro area 13 (fixed composition) as of 1 January 2007) |
| ADJUSTMENTAdjustment indicator | dimension | Code indicating whether the data is seasonally or working-day adjusted.2 codes (e.g. Neither seasonally nor working day adjusted, Working day and seasonally adjusted) |
| DATA_TYPE_BOPData type - BoP related data | dimension | Code specifying the type of balance-of-payments related data, such as stocks or valuation adjustments.9 codes (e.g. Outstanding amounts at the end of the period (stocks), Price valuation adjustment, Exchange rate valuation adjustment) |
| BOP_ITEMBalance of Payment item | dimension | Code identifying the specific balance-of-payments item or account category.225 codes (e.g. Financial account, Official reserve assets, Financial account, Official reserve assets, foreign exchange (including financial derivatives), Financial account, Reserves assets, foreign exchange, Securities) |
| CURR_BRKDWNCurrency breakdown | dimension | Code indicating the currency breakdown applied to the series.5 codes (e.g. All currencies, Euro, All currencies except EUR) |
| COUNT_AREACounterpart area | dimension | Code for the counterpart area involved in the transaction or position.7 codes (e.g. Extra-Euro area 13 (fixed composition) as of 1 January 2007, Extra-Euro area 15 (fixed composition) as of 1 January 2008, Extra-Euro area 16 (fixed composition) as of 1 January 2009) |
| SERIES_DENOMSeries denominat/spec calcul | dimension | Code indicating the denomination or calculation basis of the series, e.g. euro or growth rate.2 codes (e.g. Euro, Annual growth rate) |
| TIME_PERIODTime period or range | time | The time period of the observation, filterable via startPeriod/endPeriod parameters.Time dimension — filter with startPeriod / endPeriod query params. |
| OBS_VALUEObservation value | number | The observed numeric value for the data point.The observed numeric value for each cell. |
| TIME_FORMATTime format code | attribute | Code describing the format used for the time period value.Code describing the format used for the time period value. |
| BOP_BASISBoP data collection basis | attribute | Code describing the basis used for collecting balance-of-payments data.Code describing the basis used for collecting balance-of-payments data. |
| BREAKS | attribute | Indicator noting breaks in the continuity of the time series.Indicator noting breaks in the continuity of the time series. |
| COLLECTIONCollection indicator | attribute | Code indicating how the observation value was collected or aggregated over time.Code indicating how the observation value was collected or aggregated over time. |
| PUBL_ECBSource publication (ECB only) | attribute | Reference to the ECB-only source publication for this series.Reference to the ECB-only source publication for this series. |
| PUBL_MUSource publication (Euro area only) | attribute | Reference to the euro area-only source publication for this series.Reference to the euro area-only source publication for this series. |
| PUBL_PUBLICSource publication (public) | attribute | Reference to the publicly available source publication for this series.Reference to the publicly available source publication for this series. |
| AGG_EQUNAggregation equations | attribute | Description of the aggregation equation used to derive the series.Description of the aggregation equation used to derive the series. |
| COMPILATION | attribute | Notes on the compilation methodology used for the series.Notes on the compilation methodology used for the series. |
| DECIMALS | attribute | Number of decimal places used in the observation value.Number of decimal places used in the observation value. |
| SOURCE_AGENCY | attribute | Code identifying the agency that is the source of the data.Code identifying the agency that is the source of the data. |
| TITLE | attribute | Short title describing the data series.Short title describing the data series. |
| TITLE_COMPLTitle complement | attribute | Additional complementary title information for the series.Additional complementary title information for the series. |
| UNIT | attribute | Code indicating the unit of measurement for the observation value.Code indicating the unit of measurement for the observation value. |
| UNIT_MULTUnit multiplier | attribute | Code indicating the scale multiplier applied to the observation value.Code indicating the scale multiplier applied to the observation value. |
| OBS_STATUSObservation status | attribute | Code indicating the status of the observation, e.g. normal or estimated.Code indicating the status of the observation, e.g. normal or estimated. |
| OBS_CONFObservation confidentiality | attribute | Code indicating the confidentiality status of the observation.Code indicating the confidentiality status of the observation. |
| OBS_PRE_BREAKPre-break observation value | attribute | The observation value recorded before a known break in the series.The observation value recorded before a known break in the series. |
| OBS_COMObservation comment | attribute | Free-text comment attached to the observation.Free-text comment attached to the observation. |
Schema captured from sdmx 1 day 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 · OBS_COM: —
{
"FREQ": "A",
"OBS_COM": null,
"BOP_ITEM": "802",
"OBS_CONF": "F",
"REF_AREA": "4F",
"OBS_VALUE": 39630.399999999994,
"ADJUSTMENT": "N",
"COUNT_AREA": "J3",
"OBS_STATUS": "A",
"CURR_BRKDWN": "N",
"TIME_PERIOD": "2007",
"SERIES_DENOM": "E",
"DATA_TYPE_BOP": "8",
"OBS_PRE_BREAK": null
}Record 2FREQ: A · OBS_COM: —
{
"FREQ": "A",
"OBS_COM": null,
"BOP_ITEM": "802",
"OBS_CONF": "F",
"REF_AREA": "4F",
"OBS_VALUE": 47354.29999847412,
"ADJUSTMENT": "N",
"COUNT_AREA": "J4",
"OBS_STATUS": "A",
"CURR_BRKDWN": "N",
"TIME_PERIOD": "2008",
"SERIES_DENOM": "E",
"DATA_TYPE_BOP": "8",
"OBS_PRE_BREAK": null
}Record 3FREQ: A · OBS_COM: —
{
"FREQ": "A",
"OBS_COM": null,
"BOP_ITEM": "802",
"OBS_CONF": "F",
"REF_AREA": "4F",
"OBS_VALUE": 56823.731,
"ADJUSTMENT": "N",
"COUNT_AREA": "J5",
"OBS_STATUS": "A",
"CURR_BRKDWN": "N",
"TIME_PERIOD": "2010",
"SERIES_DENOM": "E",
"DATA_TYPE_BOP": "8",
"OBS_PRE_BREAK": null
}Record 4FREQ: A · OBS_COM: —
{
"FREQ": "A",
"OBS_COM": null,
"BOP_ITEM": "802",
"OBS_CONF": "F",
"REF_AREA": "4F",
"OBS_VALUE": 61879.194942981245,
"ADJUSTMENT": "N",
"COUNT_AREA": "U4",
"OBS_STATUS": "A",
"CURR_BRKDWN": "N",
"TIME_PERIOD": "2012",
"SERIES_DENOM": "E",
"DATA_TYPE_BOP": "8",
"OBS_PRE_BREAK": null
}Record 5FREQ: A · OBS_COM: —
{
"FREQ": "A",
"OBS_COM": null,
"BOP_ITEM": "803",
"OBS_CONF": "F",
"REF_AREA": "4F",
"OBS_VALUE": 28897.799999999996,
"ADJUSTMENT": "N",
"COUNT_AREA": "J3",
"OBS_STATUS": "A",
"CURR_BRKDWN": "N",
"TIME_PERIOD": "2007",
"SERIES_DENOM": "E",
"DATA_TYPE_BOP": "8",
"OBS_PRE_BREAK": 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.