Financial soundness indicators
The six indicators from the IMF definition, quarterly since 2010 — the non-performing loan ratio, the Tier 1 capital ratio, leverage, return on assets, liquidity. All in percent. In 2026-Q1: non-performing 3.28%, capital 21.45%, leverage 8.64%, return 1.39%, liquidity 48.09%.
There is no accounting identity to check — these are ratios, not positions in a balance sheet. In its place, two things that can be demonstrated are reported: the coverage, quarter by quarter, and the distance from a related measure in another route.
The non-performing loan ratio is not the share of arrears in /risc-credit. Measured across the 65 quarters, the ratio between them has ranged from 0.85 to 2.03 — there were periods in which one was double the other. Over the last year they have converged to within 0.15 percentage points, which makes the confusion more likely, not less. The comparison is computed on every request.
Query parameters
YYYY-Tn or YYYY-MM. A month is rounded to the quarter containing it.
e.g. 2024-06-15
YYYY-Tn or YYYY-MM.
e.g. 2024-06-15e.g. 2024-06-30
How it behaves
- Financial soundness indicators in the IMF definition, quarterly 2010-Q1 → 2026-Q1 — the non-performing loan ratio, the Tier 1 capital ratio, the leverage effect, non-performing loans net of provisions against capital, return on assets, and liquidity under three months. All in percent.
- In 2026-Q1: non-performing loans 3.28%, Tier 1 capital 21.45%, leverage 8.64%, return on assets 1.39%, liquidity 48.09%.
- There is no accounting identity to verify. These are ratios, not balance-sheet positions: they have no hierarchy and do not add up. In place of an identity, the route reports two things that can be demonstrated.
- First: coverage. All six indicators have exactly 65 quarters, with no gaps — verified, not assumed.
verificari.acoperirestates it for the requested window. - Second: the distance from
/risc-credit. The non-performing loan ratio here is not the share of overdue amounts there: one comes from prudential reporting, the other from the Central Credit Register, with different definitions. Measured across the 65 quarters, the ratio between them has ranged from 0.85 to 2.03 — there were periods when one was double the other. - Over the past year they have converged to within 0.15 percentage points — 3.28% against 3.17% in 2026-Q1. That closeness makes confusion more likely, not less, which is why the comparison is computed on every request and returned quarter by quarter.
- The overdue share is a monthly series, so it is taken at the end of the quarter — like any ratio computed on stocks.
- The indicator keys are spelled out (
efect_de_levier), because the source's suffixes (FSKRTCA) tell nothing to someone looking for the indicator.
What it is for
- The banking system's health in one request: capital, asset quality, profitability, liquidity.
- The path of non-performing loans after the 2010 crisis, across the whole series.
- Bank profitability against the non-performing ratio, quarter by quarter.
Response structure
cod keeps the source code.
/risc-credit, with the minimum and maximum ratio over the window.
meta.total_e_limita_de_jos is the word to switch on in code.
data is null and this says why. No values in the database. The interval falls outside the coverage (2010-Q1 → present).
fara_date is prose and may be rephrased, this is not.
Response examples
{
"data": {
"de_la": "2010-T1",
"pana_la": "2026-T1",
"unitate": "%",
"filtre": [],
"perioade": [
{
"trimestru": "2010-T1",
"data_referinta": "2010-03-31",
"luna_sursa": "2010-01"
}
],
"indicatori": [
{
"cheie": "fonduri_proprii_nivel_1",
"cod": "FSIT_FSKRTC",
"denumire": "Rata fondurilor proprii de nivel 1",
"unitate": "%",
"trimestre_publicate": 65,
"valori": {
"2010-T1": "14.21",
"2010-T2": "13.41",
"2010-T3": "13.76",
"2010-T4": "14.22",
"2011-T1": "14.49",
"2011-T2": "13.61",
"2011-T3": "12.89",
"2011-T4": "11.97",
"2012-T1": "13.76",
"2012-T2": "13.65",
"2012-T3": "13.49",
"2012-T4": "13.79",
"2013-T1": "13.86",
"2013-T2": "13.57",
"2013-T3": "13.00",
"2013-T4": "14.09",
"2014-T1": "14.51",
"2014-T2": "14.87",
"2014-T3": "14.54",
"2014-T4": "14.56",
"2015-T1": "16.15",
"2015-T2": "15.61",
"2015-T3": "16.32",
"2015-T4": "16.72",
"2016-T1": "17.16",
"2016-T2": "16.77",
"2016-T3": "16.61",
"2016-T4": "17.55",
"2017-T1": "17.72",
"2017-T2": "17.84",
"2017-T3": "17.15",
"2017-T4": "17.95",
"2018-T1": "17.87",
"2018-T2": "17.58",
"2018-T3": "17.82",
"2018-T4": "18.64",
"2019-T1": "17.93",
"2019-T2": "17.68",
"2019-T3": "17.88",
"2019-T4": "20.05",
"2020-T1": "18.52",
"2020-T2": "20.75",
"2020-T3": "20.80",
"2020-T4": "23.22",
"2021-T1": "22.72",
"2021-T2": "22.08",
"2021-T3": "21.35",
"2021-T4": "20.86",
"2022-T1": "19.00",
"2022-T2": "18.89",
"2022-T3": "18.76",
"2022-T4": "20.48",
"2023-T1": "18.81",
"2023-T2": "19.68",
"2023-T3": "19.22",
"2023-T4": "20.66",
"2024-T1": "20.05",
"2024-T2": "21.12",
"2024-T3": "22.02",
"2024-T4": "22.15",
"2025-T1": "21.44",
"2025-T2": "21.58",
"2025-T3": "21.47",
"2025-T4": "22.00",
"2026-T1": "21.45"
}
}
],
"verificari": {
"acoperire": {
"trimestre_in_fereastra": 65,
"indicatori_completi": 6,
"indicatori": 6,
"goluri": []
},
"credite_neperformante": {
"nota": "Nu e o identitate şi nu trebuie să se închidă: rata creditelor neperformante vine din raportările prudenţiale, ponderea sumelor restante din Centrala Riscului de Credit. Sunt două măsuri ale aceluiaşi fenomen, cu definiţii diferite.",
"fata_de": "CRBL_POND — /risc-credit, bănci, toţi debitorii",
"trimestre_comparate": 65,
"raport_minim": "0.8549",
"raport_maxim": "2.0334",
"ultimele": [
{
"trimestru": "2025-T2",
"luna_referinta": "2025-06",
"rata_neperformante": "3.14",
"pondere_restante": "3.09",
"diferenta_puncte": "0.05",
"raport": "1.0161"
}
]
}
}
},
"meta": {
"sursa": "BNR — SDDS PLUS, indicatori de stabilitate financiară în definiţia FMI (clasa 1487).",
"acoperire": {
"de_la": "2010-T1",
"pana_la": "2026-T1"
},
"trimestre": 65,
"indicatori_totali": 6,
"indicatori_returnati": 6,
"nota_acoperire": "6 din 6 indicatori au toate cele 65 trimestre ale ferestrei. Unde lipsesc, `verificari.acoperire.goluri` spune care.",
"nota_neperformante": "Rata creditelor neperformante nu e ponderea sumelor restante din /risc-credit: pe cele 65 trimestre comparate, raportul dintre ele a umblat între 0.8549 şi 2.0334. Recent s-au apropiat mult, ceea ce face confuzia mai probabilă.",
"nota_structura": "Cei şase indicatori sunt rapoarte independente, nu poziţii dintr-un bilanţ: n-au ierarhie şi n-au identitate contabilă de verificat.",
"nota_null": "`null` într-un trimestru înseamnă că indicatorul n-a fost publicat atunci, nu zero."
}
}
{
"data": {
"de_la": "2024-T2",
"pana_la": "2026-T1",
"unitate": "%",
"filtre": [],
"perioade": [
{
"trimestru": "2024-T2",
"data_referinta": "2024-06-30",
"luna_sursa": "2024-04"
}
],
"indicatori": [
{
"cheie": "fonduri_proprii_nivel_1",
"cod": "FSIT_FSKRTC",
"denumire": "Rata fondurilor proprii de nivel 1",
"unitate": "%",
"trimestre_publicate": 8,
"valori": {
"2024-T2": "21.12",
"2024-T3": "22.02",
"2024-T4": "22.15",
"2025-T1": "21.44",
"2025-T2": "21.58",
"2025-T3": "21.47",
"2025-T4": "22.00",
"2026-T1": "21.45"
}
}
],
"verificari": {
"acoperire": {
"trimestre_in_fereastra": 8,
"indicatori_completi": 6,
"indicatori": 6,
"goluri": []
},
"credite_neperformante": {
"nota": "Nu e o identitate şi nu trebuie să se închidă: rata creditelor neperformante vine din raportările prudenţiale, ponderea sumelor restante din Centrala Riscului de Credit. Sunt două măsuri ale aceluiaşi fenomen, cu definiţii diferite.",
"fata_de": "CRBL_POND — /risc-credit, bănci, toţi debitorii",
"trimestre_comparate": 8,
"raport_minim": "0.9500",
"raport_maxim": "1.0347",
"ultimele": [
{
"trimestru": "2025-T2",
"luna_referinta": "2025-06",
"rata_neperformante": "3.14",
"pondere_restante": "3.09",
"diferenta_puncte": "0.05",
"raport": "1.0161"
}
]
}
}
},
"meta": {
"sursa": "BNR — SDDS PLUS, indicatori de stabilitate financiară în definiţia FMI (clasa 1487).",
"acoperire": {
"de_la": "2010-T1",
"pana_la": "2026-T1"
},
"trimestre": 8,
"indicatori_totali": 6,
"indicatori_returnati": 6,
"nota_acoperire": "6 din 6 indicatori au toate cele 8 trimestre ale ferestrei. Unde lipsesc, `verificari.acoperire.goluri` spune care.",
"nota_neperformante": "Rata creditelor neperformante nu e ponderea sumelor restante din /risc-credit: pe cele 8 trimestre comparate, raportul dintre ele a umblat între 0.9500 şi 1.0347. Recent s-au apropiat mult, ceea ce face confuzia mai probabilă.",
"nota_structura": "Cei şase indicatori sunt rapoarte independente, nu poziţii dintr-un bilanţ: n-au ierarhie şi n-au identitate contabilă de verificat.",
"nota_null": "`null` într-un trimestru înseamnă că indicatorul n-a fost publicat atunci, nu zero."
}
}
{
"data": {
"de_la": "2010-T1",
"pana_la": "2024-T2",
"unitate": "%",
"filtre": [],
"perioade": [
{
"trimestru": "2010-T1",
"data_referinta": "2010-03-31",
"luna_sursa": "2010-01"
}
],
"indicatori": [
{
"cheie": "fonduri_proprii_nivel_1",
"cod": "FSIT_FSKRTC",
"denumire": "Rata fondurilor proprii de nivel 1",
"unitate": "%",
"trimestre_publicate": 58,
"valori": {
"2010-T1": "14.21",
"2010-T2": "13.41",
"2010-T3": "13.76",
"2010-T4": "14.22",
"2011-T1": "14.49",
"2011-T2": "13.61",
"2011-T3": "12.89",
"2011-T4": "11.97",
"2012-T1": "13.76",
"2012-T2": "13.65",
"2012-T3": "13.49",
"2012-T4": "13.79",
"2013-T1": "13.86",
"2013-T2": "13.57",
"2013-T3": "13.00",
"2013-T4": "14.09",
"2014-T1": "14.51",
"2014-T2": "14.87",
"2014-T3": "14.54",
"2014-T4": "14.56",
"2015-T1": "16.15",
"2015-T2": "15.61",
"2015-T3": "16.32",
"2015-T4": "16.72",
"2016-T1": "17.16",
"2016-T2": "16.77",
"2016-T3": "16.61",
"2016-T4": "17.55",
"2017-T1": "17.72",
"2017-T2": "17.84",
"2017-T3": "17.15",
"2017-T4": "17.95",
"2018-T1": "17.87",
"2018-T2": "17.58",
"2018-T3": "17.82",
"2018-T4": "18.64",
"2019-T1": "17.93",
"2019-T2": "17.68",
"2019-T3": "17.88",
"2019-T4": "20.05",
"2020-T1": "18.52",
"2020-T2": "20.75",
"2020-T3": "20.80",
"2020-T4": "23.22",
"2021-T1": "22.72",
"2021-T2": "22.08",
"2021-T3": "21.35",
"2021-T4": "20.86",
"2022-T1": "19.00",
"2022-T2": "18.89",
"2022-T3": "18.76",
"2022-T4": "20.48",
"2023-T1": "18.81",
"2023-T2": "19.68",
"2023-T3": "19.22",
"2023-T4": "20.66",
"2024-T1": "20.05",
"2024-T2": "21.12"
}
}
],
"verificari": {
"acoperire": {
"trimestre_in_fereastra": 58,
"indicatori_completi": 6,
"indicatori": 6,
"goluri": []
},
"credite_neperformante": {
"nota": "Nu e o identitate şi nu trebuie să se închidă: rata creditelor neperformante vine din raportările prudenţiale, ponderea sumelor restante din Centrala Riscului de Credit. Sunt două măsuri ale aceluiaşi fenomen, cu definiţii diferite.",
"fata_de": "CRBL_POND — /risc-credit, bănci, toţi debitorii",
"trimestre_comparate": 58,
"raport_minim": "0.8549",
"raport_maxim": "2.0334",
"ultimele": [
{
"trimestru": "2023-T3",
"luna_referinta": "2023-09",
"rata_neperformante": "3.03",
"pondere_restante": "3.11",
"diferenta_puncte": "-0.08",
"raport": "0.9742"
}
]
}
}
},
"meta": {
"sursa": "BNR — SDDS PLUS, indicatori de stabilitate financiară în definiţia FMI (clasa 1487).",
"acoperire": {
"de_la": "2010-T1",
"pana_la": "2026-T1"
},
"trimestre": 58,
"indicatori_totali": 6,
"indicatori_returnati": 6,
"nota_acoperire": "6 din 6 indicatori au toate cele 58 trimestre ale ferestrei. Unde lipsesc, `verificari.acoperire.goluri` spune care.",
"nota_neperformante": "Rata creditelor neperformante nu e ponderea sumelor restante din /risc-credit: pe cele 58 trimestre comparate, raportul dintre ele a umblat între 0.8549 şi 2.0334. Recent s-au apropiat mult, ceea ce face confuzia mai probabilă.",
"nota_structura": "Cei şase indicatori sunt rapoarte independente, nu poziţii dintr-un bilanţ: n-au ierarhie şi n-au identitate contabilă de verificat.",
"nota_null": "`null` într-un trimestru înseamnă că indicatorul n-a fost publicat atunci, nu zero."
}
}
{
"data": {
"de_la": "2024-T2",
"pana_la": "2024-T2",
"unitate": "%",
"filtre": [],
"perioade": [
{
"trimestru": "2024-T2",
"data_referinta": "2024-06-30",
"luna_sursa": "2024-04"
}
],
"indicatori": [
{
"cheie": "fonduri_proprii_nivel_1",
"cod": "FSIT_FSKRTC",
"denumire": "Rata fondurilor proprii de nivel 1",
"unitate": "%",
"trimestre_publicate": 1,
"valori": {
"2024-T2": "21.12"
}
}
],
"verificari": {
"acoperire": {
"trimestre_in_fereastra": 1,
"indicatori_completi": 6,
"indicatori": 6,
"goluri": []
},
"credite_neperformante": {
"nota": "Nu e o identitate şi nu trebuie să se închidă: rata creditelor neperformante vine din raportările prudenţiale, ponderea sumelor restante din Centrala Riscului de Credit. Sunt două măsuri ale aceluiaşi fenomen, cu definiţii diferite.",
"fata_de": "CRBL_POND — /risc-credit, bănci, toţi debitorii",
"trimestre_comparate": 1,
"raport_minim": "0.9967",
"raport_maxim": "0.9967",
"ultimele": [
{
"trimestru": "2024-T2",
"luna_referinta": "2024-06",
"rata_neperformante": "3.04",
"pondere_restante": "3.05",
"diferenta_puncte": "-0.01",
"raport": "0.9967"
}
]
}
}
},
"meta": {
"sursa": "BNR — SDDS PLUS, indicatori de stabilitate financiară în definiţia FMI (clasa 1487).",
"acoperire": {
"de_la": "2010-T1",
"pana_la": "2026-T1"
},
"trimestre": 1,
"indicatori_totali": 6,
"indicatori_returnati": 6,
"nota_acoperire": "6 din 6 indicatori au toate cele 1 trimestre ale ferestrei. Unde lipsesc, `verificari.acoperire.goluri` spune care.",
"nota_neperformante": "Rata creditelor neperformante nu e ponderea sumelor restante din /risc-credit: pe cele 1 trimestre comparate, raportul dintre ele a umblat între 0.9967 şi 0.9967. Recent s-au apropiat mult, ceea ce face confuzia mai probabilă.",
"nota_structura": "Cei şase indicatori sunt rapoarte independente, nu poziţii dintr-un bilanţ: n-au ierarhie şi n-au identitate contabilă de verificat.",
"nota_null": "`null` într-un trimestru înseamnă că indicatorul n-a fost publicat atunci, nu zero."
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 422 | validare | interval_prea_lung beyond 80 quarters, or an indicator outside the list. |
| 429 | cota_depasita | The 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": "interval_prea_lung beyond 80 quarters, or an indicator outside the list.",
"detalii": {
"indicator": [
"The value sent does not satisfy the parameter rule."
]
}
}
}