European Central Bank — Structural Housing Indicators (RESH)
Structural Housing Indicators (RESH) is a dataset of official time series published by the European Central Bank via its Data Portal, distributed as the RESH dataflow over the SDMX 2.1 REST API. A single endpoint serves data in SDMX-ML (XML), 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. The dataset covers structural housing market indicators across the euro area and EU, useful for economic analysis of housing prices and market conditions.”}Structural Housing Indicators (RESH) — official time series from the European Central Bank Data Portal, published as the RESH 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 (32 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| FREQFrequency | dimension | Frequency of the observations, e.g. annual or quarterly.2 codes (e.g. Annual, Quarterly) |
| REF_AREAReference area | dimension | Country or area to which the data relates.31 codes (e.g. Austria, EU27 (fixed composition) as of 31 January 2020 (brexit), Belgium) |
| REGIONRegion and geographical coverage | dimension | Geographical coverage within the reference area, e.g. whole country.1 codes (e.g. Whole country) |
| ADJUSTMENTAdjustment indicator | dimension | Indicates whether data are seasonally or working-day adjusted.1 codes (e.g. Neither seasonally nor working day adjusted) |
| PROPERTY_TYPEType of properties | dimension | Type of residential property covered by the series.2 codes (e.g. Residential property, All dwelling types, new, Residential property, All dwelling types, new and existing) |
| INDICATOR | dimension | Housing indicator measured, e.g. construction starts or completions.11 codes (e.g. Number of construction/housing completions, Number of construction/housing starts, Number of properties) |
| DATA_PROVIDER | dimension | Institution that provided the underlying data.28 codes (e.g. Oesterreichische Nationalbank (Austria), European Central Bank (ECB), Banque Nationale de Belgique (Belgium)) |
| PRICE_TYPE | dimension | Type of price basis used, e.g. transaction-based or not applicable.2 codes (e.g. Not applicable, Transaction based) |
| TRANSFORMATION | dimension | Type of statistical transformation applied to the data.1 codes (e.g. Non transformed data) |
| UNIT_MEASUREUnit of measure | dimension | Unit in which the observation value is expressed.3 codes (e.g. Not applicable, Ratio, Euro) |
| 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 of the observation.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. |
| ADJU_DETAILAdjustment detail | attribute | Further detail on the adjustment method applied.Further detail on the adjustment method applied. |
| BREAKS | attribute | Indicates breaks in the time series.Indicates 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 that compiled the data.Organisation that compiled the data. |
| COVERAGE | attribute | Description of the scope or coverage of the series.Description of the scope or coverage of the series. |
| DATA_COMPUnderlying compilation | attribute | Method used to compile the underlying data.Method used to compile the underlying data. |
| DECIMALS | attribute | Number of decimal places in the observation value.Number of decimal places in the observation value. |
| DISS_ORGData dissemination organisation | attribute | Organisation responsible for disseminating the data.Organisation responsible for disseminating the data. |
| DOM_SER_IDSDomestic series ids | attribute | Identifier of the corresponding domestic series.Identifier of the corresponding domestic series. |
| TIME_PER_COLLECTTime period collection | attribute | Time period over which the data were collected.Time period over which the data were collected. |
| TITLE | attribute | Title of the time series.Title of the time series. |
| TITLE_COMPLTitle complement | attribute | Additional descriptive text complementing the series title.Additional descriptive text complementing the series title. |
| UNIT_INDEX_BASE | attribute | Base period or value used for an index unit.Base period or value used for an index unit. |
| UNIT_MULTUnit multiplier | attribute | Multiplier applied to the unit of measure.Multiplier applied to the unit of measure. |
| UPDATE_STATUS | attribute | Status indicating whether the observation is newly updated.Status indicating whether the observation is newly updated. |
| OBS_STATUSObservation status | attribute | Status code describing the nature of the observation value.Status code describing the nature of the observation value. |
| CONF_STATUSConfidentiality status | attribute | Confidentiality status of the observation.Confidentiality status of the observation. |
| PRE_BREAK_VALUE | attribute | Value of the series before a data break occurred.Value of the series before a data break occurred. |
| COMMENT_OBSComments to the observation value | attribute | Comment relating to a specific observation value.Comment relating to a 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 · REGION: _T
{
"FREQ": "A",
"REGION": "_T",
"REF_AREA": "AT",
"INDICATOR": "HCOM",
"OBS_VALUE": 54.472,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"PRICE_TYPE": "_Z",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"TIME_PERIOD": "2024",
"EMBARGO_TIME": null,
"UNIT_MEASURE": "_Z",
"DATA_PROVIDER": "AT2",
"PROPERTY_TYPE": "NTR",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 2FREQ: A · REGION: _T
{
"FREQ": "A",
"REGION": "_T",
"REF_AREA": "AT",
"INDICATOR": "HSTA",
"OBS_VALUE": 47.637,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"PRICE_TYPE": "_Z",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"TIME_PERIOD": "2025",
"EMBARGO_TIME": null,
"UNIT_MEASURE": "_Z",
"DATA_PROVIDER": "AT2",
"PROPERTY_TYPE": "NTR",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 3FREQ: A · REGION: _T
{
"FREQ": "A",
"REGION": "_T",
"REF_AREA": "AT",
"INDICATOR": "NPRO",
"OBS_VALUE": 5080.357,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"PRICE_TYPE": "_Z",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"TIME_PERIOD": "2024",
"EMBARGO_TIME": null,
"UNIT_MEASURE": "_Z",
"DATA_PROVIDER": "AT2",
"PROPERTY_TYPE": "_TR",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 4FREQ: A · REGION: _T
{
"FREQ": "A",
"REGION": "_T",
"REF_AREA": "AT",
"INDICATOR": "NTRA",
"OBS_VALUE": 62.499,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"PRICE_TYPE": "_Z",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"TIME_PERIOD": "2025",
"EMBARGO_TIME": null,
"UNIT_MEASURE": "_Z",
"DATA_PROVIDER": "AT2",
"PROPERTY_TYPE": "_TR",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 5FREQ: A · REGION: _T
{
"FREQ": "A",
"REGION": "_T",
"REF_AREA": "AT",
"INDICATOR": "PRHH",
"OBS_VALUE": 4182.056,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"PRICE_TYPE": "_Z",
"COMMENT_OBS": null,
"CONF_STATUS": "F",
"TIME_PERIOD": "2025",
"EMBARGO_TIME": null,
"UNIT_MEASURE": "_Z",
"DATA_PROVIDER": "AT2",
"PROPERTY_TYPE": "_TR",
"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.