European Central Bank — STEP data (STP)
STEP data (STP) — official time series from the European Central Bank Data Portal, published as the STP 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 (34 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| FREQFrequency | dimension | 2 codes (e.g. Daily - businessweek, Weekly) |
| REF_AREAReference area | dimension | 1 codes (e.g. World (all entities)) |
| SEC_ISSUING_SECTORSecurities issuing sector | dimension | 6 codes (e.g. Total economy, Non-financial corporations (ESA 95 classification), Other financial intermediaries, except insurance corporations and pension funds (ESA 95 classification)) |
| IR_FV_TYPEInterest rate type (fix/var) | dimension | 3 codes (e.g. All rates (fixed, variable, zero coupon), Zero coupon, Variable) |
| FLOATING_RATE_BASE | dimension | 9 codes (e.g. Unspecified, EONIA, EURIBOR 1 month) |
| MATURITY_TYPE | dimension | 2 codes (e.g. Original, Residual) |
| MATURITY_CATMaturity category | dimension | 19 codes (e.g. Total, 0-3 days, 4-9 days) |
| CREDIT_RATINGProgramme credit rating | dimension | 3 codes (e.g. Highest credit ratings, High credit ratings, All ratings) |
| DATA_TYPE_SECSecurities data type | dimension | 4 codes (e.g. (Gross) issues against cash (flows), Outstanding amounts at the end of the period (stocks), Issue Yield) |
| COLLATERAL | dimension | 1 codes (e.g. All collaterals) |
| CURRENCY_TRANSCurrency of transaction | dimension | 6 codes (e.g. All currencies combined, Euro, UK pound sterling) |
| SEC_SUFFIXSeries suffix - SEC context | dimension | 3 codes (e.g. Euro million equivalent, Percentage share of all issues, Percentage points per annum) |
| TIME_PERIODTime period or range | time | Time dimension — filter with startPeriod / endPeriod query params. |
| OBS_VALUEObservation value | number | The observed numeric value for each cell. |
| TIME_FORMATTime format code | attribute | — |
| BREAKS | attribute | — |
| COLLECTIONCollection indicator | attribute | — |
| COMPILING_ORGCompiling organisation | attribute | — |
| DISS_ORGData dissemination organisation | attribute | — |
| DOM_SER_IDSDomestic series ids | attribute | — |
| PUBL_ECBSource publication (ECB only) | attribute | — |
| PUBL_MUSource publication (Euro area only) | attribute | — |
| PUBL_PUBLICSource publication (public) | attribute | — |
| UNIT_INDEX_BASE | attribute | — |
| COMPILATION | attribute | — |
| COVERAGE | attribute | — |
| DECIMALS | attribute | — |
| SOURCE_AGENCY | attribute | — |
| TITLE | attribute | — |
| TITLE_COMPLTitle complement | attribute | — |
| UNIT | attribute | — |
| UNIT_MULTUnit multiplier | attribute | — |
| OBS_STATUSObservation status | attribute | — |
| OBS_CONFObservation confidentiality | attribute | — |
Schema captured from sdmx 1 month 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: B · REF_AREA: A1
{
"FREQ": "B",
"REF_AREA": "A1",
"OBS_VALUE": 7414.0972,
"COLLATERAL": "A",
"IR_FV_TYPE": "A",
"SEC_SUFFIX": "E",
"TIME_PERIOD": "2026-07-17",
"MATURITY_CAT": "AA",
"CREDIT_RATING": "R1",
"DATA_TYPE_SEC": "2",
"MATURITY_TYPE": "O",
"CURRENCY_TRANS": "Z01",
"FLOATING_RATE_BASE": "XXXX",
"SEC_ISSUING_SECTOR": "1000"
}Record 2FREQ: B · REF_AREA: A1
{
"FREQ": "B",
"REF_AREA": "A1",
"OBS_VALUE": 2427.1727,
"COLLATERAL": "A",
"IR_FV_TYPE": "A",
"SEC_SUFFIX": "E",
"TIME_PERIOD": "2026-07-17",
"MATURITY_CAT": "AA",
"CREDIT_RATING": "R2",
"DATA_TYPE_SEC": "2",
"MATURITY_TYPE": "O",
"CURRENCY_TRANS": "Z01",
"FLOATING_RATE_BASE": "XXXX",
"SEC_ISSUING_SECTOR": "1000"
}Record 3FREQ: B · REF_AREA: A1
{
"FREQ": "B",
"REF_AREA": "A1",
"OBS_VALUE": 11708.8497,
"COLLATERAL": "A",
"IR_FV_TYPE": "A",
"SEC_SUFFIX": "E",
"TIME_PERIOD": "2026-07-17",
"MATURITY_CAT": "AA",
"CREDIT_RATING": "RA",
"DATA_TYPE_SEC": "2",
"MATURITY_TYPE": "O",
"CURRENCY_TRANS": "Z01",
"FLOATING_RATE_BASE": "XXXX",
"SEC_ISSUING_SECTOR": "1000"
}Record 4FREQ: B · REF_AREA: A1
{
"FREQ": "B",
"REF_AREA": "A1",
"OBS_VALUE": 100,
"COLLATERAL": "A",
"IR_FV_TYPE": "A",
"SEC_SUFFIX": "I",
"TIME_PERIOD": "2026-07-17",
"MATURITY_CAT": "AA",
"CREDIT_RATING": "RA",
"DATA_TYPE_SEC": "2",
"MATURITY_TYPE": "O",
"CURRENCY_TRANS": "Z01",
"FLOATING_RATE_BASE": "XXXX",
"SEC_ISSUING_SECTOR": "1000"
}Record 5FREQ: B · REF_AREA: A1
{
"FREQ": "B",
"REF_AREA": "A1",
"OBS_VALUE": 430,
"COLLATERAL": "A",
"IR_FV_TYPE": "A",
"SEC_SUFFIX": "E",
"TIME_PERIOD": "2013-11-08",
"MATURITY_CAT": "DA",
"CREDIT_RATING": "R1",
"DATA_TYPE_SEC": "2",
"MATURITY_TYPE": "O",
"CURRENCY_TRANS": "Z01",
"FLOATING_RATE_BASE": "XXXX",
"SEC_ISSUING_SECTOR": "1000"
}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.