European Central Bank — Structural Housing Indicators Statistics (SHI)
Structural Housing Indicators Statistics (SHI) is an official dataset published by the European Central Bank through its Data Portal, distributed as the SHI dataflow over the SDMX 2.1 REST API. A single endpoint serves data in XML (SDMX-ML), CSV, and JSON formats, allowing users to extract specific series using a key path combined with startPeriod, endPeriod, or lastNObservations filters. The same series can also be browsed and charted interactively on the ECB Data Portal website. The dataset covers structural housing market indicators across the euro area and European Union, useful for economic and housing market analysis.Structural Housing Indicators Statistics (SHI) — official time series from the European Central Bank Data Portal, published as the SHI 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 (21 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| FREQFrequency | dimension | Frequency of the observation, e.g. annual or quarterly.2 codes (e.g. Annual, Quarterly) |
| REF_AREAReference area | dimension | Reference country or area for the observation.33 codes (e.g. Austria, Belgium, Bulgaria) |
| SHI_INDICATORStructural housing indicators | dimension | Structural housing indicator being measured, e.g. dwellings or housing starts.11 codes (e.g. Number of dwellings, Number of housing completions, Number of housing starts) |
| SHI_SUFFIXSeries variation -SHI context | dimension | Indicates whether the value is an absolute figure or a percentage.2 codes (e.g. Absolute value, Percentage) |
| TIME_PERIODTime period or range | time | Time period of the observation, filterable by start/end date.Time dimension — filter with startPeriod / endPeriod query params. |
| OBS_VALUEObservation value | number | Numeric value observed for the series at this period.The observed numeric value for each cell. |
| TIME_FORMATTime format code | attribute | Code specifying the format used for the time period.Code specifying the format used for the time period. |
| COLLECTIONCollection indicator | attribute | Code indicating how the data was collected or aggregated over time.Code indicating how the data was collected or aggregated over time. |
| 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. |
| COMPILATION | attribute | Notes on the methodology used to compile the observation.Notes on the methodology used to compile the observation. |
| DECIMALS | attribute | Number of decimal places in the observation value.Number of decimal places in the observation value. |
| SOURCE_AGENCY | attribute | Agency that originally sourced or provided the data.Agency that originally sourced or provided the data. |
| TITLE | attribute | Title describing the data series.Title describing the data series. |
| TITLE_COMPLTitle complement | attribute | Additional descriptive text complementing the series title.Additional descriptive 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 | Power-of-ten multiplier applied to the observation value.Power-of-ten multiplier applied to the observation value. |
| OBS_STATUSObservation status | attribute | Status flag indicating data quality, e.g. estimated or provisional.Status flag indicating data quality, e.g. estimated or provisional. |
| OBS_CONFObservation confidentiality | attribute | Confidentiality classification of the observation.Confidentiality classification of the observation. |
| OBS_PRE_BREAKPre-break observation value | attribute | Value of the observation prior to a break in the time series.Value of the observation prior to a break in the time series. |
| OBS_COMObservation comment | attribute | Free-text comment or note on the observation.Free-text comment or note on the observation. |
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 · OBS_COM: —
{
"FREQ": "A",
"OBS_COM": null,
"OBS_CONF": "F",
"REF_AREA": "AT",
"OBS_VALUE": null,
"OBS_STATUS": "M",
"SHI_SUFFIX": "A",
"TIME_PERIOD": "2016",
"OBS_PRE_BREAK": null,
"SHI_INDICATOR": "DWEL"
}Record 2FREQ: A · OBS_COM: —
{
"FREQ": "A",
"OBS_COM": null,
"OBS_CONF": "F",
"REF_AREA": "AT",
"OBS_VALUE": 56.359,
"OBS_STATUS": "E",
"SHI_SUFFIX": "A",
"TIME_PERIOD": "2016",
"OBS_PRE_BREAK": null,
"SHI_INDICATOR": "HCOM"
}Record 3FREQ: A · OBS_COM: —
{
"FREQ": "A",
"OBS_COM": null,
"OBS_CONF": "F",
"REF_AREA": "AT",
"OBS_VALUE": 75.606,
"OBS_STATUS": "E",
"SHI_SUFFIX": "A",
"TIME_PERIOD": "2017",
"OBS_PRE_BREAK": null,
"SHI_INDICATOR": "HSTA"
}Record 4FREQ: A · OBS_COM: —
{
"FREQ": "A",
"OBS_COM": null,
"OBS_CONF": "F",
"REF_AREA": "AT",
"OBS_VALUE": 78.125,
"OBS_STATUS": "A",
"SHI_SUFFIX": "A",
"TIME_PERIOD": "2018",
"OBS_PRE_BREAK": null,
"SHI_INDICATOR": "HTRA"
}Record 5FREQ: A · OBS_COM: —
{
"FREQ": "A",
"OBS_COM": null,
"OBS_CONF": "F",
"REF_AREA": "AT",
"OBS_VALUE": 3890.092,
"OBS_STATUS": "A",
"SHI_SUFFIX": "A",
"TIME_PERIOD": "2017",
"OBS_PRE_BREAK": null,
"SHI_INDICATOR": "PRHH"
}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.