European Central Bank — Opinion Surveys (SUR)
Opinion Surveys (SUR) is a dataset of official time series published by the European Central Bank via its Data Portal, covering economic sentiment and price-related survey indicators for the euro area. The data is distributed as the SUR dataflow through the SDMX 2.1 REST API, with a single endpoint serving XML (SDMX-ML), CSV, and JSON formats. Users can extract specific series using a key path together with startPeriod, endPeriod, and lastNObservations filters. The same series can also be browsed and charted directly on the ECB Data Portal, making the dataset useful for economic analysis and monitoring of survey-based indicators.Opinion Surveys (SUR) — official time series from the European Central Bank Data Portal, published as the SUR 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 (28 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| FREQFrequency | dimension | Code indicating the frequency of the observations, e.g. quarterly.1 codes (e.g. Quarterly) |
| REF_AREAReference area | dimension | Code identifying the geographic reference area, e.g. euro area or EU27.2 codes (e.g. Euro area 20 (fixed composition) as of 1 January 2023, EU27 (fixed composition) as of 31 January 2020 (brexit)) |
| ADJUSTMENTAdjustment indicator | dimension | Code indicating whether the data are seasonally or working-day adjusted.1 codes (e.g. Neither seasonally nor working day adjusted) |
| SURVEY_SOURCE | dimension | Code identifying the organisation conducting the survey, e.g. EU Commission DG-ECFIN.1 codes (e.g. EU Commission, DG-ECFIN) |
| SURVEY_ITEM | dimension | Code identifying the specific survey question or indicator measured.8 codes (e.g. Consumer survey - quantitative price trends over last 12 months - 1st quartile, Consumer survey - quantitative price trends over last 12 months - median, Consumer survey - quantitative price trends over last 12 months - 3rd quartile) |
| SURVEY_BRKDWNSurvey breakdown | dimension | Code identifying the respondent breakdown category, e.g. age group.14 codes (e.g. Age of respondent 16-29, Age of respondent 30-49, Age of respondent 50-64) |
| TIME_PERIODTime period or range | time | Time period to which the observation refers.Time dimension — filter with startPeriod / endPeriod query params. |
| OBS_VALUEObservation value | number | Numeric value of the observed survey indicator.The observed numeric value for each cell. |
| TIME_FORMATTime format code | attribute | Code specifying the time format used for the series.Code specifying the time format used for the series. |
| BREAKS | attribute | Attribute flagging structural breaks in the time series.Attribute flagging structural breaks in the time series. |
| COLLECTIONCollection indicator | attribute | Code indicating how the observation was collected, e.g. period type.Code indicating how the observation was collected, e.g. period type. |
| COMPILING_ORGCompiling organisation | attribute | Code identifying the organisation that compiled the data.Code identifying the organisation that compiled the data. |
| DISS_ORGData dissemination organisation | attribute | Code identifying the organisation disseminating the data.Code identifying the organisation disseminating the data. |
| DOM_SER_IDSDomestic series ids | attribute | Identifier(s) of the corresponding domestic (national) series.Identifier(s) of the corresponding domestic (national) series. |
| PUBL_ECBSource publication (ECB only) | attribute | Reference to the ECB publication where the series appears.Reference to the ECB publication where the series appears. |
| PUBL_MUSource publication (Euro area only) | attribute | Reference to the euro area publication where the series appears.Reference to the euro area publication where the series appears. |
| PUBL_PUBLICSource publication (public) | attribute | Reference to the public source publication for the series.Reference to the public source publication for the series. |
| UNIT_INDEX_BASE | attribute | Base period or value used for indexing the series.Base period or value used for indexing the series. |
| COMPILATION | attribute | Notes on the methodology used to compile the series.Notes on the methodology used to compile the series. |
| COVERAGE | attribute | Description of the scope or coverage of the data.Description of the scope or coverage of the data. |
| DECIMALS | attribute | Number of decimal places shown in the observation value.Number of decimal places shown in the observation value. |
| SOURCE_AGENCY | attribute | Code identifying the agency that originally sourced the data.Code identifying the agency that originally sourced the data. |
| SOURCE_PUBPublication source | attribute | Reference to the original source publication of the data.Reference to the original source publication of the data. |
| TITLE | attribute | Short title describing the time series.Short title describing the time series. |
| TITLE_COMPLTitle complement | attribute | Extended or complementary title describing the time series.Extended or complementary title describing the time series. |
| 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 | Code indicating the status of the observation, e.g. estimated or provisional.Code indicating the status of the observation, e.g. estimated or provisional. |
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: Q · OBS_COM: —
{
"FREQ": "Q",
"OBS_COM": null,
"OBS_CONF": "F",
"REF_AREA": "I9",
"OBS_VALUE": 6.43424999387569,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"SURVEY_ITEM": "CNS051_25",
"TIME_PERIOD": "2025-Q1",
"OBS_PRE_BREAK": null,
"SURVEY_BRKDWN": "A1",
"SURVEY_SOURCE": "ECFIN"
}Record 2FREQ: Q · OBS_COM: —
{
"FREQ": "Q",
"OBS_COM": null,
"OBS_CONF": "F",
"REF_AREA": "I9",
"OBS_VALUE": 6.6891235428133,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"SURVEY_ITEM": "CNS051_25",
"TIME_PERIOD": "2025-Q1",
"OBS_PRE_BREAK": null,
"SURVEY_BRKDWN": "A2",
"SURVEY_SOURCE": "ECFIN"
}Record 3FREQ: Q · OBS_COM: —
{
"FREQ": "Q",
"OBS_COM": null,
"OBS_CONF": "F",
"REF_AREA": "I9",
"OBS_VALUE": 6.52261536363393,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"SURVEY_ITEM": "CNS051_25",
"TIME_PERIOD": "2025-Q1",
"OBS_PRE_BREAK": null,
"SURVEY_BRKDWN": "A3",
"SURVEY_SOURCE": "ECFIN"
}Record 4FREQ: Q · OBS_COM: —
{
"FREQ": "Q",
"OBS_COM": null,
"OBS_CONF": "F",
"REF_AREA": "I9",
"OBS_VALUE": 6.20961594802136,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"SURVEY_ITEM": "CNS051_25",
"TIME_PERIOD": "2025-Q1",
"OBS_PRE_BREAK": null,
"SURVEY_BRKDWN": "A4",
"SURVEY_SOURCE": "ECFIN"
}Record 5FREQ: Q · OBS_COM: —
{
"FREQ": "Q",
"OBS_COM": null,
"OBS_CONF": "F",
"REF_AREA": "I9",
"OBS_VALUE": 6.95930591021579,
"ADJUSTMENT": "N",
"OBS_STATUS": "A",
"SURVEY_ITEM": "CNS051_25",
"TIME_PERIOD": "2025-Q1",
"OBS_PRE_BREAK": null,
"SURVEY_BRKDWN": "E1",
"SURVEY_SOURCE": "ECFIN"
}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.