European Central Bank — Short-Term Business Statistics (STBS)
Short-Term Business Statistics (STBS) is an official time series dataset published by the European Central Bank via the ECB Data Portal, made available as the STBS dataflow over the SDMX 2.1 REST API. A single endpoint serves data in multiple formats, including XML (SDMX-ML), CSV, and JSON, allowing users to extract specific series using a key path together with startPeriod, endPeriod, or lastNObservations filters. The same series can also be browsed and charted interactively on the ECB Data Portal, providing free, unauthenticated access to euro area short-term business and price-related economic indicators.Short-Term Business Statistics (STBS) — official time series from the European Central Bank Data Portal, published as the STBS 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 (30 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| FREQFrequency | dimension | Frequency of the time series, e.g. monthly or quarterly.2 codes (e.g. Monthly, Quarterly) |
| REF_AREAReference area | dimension | Geographic reference area covered by the observation.2 codes (e.g. Euro area 21 (fixed composition) as of 1 January 2026, Euro area 20 (fixed composition) as of 1 January 2023) |
| ADJUSTMENTAdjustment indicator | dimension | Indicates seasonal and/or working-day adjustment applied to the data.4 codes (e.g. Neither seasonally nor working day adjusted, Working day adjusted, not seasonally adjusted, Working day and seasonally adjusted) |
| BCS_CONCEPTConcept - BCS context | dimension | Statistical concept measured, in the business cycle statistics context.19 codes (e.g. Building Permits/ Sq. meters of useful floor area or alt. size measure, Import Price Index, Import price index (extra euro area)) |
| BCS_CLASSClassification - BCS context | dimension | Classification or industry/sector category for the observation.212 codes (e.g. All buildings, MINING AND QUARRYING - NACE Rev2, Mining of coal and lignite - NACE Rev2) |
| DATA_PROVIDER | dimension | Organisation that supplied the underlying data.2 codes (e.g. Statistical Office of the European Commission (Eurostat), European Central Bank (ECB)) |
| TRANSFORMATION | dimension | Type of transformation applied, e.g. non-transformed or growth rate.3 codes (e.g. Non transformed data, Growth rate %, period on period, Growth rate %, over 1 year) |
| UNIT_MEASUREUnit of measure | dimension | Unit in which the observation value is expressed.1 codes (e.g. Index) |
| TIME_PERIODTime period or range | time | Time period of the observation, filterable via date range parameters.Time dimension — filter with startPeriod / endPeriod query params. |
| OBS_VALUEObservation value | number | Numeric value of the observation for the given series and period.The observed numeric value for each cell. |
| TIME_FORMATTime format code | attribute | Code indicating the format of the time period value.Code indicating the format of the time period value. |
| ADJU_DETAILAdjustment detail | attribute | Additional detail on the adjustment method used.Additional detail on the adjustment method used. |
| BREAKS | attribute | Information about structural breaks in the time series.Information about structural breaks in the time series. |
| TIME_PER_COLLECTTime period collection | attribute | Indicates how the time period value was collected or determined.Indicates how the time period value was collected or determined. |
| COMMENT_TSSeries comment including brief description of the underlying statistic | attribute | Free-text comment describing the underlying statistic for the series.Free-text comment describing the underlying statistic for the series. |
| COMPILING_ORGCompiling organisation | attribute | Organisation responsible for compiling the data.Organisation responsible for compiling the data. |
| COVERAGE | attribute | Description of the scope or coverage of the series.Description of the scope or coverage of the series. |
| DISS_ORGData dissemination organisation | attribute | Organisation responsible for disseminating the data.Organisation responsible for disseminating the data. |
| DOM_SER_IDSDomestic series ids | attribute | Identifiers of corresponding domestic (national) series.Identifiers of corresponding domestic (national) series. |
| DATA_COMPUnderlying compilation | attribute | Notes on how the underlying data were compiled.Notes 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. |
| TITLE | attribute | Short title of the time series.Short 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 the index unit.Base period or value used for the index unit. |
| 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. |
| UPDATE_STATUS | attribute | Status indicating whether the observation is new, revised or unchanged.Status indicating whether the observation is new, revised or unchanged. |
| OBS_STATUSObservation status | attribute | Status flag describing the quality or nature of the observation.Status flag describing the quality or nature of the observation. |
| 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 structural break.Value of the series immediately before a structural break. |
| COMMENT_OBSComments to the observation value | attribute | Free-text comment specific to this individual observation.Free-text comment specific to this individual 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: M · REF_AREA: I10
{
"FREQ": "M",
"REF_AREA": "I10",
"BCS_CLASS": "CC1000",
"OBS_VALUE": 95,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"BCS_CONCEPT": "BPM2",
"COMMENT_OBS": null,
"CONF_STATUS": "E",
"TIME_PERIOD": "2026-06",
"EMBARGO_TIME": null,
"UNIT_MEASURE": "IX",
"DATA_PROVIDER": "4D0",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 2FREQ: M · REF_AREA: I10
{
"FREQ": "M",
"REF_AREA": "I10",
"BCS_CLASS": "2B0000",
"OBS_VALUE": 134.3,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"BCS_CONCEPT": "IMPR",
"COMMENT_OBS": null,
"CONF_STATUS": "E",
"TIME_PERIOD": "2026-08",
"EMBARGO_TIME": null,
"UNIT_MEASURE": "IX",
"DATA_PROVIDER": "4D0",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 3FREQ: M · REF_AREA: I10
{
"FREQ": "M",
"REF_AREA": "I10",
"BCS_CLASS": "2B0500",
"OBS_VALUE": 117.5,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"BCS_CONCEPT": "IMPR",
"COMMENT_OBS": null,
"CONF_STATUS": "E",
"TIME_PERIOD": "2026-08",
"EMBARGO_TIME": null,
"UNIT_MEASURE": "IX",
"DATA_PROVIDER": "4D0",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 4FREQ: M · REF_AREA: I10
{
"FREQ": "M",
"REF_AREA": "I10",
"BCS_CLASS": "2B0600",
"OBS_VALUE": 136.5,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"BCS_CONCEPT": "IMPR",
"COMMENT_OBS": null,
"CONF_STATUS": "E",
"TIME_PERIOD": "2026-08",
"EMBARGO_TIME": null,
"UNIT_MEASURE": "IX",
"DATA_PROVIDER": "4D0",
"TRANSFORMATION": "N",
"PRE_BREAK_VALUE": null
}Record 5FREQ: M · REF_AREA: I10
{
"FREQ": "M",
"REF_AREA": "I10",
"BCS_CLASS": "2B0700",
"OBS_VALUE": 110.5,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"BCS_CONCEPT": "IMPR",
"COMMENT_OBS": null,
"CONF_STATUS": "E",
"TIME_PERIOD": "2026-08",
"EMBARGO_TIME": null,
"UNIT_MEASURE": "IX",
"DATA_PROVIDER": "4D0",
"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.