European Central Bank — Securities Holding Statistics (SHS)
Securities Holding Statistics (SHS) is an official dataset published by the European Central Bank through its Data Portal, providing time series on holdings of securities by euro-area institutional sectors and countries. The data are made available as the SHS dataflow via the SDMX 2.1 REST API, with a single endpoint supporting XML (SDMX-ML), CSV and JSON output formats. Users can retrieve specific series using key paths combined with startPeriod, endPeriod and lastNObservations filters. The same series can also be browsed and visualised interactively on the ECB Data Portal, supporting analysis of securities holdings across the European financial system.Securities Holding Statistics (SHS) — official time series from the European Central Bank Data Portal, published as the SHS 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 (37 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| FREQFrequency | dimension | Frequency of the observation, e.g. quarterly.1 codes (e.g. Quarterly) |
| HOLDER_AREAHolder country | dimension | Country or area classification of the securities holder.1 codes (e.g. Euro area 19 (fixed composition) as of 1 January 2015) |
| ISSUER_AREAIssuer domicile country | dimension | Country or area where the security issuer is domiciled.55 codes (e.g. All European Community Institutions, Organs and Organisms, including ECB, ESM and EFSF, Argentina, Austria) |
| HOLDER_SECTOR | dimension | Institutional sector of the securities holder.8 codes (e.g. Non financial corporations, Other financial institutions (Financial corporations other than MFIs, insurance corporations and pension funds), Insurance corporations and Pension Funds) |
| ISSUER_SECTORIssuer ESA 2010 sector | dimension | ESA 2010 institutional sector of the security issuer.8 codes (e.g. Not sectorised, Total economy, Non financial corporations) |
| FUNCTIONAL_CATFunctional category | dimension | Functional category classification of the holding.1 codes (e.g. Not allocated/unspecified) |
| STOStocks, Transactions, Other Flows | dimension | Indicates whether the value is a stock, transaction or other flow.1 codes (e.g. Closing balance sheet/Positions/Stocks) |
| INSTR_ASSETInstrument and assets classification | dimension | Financial instrument or asset type classification, e.g. debt securities.3 codes (e.g. Debt securities, Listed shares, Investment fund shares/units) |
| MATURITY | dimension | Original maturity classification of the instrument.3 codes (e.g. Long-term original maturity (over 1 year or no stated maturity), Short-term original maturity (up to 1 year), Not applicable) |
| UNIT_MEASUREUnit of measure | dimension | Unit in which the observation value is measured, e.g. euro.1 codes (e.g. Euro) |
| VALUATION | dimension | Valuation method applied to the observation, e.g. market value.1 codes (e.g. Market value) |
| SECURITY_TYPE | dimension | Type of security covered by the observation.1 codes (e.g. All) |
| MA_FLAGMacro-adjustment flag | dimension | Flag indicating whether macro-adjustment has been applied.1 codes (e.g. All) |
| IS_IN_EADB | dimension | Flag indicating whether the security is in the Eurosystem Assets Database.1 codes (e.g. All) |
| SECURITISATION_TYPAsset securitisation type | dimension | Type of asset securitisation applicable to the security.1 codes (e.g. Unspecified) |
| DEBT_TYPE | dimension | Classification of the debt instrument type.1 codes (e.g. Unspecified) |
| TPHThird party holdings flag | dimension | Flag indicating third-party holdings status.1 codes (e.g. R and Y combined) |
| NOM_CURRNominal currency of the security | dimension | Nominal currency in which the security is denominated.1 codes (e.g. All currencies) |
| COMPILING_ORGCompiling organisation | dimension | Organisation responsible for compiling the data.1 codes (e.g. Unspecified (e.g. any, dissemination, internal exchange etc)) |
| TIME_PERIODTime period or range | time | Reference time period of the observation, filterable by date range.Time dimension — filter with startPeriod / endPeriod query params. |
| OBS_VALUEObservation value | number | Numeric value of the observation for this data point.The observed numeric value for each cell. |
| TIME_FORMATTime format code | attribute | Code indicating the format used for the time period.Code indicating the format used for the time period. |
| COMMENT_TSSeries comment including brief description of the underlying statistic | attribute | Comment describing the underlying time series.Comment describing the underlying time series. |
| DATA_COMPUnderlying compilation | attribute | Information on how the underlying data was compiled.Information on how the underlying data was compiled. |
| DECIMALS | attribute | Number of decimal places used in the observation value.Number of decimal places used in the observation value. |
| DISS_ORGData dissemination organisation | attribute | Organisation responsible for disseminating the data.Organisation responsible for disseminating the data. |
| REF_PERIOD_DETAILReference period detail | attribute | Additional detail on the reference period.Additional detail on the reference period. |
| TIME_PER_COLLECTTime period collection | attribute | Indicates how the time period was collected, e.g. average or end of period.Indicates how the time period was collected, e.g. average or end of period. |
| TITLE | attribute | Title of the data series.Title of the data series. |
| TITLE_COMPLTitle complement | attribute | Additional complementary text to the series title.Additional complementary text to the series title. |
| UNIT_MULTUnit multiplier | attribute | Multiplier applied to the unit of measure, e.g. thousands or millions.Multiplier applied to the unit of measure, e.g. thousands or millions. |
| 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 status of the observation.Confidentiality status of the observation. |
| PRE_BREAK_VALUE | attribute | Value of the observation before a break in the time series.Value of the observation before a break in the time series. |
| COMMENT_OBSComments to the observation value | attribute | Comment specific to this individual observation value.Comment specific to this individual observation value. |
| EAPLUS_FLAG | attribute | Flag indicating inclusion in the EAPlus aggregate.Flag indicating inclusion in the EAPlus aggregate. |
| ESCB_FLAG | attribute | Flag indicating relevance to the European System of Central Banks.Flag indicating relevance to the European System of Central Banks. |
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 1STO: LE · TPH: V
{
"STO": "LE",
"TPH": "V",
"FREQ": "Q",
"MA_FLAG": "A",
"MATURITY": "L",
"NOM_CURR": "_T",
"DEBT_TYPE": "_X",
"ESCB_FLAG": null,
"OBS_VALUE": 1111.097119,
"VALUATION": "M",
"IS_IN_EADB": "A",
"OBS_STATUS": "A",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"EAPLUS_FLAG": null,
"HOLDER_AREA": "I8",
"INSTR_ASSET": "F3",
"ISSUER_AREA": "4Y",
"TIME_PERIOD": "2022-Q1",
"UNIT_MEASURE": "EUR",
"COMPILING_ORG": "ZZZ",
"HOLDER_SECTOR": "S11",
"ISSUER_SECTOR": "S1N",
"SECURITY_TYPE": "A",
"FUNCTIONAL_CAT": "_X",
"PRE_BREAK_VALUE": null,
"SECURITISATION_TYP": "_X"
}Record 2STO: LE · TPH: V
{
"STO": "LE",
"TPH": "V",
"FREQ": "Q",
"MA_FLAG": "A",
"MATURITY": "S",
"NOM_CURR": "_T",
"DEBT_TYPE": "_X",
"ESCB_FLAG": null,
"OBS_VALUE": 45.04535,
"VALUATION": "M",
"IS_IN_EADB": "A",
"OBS_STATUS": "A",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"EAPLUS_FLAG": null,
"HOLDER_AREA": "I8",
"INSTR_ASSET": "F3",
"ISSUER_AREA": "4Y",
"TIME_PERIOD": "2021-Q4",
"UNIT_MEASURE": "EUR",
"COMPILING_ORG": "ZZZ",
"HOLDER_SECTOR": "S11",
"ISSUER_SECTOR": "S1N",
"SECURITY_TYPE": "A",
"FUNCTIONAL_CAT": "_X",
"PRE_BREAK_VALUE": null,
"SECURITISATION_TYP": "_X"
}Record 3STO: LE · TPH: V
{
"STO": "LE",
"TPH": "V",
"FREQ": "Q",
"MA_FLAG": "A",
"MATURITY": "_Z",
"NOM_CURR": "_T",
"DEBT_TYPE": "_X",
"ESCB_FLAG": null,
"OBS_VALUE": 0,
"VALUATION": "M",
"IS_IN_EADB": "A",
"OBS_STATUS": "A",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"EAPLUS_FLAG": null,
"HOLDER_AREA": "I8",
"INSTR_ASSET": "F511",
"ISSUER_AREA": "4Y",
"TIME_PERIOD": "2019-Q4",
"UNIT_MEASURE": "EUR",
"COMPILING_ORG": "ZZZ",
"HOLDER_SECTOR": "S11",
"ISSUER_SECTOR": "S1N",
"SECURITY_TYPE": "A",
"FUNCTIONAL_CAT": "_X",
"PRE_BREAK_VALUE": null,
"SECURITISATION_TYP": "_X"
}Record 4STO: LE · TPH: V
{
"STO": "LE",
"TPH": "V",
"FREQ": "Q",
"MA_FLAG": "A",
"MATURITY": "_Z",
"NOM_CURR": "_T",
"DEBT_TYPE": "_X",
"ESCB_FLAG": null,
"OBS_VALUE": 0,
"VALUATION": "M",
"IS_IN_EADB": "A",
"OBS_STATUS": "A",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"EAPLUS_FLAG": null,
"HOLDER_AREA": "I8",
"INSTR_ASSET": "F52",
"ISSUER_AREA": "4Y",
"TIME_PERIOD": "2019-Q4",
"UNIT_MEASURE": "EUR",
"COMPILING_ORG": "ZZZ",
"HOLDER_SECTOR": "S11",
"ISSUER_SECTOR": "S1N",
"SECURITY_TYPE": "A",
"FUNCTIONAL_CAT": "_X",
"PRE_BREAK_VALUE": null,
"SECURITISATION_TYP": "_X"
}Record 5STO: LE · TPH: V
{
"STO": "LE",
"TPH": "V",
"FREQ": "Q",
"MA_FLAG": "A",
"MATURITY": "L",
"NOM_CURR": "_T",
"DEBT_TYPE": "_X",
"ESCB_FLAG": null,
"OBS_VALUE": 40171.8228,
"VALUATION": "M",
"IS_IN_EADB": "A",
"OBS_STATUS": "A",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"EAPLUS_FLAG": null,
"HOLDER_AREA": "I8",
"INSTR_ASSET": "F3",
"ISSUER_AREA": "4Y",
"TIME_PERIOD": "2022-Q1",
"UNIT_MEASURE": "EUR",
"COMPILING_ORG": "ZZZ",
"HOLDER_SECTOR": "S12P",
"ISSUER_SECTOR": "S1N",
"SECURITY_TYPE": "A",
"FUNCTIONAL_CAT": "_X",
"PRE_BREAK_VALUE": null,
"SECURITISATION_TYP": "_X"
}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.