oneapi
Sign in
Financiar v1 / Bce

Euro area yield curve

Spot yields across 11 maturities, in two issuer variants: AAA-rated issuers only, and all euro area issuers. The points come ordered by actual maturity, not alphabetically.

GET
https://oneapi.ro/api/financiar/v1/bce/curba

Query parameters

This route accepts no query parameters.

How it behaves

  • Spot yields across 11 maturities, from 3 months to 30 years, in two variants: AAA-rated issuers only, and all euro area government issuers.
  • The points come ordered by real maturity, not alphabetically. Sorting by text would give 10Y, 15Y, 1Y, 20Y, 2Y… — a curve drawn that way looks like noise. luni is the maturity in months, used for ordering and useful for interpolation.
  • Of the 1,083 series in the dataflow we take only these two representations: the rest are the same quantity expressed differently — Svensson parameters, instantaneous forwards, par yields — that is, millions of rows with no new information. The maturities are configurable, so the set can be extended without code.

What it is for

  • Drawing the yield curve.
  • Discounting a cash flow at market yields.

Response structure

FieldTypeDescription
data.la_data string The date the returned values are valid on.
data.unitate string The unit of the values. Read it before plotting or adding them up.
data.puncte[] object[] Number of data points.
meta.sursa string The official source the data comes from, with its licence where one is required.
meta.maturitati integer
meta.variante.aaa string
meta.variante.toti_emitentii string
meta.nota string A note on how to read the response — a pitfall, a convention or a limit of the source.
data.puncte[].maturitate string The maturity label (3M, 10Y).
data.puncte[].luni integer The maturity in months, for ordering and interpolation.
data.puncte[].aaa string The yield on AAA issuers.
data.puncte[].toti_emitentii string The yield across all government issuers.

Response examples

GEThttps://oneapi.ro/api/financiar/v1/bce/curba
{
    "data": {
        "la_data": "2026-10-07",
        "unitate": "procent_pe_an",
        "puncte": [
            {
                "maturitate": "3M",
                "luni": 3,
                "aaa": "2.5582",
                "data": "2026-09-18",
                "toti_emitentii": "2.6349"
            }
        ]
    },
    "meta": {
        "sursa": "Banca Centrală Europeană — flux SDMX YC, curba randamentelor.",
        "maturitati": 11,
        "variante": {
            "aaa": "doar emitenţi cu rating AAA",
            "toti_emitentii": "toţi emitenţii guvernamentali din zona euro"
        },
        "nota": "Din cele 1.083 de serii ale fluxului luăm doar aceste două reprezentări pe 11 maturităţi: restul sunt aceeaşi mărime exprimată altfel — parametri Svensson, forward instantanee, par yields — adică milioane de rânduri fără informaţie nouă."
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatMissing or invalid token.
403feature_indisponibilfinanciar.bce is not in the current plan.
429cota_depasitaThe plan's rate limit or quota has been exceeded.

All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.

{
    "eroare": {
        "cod": "neautentificat",
        "mesaj": "Missing or invalid token."
    }
}