oneapi
Sign in
Financiar v1 / Bce

Maastricht convergence yields

Long-term government bond yields, the Treaty's convergence criterion, for EU member states and a few ECB aggregates — Romania included.

Beware: U2 (the euro area), D0, I9, I10 and V5 are not countries but ECB aggregates. The este_tara field separates them out, so that they never end up on a map.

Some series are no longer updated — the United Kingdom stops in January 2020, and Bulgaria has a lev series closed at the euro changeover next to the new euro one. They carry oprita: true and moneda, so their last value is not read as current.

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

Query parameters

This route accepts no query parameters.

How it behaves

  • The long-term government bond yield — the Treaty convergence criterion — for EU member states and a few ECB aggregates, Romania included.
  • The series is monthly and comparable across countries precisely because the methodology is shared. It was the missing piece: we held the domestic rates (ROBOR, IRCC, the NBR policy rate) but not the cost of long-term government borrowing, comparable across Europe.
  • U2 (the euro area), D0, I9, I10 and V5 are not countries, but ECB aggregates. The este_tara field separates them, so they do not end up on a map or in a country ranking. meta.agregate counts how many such entities are in the response.
  • Some series are no longer updated: the United Kingdom stops in January 2020, and Bulgaria has two series — in lev, closed at the euro changeover, and in euro. They carry oprita: true (meta.oprite counts them), and moneda tells the two series of the same country apart.

What it is for

  • Comparing the financing cost of member states.
  • Tracking the convergence criterion for Romania.

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.randamente[].cod string Code from the source code list — the key you filter on.
data.randamente[].entitate string The entity code, usually a country code.
data.randamente[].este_tara boolean false for aggregates.
data.randamente[].moneda string The bond currency (Z01 = all currencies combined, for aggregates).
data.randamente[].valoare string The value published by the source for the combination above.
data.randamente[].luna string The month of the last observation — the series is monthly.
data.randamente[].oprita boolean true when the series has no value in the latest month published for the rest of the group.
meta.sursa string The official source the data comes from, with its licence where one is required.
meta.entitati integer
meta.agregate integer Aggregates available in the response.
meta.oprite integer
meta.nota string A note on how to read the response — a pitfall, a convention or a limit of the source.
meta.nota_oprite string A note on how to read the response: a caveat, a convention or a limit of the source.

Response examples

GEThttps://oneapi.ro/api/financiar/v1/bce/convergenta
{
    "data": {
        "la_data": "2026-10-07",
        "unitate": "procent_pe_an",
        "randamente": [
            {
                "cod": "IRS.M.AT.L.L40.CI.0000.EUR.N.Z",
                "entitate": "AT",
                "este_tara": true,
                "moneda": "EUR",
                "valoare": "3.4125",
                "luna": "2026-08",
                "oprita": false
            }
        ]
    },
    "meta": {
        "sursa": "Banca Centrală Europeană — flux SDMX IRS, randamente de convergenţă.",
        "entitati": 34,
        "agregate": 5,
        "oprite": 2,
        "nota": "Seria e lunară. Randamentul e cel al obligaţiunilor de stat pe circa 10 ani, folosit ca criteriu de convergenţă — comparabil între ţări tocmai pentru că metodologia e comună.",
        "nota_oprite": "`oprita: true` = seria nu mai are valori în ultima lună publicată pe restul grupului; `luna` e ultima ei observaţie, nu luna curentă. O ţară poate apărea de două ori când şi-a schimbat moneda (vezi `moneda`)."
    }
}

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."
    }
}