Financiar v1 / Bce
ECB monetary policy rates
The rates of the Eurosystem's three facilities, in force on the current day.
The series are step functions: each value holds until the next decision, and zile_de_la_ultima_schimbare shows its age. An old value can mean either that the rate has not been changed or that the instrument is no longer used — the case of variable-rate tenders, discontinued in 2008.
GET
https://oneapi.ro/api/financiar/v1/bce/rate
Query parameters
This route accepts no query parameters.
How it behaves
- The European Central Bank key rates in force today: the deposit facility, the marginal lending facility and the main refinancing operations.
- The series are step functions: each value holds until the next decision.
in_vigoare_dinis the day the value last CHANGED, andzile_de_la_ultima_schimbarehow old it is. The ECB republishes the rate every day, so the last published day (ultima_observatie) is not the day of the decision. - Age matters for a correct reading: an old value can mean the rate has not been changed OR that the instrument is no longer used — the second case shows in
ultima_observatie. The threeMRR_*variants reflect different tender procedures used over time —MRR_RTandMRR_FRare the fixed rate in force, whileMRR_MBRwas the minimum bid rate at variable-rate tenders, a procedure not used after October 2008: its value holds since July 2008 and its last observation is from October 2008. It is history, not today's rate. instrumentis the suffix of the SDMX code — the ECB abbreviation, not one invented by us.
What it is for
- Comparing Romanian monetary policy with the ECB's.
- Computing interest tied to Eurosystem facilities.
- A context indicator in a macroeconomic dashboard.
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.rate[].cod
string
Code from the source code list — the key you filter on.
data.rate[].instrument
string
The ECB abbreviation:
DFR, MLFR, MRR_FR, MRR_MBR, MRR_RT.
data.rate[].denumire_instrument
string | null
data.rate[].nume
string
The name, exactly as the source publishes it.
data.rate[].valoare
string
The value published by the source for the combination above.
data.rate[].in_vigoare_din
string
The day since which the value is unchanged — the decision day, not the last published day.
data.rate[].zile_de_la_ultima_schimbare
integer
The age of the value. A large figure calls for caution in interpretation.
data.rate[].ultima_observatie
string
The last day the ECB published the series. An old one means the instrument is no longer used.
data.rate[].zile_de_la_ultima_observatie
integer
meta.sursa
string
The official source the data comes from, with its licence where one is required.
meta.rate
integer
meta.nota
string
A note on how to read the response — a pitfall, a convention or a limit of the source.
Response examples
GEThttps://oneapi.ro/api/financiar/v1/bce/rate
{
"data": {
"la_data": "2026-10-07",
"unitate": "procent_pe_an",
"rate": [
{
"cod": "FM.D.U2.EUR.4F.KR.DFR.LEV",
"instrument": "DFR",
"denumire_instrument": "facilitatea de depozit",
"nume": "Deposit facility - date of changes (raw data) - Level",
"valoare": "2.5000",
"in_vigoare_din": "2026-09-16",
"zile_de_la_ultima_schimbare": 21,
"ultima_observatie": "2026-10-06",
"zile_de_la_ultima_observatie": 1
}
]
},
"meta": {
"sursa": "Banca Centrală Europeană — flux SDMX FM, ratele-cheie.",
"rate": 5,
"nota": "Cele trei variante `MRR_*` reflectă proceduri de licitaţie diferite folosite în timp: `MRR_RT` şi `MRR_FR` sunt rata fixă în vigoare, iar `MRR_MBR` era rata minimă acceptată la licitaţiile cu rată variabilă, procedură nefolosită după octombrie 2008. Vechimea din `zile_de_la_ultima_schimbare` o arată."
}
}
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."
}
}