oneapi
Sign in
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_din is the day the value last CHANGED, and zile_de_la_ultima_schimbare how 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 three MRR_* variants reflect different tender procedures used over time — MRR_RT and MRR_FR are the fixed rate in force, while MRR_MBR was 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.
  • instrument is 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

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