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,I10andV5are not countries, but ECB aggregates. Theeste_tarafield separates them, so they do not end up on a map or in a country ranking.meta.agregatecounts 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.opritecounts them), andmonedatells 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
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Missing or invalid token. |
| 403 | feature_indisponibil | financiar.bce is not in the current plan. |
| 429 | cota_depasita | The 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."
}
}