oneapi
Sign in
Financiar v1 / RiscCredit

Loans and deposits by sector

The loans granted and the deposits taken by monetary financial institutions, broken down by sector, currency, purpose and maturity — 39 series for loans and 56 for deposits, monthly since January 2007. The values are in thousand lei.

The source of the hierarchy differs between the two classes, and each rule applied the wrong way round gives a wrong answer. For loans it is carried by the name: the code prefix gives three wrong parents through a coincidence of strings — IFMCL_SL1A5 („maturity over 1 year") would fall under IFMCL_SL1A („up to 1 year") instead of under IFMCL_SL, which would double the count. For deposits it is carried by the code: the names carry no path at all. meta.ierarhie_din says which was used.

Two loan names have a word duplicated at source — „for for other purposes" — so their path does not resolve. There the parent comes from the code, and the position gets parinte_din_cod.

Households have two alternative partitions for loans, not one: by currency and by purpose, both closing across all 234 months. Summing all six children would double the total by 213 billion. That is why the loan partitions are declared by name and checked separately, and identitati.detalii[].partitie says which is which. For deposits the partition is unique and is derived from the code.

GET
https://oneapi.ro/api/financiar/v1/credite-depozite

Query parameters

NameTypeDescriptionAccepted values
creditoroptional string | null Optional, defaults to ifm — the monetary financial institutions the route served before. Or ifn, non-bank financial institutions, which have loans only and report quarterly. ifmifn
tipoptional string | null Optional, defaults to credite. Or depozite — a different class, with a different source of hierarchy. creditedepozite
sectoroptional string | null Optional: G households, S non-financial corporations, I non-monetary financial institutions, AP general government, N non-residents. APGSIN
de_laoptional string | null Optional, YYYY-MM. e.g. 2024-06-15
pana_laoptional string | null Optional, YYYY-MM. At most 260 months. e.g. 2024-06-15
nivel_maxoptional integer | null Optional, 1–4. nivel_max=1 leaves only the five sectors. 1 – 4

How it behaves

  • The same loans also exist for non-bank financial institutions. creditor=ifn returns their class, which shares 30 of 34 suffixes with the banking one and has the same two alternative partitions for households. What is missing is logical: NBFIs have no suffixes for general government or non-monetary financial institutions, because they do not lend there, and no deposits at all — they are not legally allowed to take them. creditor=ifn&tip=depozite returns 404 with the published combinations.
  • The frequency differs by lender: banks report monthly, NBFIs quarterly. Without that figure, a direct comparison would set a month beside a quarter. For ifn, periods are quarters and carry data_referinta at quarter end — the rule verified on the source's other quarterly stock classes, here with no monthly series to check it against.
  • All 10 partitions of non-bank lending close, across 570 checks.
  • Loans granted and deposits taken by monetary financial institutions, broken down by institutional sector, currency, purpose and maturity — 39 series for loans and 56 for deposits, monthly since January 2007, 234 months. Figures are in thousands of lei.
  • The source of the hierarchy differs between the two classes, and each rule applied the other way round gets it wrong. For loans the name carries it: the code prefix would give three wrong parents through a coincidence of strings — IFMCL_SL1A5 ("maturity over 1 year") would fall under IFMCL_SL1A ("up to 1 year") instead of under IFMCL_SL ("in lei"), which would double-count. For deposits the code carries it, because the names hold no path. meta.ierarhie_din says which was used.
  • Two loan names have a doubled word at source — "pentru pentru alte scopuri" — while their parent is called "pentru alte scopuri", so the path does not resolve. There the parent comes from the code, and the position is flagged parinte_din_cod.
  • Households have two alternative partitions for loans, not one: by currency (lei, euro, other) and by purpose (consumption, housing, other). Both close across all 234 months. Summing all six children would double the total by 213 billion — which is why the loan partitions are declared by name and checked separately, with identitati.detalii[].partitie saying which is which.
  • This is the module's first class with alternative partitions on the same node. A generic tree validation — as used for trade in services — would have reported an enormous error on perfectly correct data.
  • For deposits the partition is unique and derived from the code: 3,868 of 3,868 checks, across 19 partitions.
  • For loans, 2,338 of 2,339 close. The single exception: household loans by purpose, in September 2013, where the total is 0.3 thousand lei below the sum of its components. It is reported in unde, not buried by widening the tolerance.
  • The tolerance is derived from the per-figure rounding error (0.05): the source publishes one decimal, verified across all 20,886 values in the two classes.

What it is for

  • Housing loans against consumer loans, by currency, month by month.
  • Household deposits by maturity: overnight against term under and over one year.
  • How much of corporate lending is in foreign currency and at what maturities.

Response structure

FieldTypeDescription
data.creditor string The creditor, as classified by the source.
data.tip string intreprinderi or unitati_locale — two different concepts, never summed.
data.frecventa string How often the source publishes the series (daily, monthly, quarterly, yearly).
data.de_la string Start of the interval the response covers.
data.pana_la string End of the interval the response covers, inclusive.
data.unitate string The unit of the values. Read it before plotting or adding them up.
data.filtre array The filters actually applied, as the route understood them — useful when a value was normalised.
data.perioade[].perioada string The period the value refers to.
data.perioade[].luna_sursa string The month as the source labels it, before normalisation.
data.sectoare object Each present sector's code and name.
data.sectoare.G string
data.sectoare.S string
data.sectoare.I string
data.sectoare.AP string
data.sectoare.N string
data.pozitii[].cod string Code from the source code list — the key you filter on.
data.pozitii[].sector string Institutional or economic sector.
data.pozitii[].eticheta string Display label for the value — the readable version of the code next to it.
data.pozitii[].cale array Path through the hierarchy, from the root down to the current item.
data.pozitii[].nivel integer Level in the classification hierarchy — the deeper, the more detailed.
data.pozitii[].parinte null From the source declared in meta.ierarhie_din.
data.pozitii[].unitate string Unit of measure of the values. Read it before plotting or summing them.
data.pozitii[].luni_publicate integer How many months the source actually published.
data.pozitii[].valori object The values of the series, by period.
data.identitati.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.partitii_declarate integer
data.identitati.partitii integer
data.identitati.partitii_neverificate integer
data.identitati.verificari integer How many combinations were checked.
data.identitati.verificari_inchise integer How many checks closed within tolerance.
data.identitati.detalii[].pozitie string Position of the item in the response order.
data.identitati.detalii[].partitie string The partition's name — moneda, destinatie, scadenta. Households carry two partitions of the same total; they do not add together.
data.identitati.detalii[].componente array The components that add up to the total.
data.identitati.detalii[].toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.detalii[].luni_verificate integer How many months entered the check.
data.identitati.detalii[].luni_inchise integer How many months closed within tolerance.
data.identitati.detalii[].abatere_maxima string Largest deviation found between the sum of components and the total.
data.identitati.neverificate array The declared identities the requested window could not check, each with its reason: serie_inexistenta (the source never publishes that component), nepublicata_in_fereastra (it exists, but not in this interval) or fara_perioada_completa (the components exist but never in the same period). The verified count changes with the window, and this says why.
meta.sursa string The official source the data comes from, with its licence where one is required.
meta.acoperire.de_la string The first period we have data for.
meta.acoperire.pana_la string The last period we have data for.
meta.perioade integer Periods for which values exist.
meta.frecventa string How often the source publishes the series (daily, monthly, quarterly, yearly).
meta.pozitii_totale integer How many positions match the filters, beyond the current page.
meta.pozitii_returnate integer How many positions this response actually returned.
meta.creditor string The creditor, as classified by the source.
meta.nota_frecventa string Which frequencies the source publishes and which of them are not comparable.
meta.ierarhie_din string
meta.nota_creditor string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_ierarhie string How to read the classification hierarchy and which levels must not be added together.
meta.nota_partitii string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_gospodarii string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_cale_rupta string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_toleranta string Where the tolerance comes from and why it is not zero.
meta.nota_null string Why some values are missing: the source did not publish, did not compute, or suppressed them.
data.pozitii[].parinte_din_cod Present on the two positions whose source name is wrong.
data.identitati.detalii[].unde The month exceeding the tolerance, with the total and the component sum.
meta.fara_date data is null and this says why. No values in the database for the requested type. The interval falls entirely outside the coverage (January 2007 → present). It overlaps but holds no values.
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/credite-depozite
{
    "data": {
        "creditor": "ifm",
        "tip": "credite",
        "frecventa": "lunar",
        "de_la": "2007-01",
        "pana_la": "2026-07",
        "unitate": "mii RON",
        "filtre": [],
        "perioade": [
            {
                "perioada": "2007-01",
                "luna_sursa": "2007-01"
            }
        ],
        "sectoare": {
            "G": "gospodăriile populaţiei",
            "S": "societăţi nefinanciare",
            "I": "instituţii financiare nemonetare",
            "AP": "administraţia publică",
            "N": "nerezidenţi"
        },
        "pozitii": [
            {
                "cod": "IFMCL_G",
                "sector": "G",
                "eticheta": "Credite acordate gospodăriilor populaţiei",
                "cale": [
                    "Credite acordate gospodăriilor populaţiei"
                ],
                "nivel": 1,
                "parinte": null,
                "unitate": "mii lei",
                "luni_publicate": 235,
                "valori": {
                    "2007-01": "40240893.2",
                    "2007-02": "41375402.3",
                    "2007-03": "43251370.3",
                    "2007-04": "44760660.2",
                    "2007-05": "46841741.8",
                    "2007-06": "48997568.9",
                    "2007-07": "52544077.2",
                    "2007-08": "57024371.7",
                    "2007-09": "60478029.4",
                    "2007-10": "63257879.5",
                    "2007-11": "67816585.6",
                    "2007-12": "71507707.9",
                    "2008-01": "74146013.5",
                    "2008-02": "76672985.2",
                    "2008-03": "79641976.6",
                    "2008-04": "81735011.6",
                    "2008-05": "83251407.8",
                    "2008-06": "86918173.2",
                    "2008-07": "87822742.9",
                    "2008-08": "90558587.4",
                    "2008-09": "96047389.2",
                    "2008-10": "95765174.2",
                    "2008-11": "96825249.8",
                    "2008-12": "99204665.6",
                    "2009-01": "102975268.5",
                    "2009-02": "102889142.8",
                    "2009-03": "101226625.4",
                    "2009-04": "100176331.9",
                    "2009-05": "99900038.8",
                    "2009-06": "99587066.6",
                    "2009-07": "99453464.9",
                    "2009-08": "99571472.2",
                    "2009-09": "99454957.3",
                    "2009-10": "100928122.8",
                    "2009-11": "100599225.6",
                    "2009-12": "100218043.2",
                    "2010-01": "98539144.6",
                    "2010-02": "97901838.4",
                    "2010-03": "98400302.7",
                    "2010-04": "99222927.2",
                    "2010-05": "100493163.9",
                    "2010-06": "104296343.1",
                    "2010-07": "102109279.3",
                    "2010-08": "103042103.8",
                    "2010-09": "102636167.5",
                    "2010-10": "101173303.9",
                    "2010-11": "101784881.3",
                    "2010-12": "102099828.5",
                    "2011-01": "100773343.9",
                    "2011-02": "99756884.1",
                    "2011-03": "98033419.1",
                    "2011-04": "97915851.1",
                    "2011-05": "99793159.6",
                    "2011-06": "101911045.1",
                    "2011-07": "102825765.9",
                    "2011-08": "102546572.3",
                    "2011-09": "104452642.8",
                    "2011-10": "104121270.5",
                    "2011-11": "104537909.0",
                    "2011-12": "104256083.2",
                    "2012-01": "104261769.3",
                    "2012-02": "104070091.7",
                    "2012-03": "104423718.0",
                    "2012-04": "104526547.5",
                    "2012-05": "105690267.9",
                    "2012-06": "105377852.0",
                    "2012-07": "107281082.0",
                    "2012-08": "105686990.3",
                    "2012-09": "106234805.3",
                    "2012-10": "106342591.6",
                    "2012-11": "105937172.0",
                    "2012-12": "104460691.0",
                    "2013-01": "103194340.1",
                    "2013-02": "102909047.8",
                    "2013-03": "103649517.9",
                    "2013-04": "101892342.0",
                    "2013-05": "102901135.0",
                    "2013-06": "104066665.5",
                    "2013-07": "103315365.8",
                    "2013-08": "103245946.5",
                    "2013-09": "103765793.3",
                    "2013-10": "103125545.0",
                    "2013-11": "103297409.9",
                    "2013-12": "103244221.3",
                    "2014-01": "103093352.0",
                    "2014-02": "102937695.1",
                    "2014-03": "102444226.6",
                    "2014-04": "102468630.7",
                    "2014-05": "101702233.1",
                    "2014-06": "101357095.8",
                    "2014-07": "100767108.5",
                    "2014-08": "100987153.9",
                    "2014-09": "101139694.1",
                    "2014-10": "101359727.9",
                    "2014-11": "101717537.0",
                    "2014-12": "102117070.1",
                    "2015-01": "102637372.5",
                    "2015-02": "102140460.1",
                    "2015-03": "102393523.9",
                    "2015-04": "102534776.9",
                    "2015-05": "104486679.7",
                    "2015-06": "105017472.9",
                    "2015-07": "104211667.4",
                    "2015-08": "104730186.7",
                    "2015-09": "104776021.7",
                    "2015-10": "105280484.6",
                    "2015-11": "107620822.0",
                    "2015-12": "107952805.5",
                    "2016-01": "107623084.4",
                    "2016-02": "107245308.6",
                    "2016-03": "107948740.6",
                    "2016-04": "108682568.0",
                    "2016-05": "109393311.5",
                    "2016-06": "110525688.0",
                    "2016-07": "110468477.5",
                    "2016-08": "110801890.5",
                    "2016-09": "111369360.4",
                    "2016-10": "112281574.7",
                    "2016-11": "112848437.7",
                    "2016-12": "113036500.3",
                    "2017-01": "112555300.9",
                    "2017-02": "113000246.7",
                    "2017-03": "114125093.2",
                    "2017-04": "114310223.8",
                    "2017-05": "115541392.6",
                    "2017-06": "116629259.7",
                    "2017-07": "117751257.3",
                    "2017-08": "119361239.6",
                    "2017-09": "120026657.7",
                    "2017-10": "120651256.5",
                    "2017-11": "121679999.0",
                    "2017-12": "121839850.2",
                    "2018-01": "122019114.8",
                    "2018-02": "122526019.2",
                    "2018-03": "124876943.3",
                    "2018-04": "125685152.5",
                    "2018-05": "127045608.7",
                    "2018-06": "128286245.4",
                    "2018-07": "129128734.3",
                    "2018-08": "130315360.9",
                    "2018-09": "131337462.1",
                    "2018-10": "132272975.9",
                    "2018-11": "132773029.0",
                    "2018-12": "133013866.5",
                    "2019-01": "133513430.6",
                    "2019-02": "133867642.4",
                    "2019-03": "134922489.4",
                    "2019-04": "135442364.6",
                    "2019-05": "136296109.4",
                    "2019-06": "137123673.6",
                    "2019-07": "138596405.6",
                    "2019-08": "139836403.2",
                    "2019-09": "141018190.7",
                    "2019-10": "141899962.0",
                    "2019-11": "142750946.1",
                    "2019-12": "143059128.8",
                    "2020-01": "143355258.6",
                    "2020-02": "144418409.2",
                    "2020-03": "145236757.9",
                    "2020-04": "144889938.9",
                    "2020-05": "144828520.8",
                    "2020-06": "145497536.3",
                    "2020-07": "146675647.9",
                    "2020-08": "147570941.9",
                    "2020-09": "148580627.2",
                    "2020-10": "149114057.3",
                    "2020-11": "149629154.4",
                    "2020-12": "149877508.3",
                    "2021-01": "150083178.2",
                    "2021-02": "150606875.1",
                    "2021-03": "152287143.3",
                    "2021-04": "153571261.6",
                    "2021-05": "155099273.6",
                    "2021-06": "156901799.7",
                    "2021-07": "159019536.0",
                    "2021-08": "160852593.1",
                    "2021-09": "162306303.9",
                    "2021-10": "163092825.9",
                    "2021-11": "163897031.3",
                    "2021-12": "164372602.0",
                    "2022-01": "164424700.4",
                    "2022-02": "165476782.7",
                    "2022-03": "166979960.4",
                    "2022-04": "167822011.7",
                    "2022-05": "169481426.6",
                    "2022-06": "170831630.5",
                    "2022-07": "171633886.6",
                    "2022-08": "171945543.8",
                    "2022-09": "172863886.1",
                    "2022-10": "172002947.2",
                    "2022-11": "172002801.5",
                    "2022-12": "171495993.8",
                    "2023-01": "170594373.7",
                    "2023-02": "170076556.6",
                    "2023-03": "170483829.2",
                    "2023-04": "169712887.7",
                    "2023-05": "170555510.6",
                    "2023-06": "170950675.4",
                    "2023-07": "171519285.6",
                    "2023-08": "172268051.8",
                    "2023-09": "172886303.1",
                    "2023-10": "173563048.2",
                    "2023-11": "174131359.7",
                    "2023-12": "173912719.3",
                    "2024-01": "173845383.9",
                    "2024-02": "174525321.0",
                    "2024-03": "176038376.2",
                    "2024-04": "177866399.2",
                    "2024-05": "179521071.7",
                    "2024-06": "181059356.7",
                    "2024-07": "183330529.4",
                    "2024-08": "184974985.2",
                    "2024-09": "186435962.2",
                    "2024-10": "188099977.3",
                    "2024-11": "189531980.5",
                    "2024-12": "189851801.0",
                    "2025-01": "189980486.7",
                    "2025-02": "190945262.7",
                    "2025-03": "192857199.7",
                    "2025-04": "194452211.8",
                    "2025-05": "197165869.8",
                    "2025-06": "199079339.2",
                    "2025-07": "201583869.9",
                    "2025-08": "202157897.4",
                    "2025-09": "203419680.1",
                    "2025-10": "204464878.0",
                    "2025-11": "205218692.0",
                    "2025-12": "205519619.0",
                    "2026-01": "205401331.0",
                    "2026-02": "206073941.1",
                    "2026-03": "208166707.8",
                    "2026-04": "209582442.4",
                    "2026-05": "211806764.1",
                    "2026-06": "213311706.9",
                    "2026-07": "214622552.9"
                }
            }
        ],
        "identitati": {
            "nota": "Partiţiile sunt declarate, nu deduse: gospodăriile au două partiţii alternative pe acelaşi total — pe monedă şi pe destinaţie — iar o sumare a tuturor copiilor ar dubla totalul. Cele două se verifică separat şi se raportează cu numele lor. Aceeaşi structură la bănci şi la instituţiile financiare nebancare.",
            "partitii_declarate": 11,
            "partitii": 11,
            "partitii_neverificate": 0,
            "verificari": 2349,
            "verificari_inchise": 2348,
            "detalii": [
                {
                    "pozitie": "IFMCL_G",
                    "partitie": "moneda",
                    "componente": [
                        "IFMCL_GR",
                        "IFMCL_GE",
                        "IFMCL_GO"
                    ],
                    "toleranta": "0.2000",
                    "luni_verificate": 235,
                    "luni_inchise": 235,
                    "abatere_maxima": "0.1"
                }
            ],
            "neverificate": []
        }
    },
    "meta": {
        "sursa": "BNR — structura depozitelor atrase şi a creditelor acordate pe tipuri de sectoare instituţionale (clasa 571).",
        "acoperire": {
            "de_la": "2007-01",
            "pana_la": "2026-07"
        },
        "perioade": 235,
        "frecventa": "lunar",
        "pozitii_totale": 39,
        "pozitii_returnate": 39,
        "creditor": "ifm",
        "nota_frecventa": "Băncile raportează lunar. La `creditor=ifn` frecvenţa e trimestrială.",
        "ierarhie_din": "denumire",
        "nota_creditor": "Aceleaşi credite există şi pentru instituţiile financiare nebancare: `creditor=ifn`. Depozitele există doar la bănci.",
        "nota_ierarhie": "Ierarhia vine din denumire la această clasă. La credite, prefixul codului ar da trei părinţi greşiţi prin coincidenţă de şiruri; la depozite, denumirile n-au nicio cale.",
        "nota_partitii": "2348 din 2349 verificări se închid, pe 11 partiţii.",
        "nota_gospodarii": "Creditele către gospodării au două partiţii alternative pe acelaşi total — pe monedă şi pe destinaţie. Se verifică separat; adunate laolaltă ar dubla totalul cu 213 miliarde.",
        "nota_cale_rupta": "2 denumiri au un cuvânt dublat la sursă („pentru pentru alte scopuri\"), deci calea lor nu se rezolvă; părintele vine din cod şi poziţia poartă `parinte_din_cod`.",
        "nota_toleranta": "Toleranţa e derivată din eroarea de rotunjire per cifră (±0.05): sursa publică o zecimală, verificat pe toate cele 20.886 de valori ale celor două clase.",
        "nota_null": "`null` într-o lună înseamnă că poziţia n-a fost publicată atunci, nu zero."
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
422validareinterval_prea_lung beyond 260 months, a type or sector outside the lists, or nivel_max outside 1–4. tip_necunoscut.
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": "interval_prea_lung beyond 260 months, a type or sector outside the lists, or nivel_max outside 1–4. tip_necunoscut.",
        "detalii": {
            "creditor": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}