oneapi
Sign in
Financiar v1 / Indici

Applicable IRCC

The reference index for consumer credit that actually applies at a date — today by default. A quarter's rate is the average of the daily values from TWO quarters earlier (Q3 uses the Q1 average), and the response says which quarter it was computed from and whether the value comes from the series the NBR publishes or was computed by us from the dailies.

Beware: the quarterly series published by the NBR is the average of its own quarter, not the rate applicable within it. Read directly, it gives the rate of the wrong quarter.

GET
https://oneapi.ro/api/financiar/v1/ircc

Query parameters

NameTypeDescriptionAccepted values
dataoptional string | null Optional, YYYY-MM-DD. Defaults to the current day. Cannot be in the future. e.g. 2024-06-15e.g. 2024-06-14

How it behaves

  • The consumer-credit reference index that actually applies on a given date — the current day by default.
  • A quarter's rate is the average of the daily values from TWO quarters earlier — Q3 uses the Q1 average. The response states which quarter it was computed from, in aplicabil.calculat_din, so the relation is verifiable.
  • Why two quarters, not one (corrected 15 Sep 2026): the NBR publishes a quarter's average only towards the end of the following quarter — on 15 September 2026 the Q2 average was still unpublished, so it could not be the rate applied from 1 July. Publicly reported rates line up the same way: 5.66% from January 2025 (the Q3 2024 average), 5.55% from April 2025 (Q4 2024), 6.06% from October 2025 (Q2 2025). Until the correction, the route applied the previous quarter's average and gave the rate one quarter too early.
  • Careful with the series NBR publishes: the quarterly value in the interactive database is the average of its OWN quarter, labelled with that quarter's first day — not the rate applicable within it. Read directly, it yields the rate of the wrong quarter. Verified across all 30 published quarters: the average of a quarter's own daily values matches the official value exactly, zero differences. That is why this route applies the shift instead of leaving the client to discover it.
  • The mistake is hard to notice, because both figures are real and usually close. Not always: in Q4 2025 the applicable rate is 6.06 (the Q2 2025 average), while whoever takes the Q4 2025 label reads 5.58. A loan indexed on the wrong figure produces a plausible and incorrect rate.
  • aplicabil.sursa says where the value comes from: bnr if NBR has already published the source quarter's average, calculat if we computed it from the daily series. With the two-quarter lag, the second case practically only occurs for urmatorul_trimestru, before the NBR publishes the average — the formula is the same, validated across the whole history.
  • urmatorul_trimestru appears only once it can be determined: the Q4 rate is the Q2 average, so it is known from 1 July (first computed by us, then published by the NBR), but not in the middle of Q2. A partial average would look identical and would not be the rate — hence null, with the reason.
  • The first applicable rate is the one for Q2 2019 (the average of Q4 2018, the first published). Earlier dates return 404.

What it is for

  • The reference rate for a variable-rate consumer loan.
  • Checking the rate a bank applied in a past quarter.

Response structure

FieldTypeDescription
data.aplicabil.la_data string
data.aplicabil.trimestru string The quarter it applies in (2026-T3), with its boundaries.
data.aplicabil.de_la string Start of the covered interval.
data.aplicabil.pana_la string End of the covered interval, inclusive.
data.aplicabil.valoare string The rate in percent, two decimals, as a string.
data.aplicabil.sursa string bnr or calculat.
data.aplicabil.calculat_din object The quarter the average came from, with its boundaries and — for computed values — the number of days used.
data.aplicabil.calculat_din.trimestru string The quarter the value refers to.
data.aplicabil.calculat_din.de_la string Start of the covered interval.
data.aplicabil.calculat_din.pana_la string End of the covered interval, inclusive.
data.aplicabil.calculat_din.valori_zilnice integer
data.urmatorul_trimestru null Next quarter's rate if already determinable; null otherwise.
data.motiv_urmator string trimestru_sursa_neincheiat when the next rate cannot yet be established.
meta.sursa string The official source the data comes from, with its licence where one is required.
meta.regula string The rule by which the value was computed or chosen.
meta.nota string A note on how to read the response — a pitfall, a convention or a limit of the source.
meta.avertisment_urmator string
meta.fara_date data is null and this says why. The source quarter is not covered by data (dates before Q2 2019, the first quarter with an applicable rate).
meta.fara_date_cod The short, STABLE word for the reason, for clients that branch on it in code: fara_date is prose and may be rephrased, this is not.

Response examples

GEThttps://oneapi.ro/api/financiar/v1/ircc
{
    "data": {
        "aplicabil": {
            "la_data": "2026-10-07",
            "trimestru": "2026-T4",
            "de_la": "2026-10-01",
            "pana_la": "2026-12-31",
            "valoare": "5.57",
            "sursa": "calculat",
            "calculat_din": {
                "trimestru": "2026-T2",
                "de_la": "2026-04-01",
                "pana_la": "2026-06-30",
                "valori_zilnice": 61
            }
        },
        "urmatorul_trimestru": null,
        "motiv_urmator": "trimestru_sursa_neincheiat"
    },
    "meta": {
        "sursa": "Banca Naţională a României — baza de date interactivă.",
        "regula": "Rata aplicabilă într-un trimestru e media aritmetică a valorilor zilnice de acum două trimestre (T3 foloseşte media lui T1). Seria BNR e etichetată cu trimestrul de calcul: media propriului trimestru coincide exact cu valoarea oficială pe toate trimestrele publicate.",
        "nota": "Valoarea e calculată de noi din seria zilnică, fiindcă BNR nu a publicat încă media trimestrului-sursă (o publică de regulă spre finalul trimestrului următor). Aceeaşi formulă, verificată pe seria istorică.",
        "avertisment_urmator": "Rata trimestrului următor devine determinabilă abia când se încheie trimestrul din care se calculează. O medie parţială ar arăta la fel, dar nu ar fi rata."
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
422validareMalformed or future date.
429cota_depasitaThe plan's monthly quota has been exceeded (see Retry-After).

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": "validare",
        "mesaj": "Malformed or future date.",
        "detalii": {
            "data": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}