Financiar v1 / Banci
Credit institutions
The banks and branches of foreign banks in Romania that can be identified from the bank code inside an IBAN. This is not the full NBR register: it covers only the institutions that also have a BIC published by GLEIF, from which the IBAN code is derived.
GET
https://oneapi.ro/api/financiar/v1/banci
Query parameters
This route accepts no query parameters.
How it behaves
- The banks and branches of foreign banks in Romania that can be identified from the bank code inside an IBAN.
- This is not the full NBR register. It covers only institutions that also have a BIC published by GLEIF, from which the IBAN bank code is derived — 26 of the 38 in the register.
meta.acoperirestates the figure on every request, so the limit is never an assumption. - The list contains ONLY credit institutions. The BIC register we start from holds 76 Romanian entities, 50 of which are not banks: a brewery, the Stock Exchange, brokerage houses. They issue no IBANs, so they have no place in a list of banks.
- Branches of foreign banks (ING, Citibank, Revolut, BNP Paribas) are included. They have no LEI of their own, only the parent company's, so they are confirmed by name matching against the NBR register.
starecomes from the NBR register, which leaves it blank on some entries.nedeclaratameans "the register does not say", not "inactive" — which is why there is no filter on status: it would claim a precision the data does not have.meta.stare_nedeclaratasays how many are missing it.
What it is for
- Populating a bank selection list.
- Checking a bank code before accepting an IBAN.
Response structure
FieldTypeDescription
data.banci[]
object[]
meta.banci
integer
meta.stare_nedeclarata
integer
meta.sursa
string
The official source the data comes from, with its licence where one is required.
meta.acoperire
string
How much the data we hold covers, compared to what the source publishes.
meta.nota
string
A note on how to read the response — a pitfall, a convention or a limit of the source.
data.banci[].cod_iban
string
The four letters inside an IBAN that identify the bank. The public key.
data.banci[].denumire
string
The name from the NBR register where available; otherwise the legal name from GLEIF.
data.banci[].bic
string
The primary BIC. Its first four characters are
cod_iban.
data.banci[].cui
string
The tax code, when the institution is a Romanian legal entity.
null for foreign branches, which have no tax code of their own in the register.
data.banci[].stare
string
activa, radiata or nedeclarata.
Response examples
GEThttps://oneapi.ro/api/financiar/v1/banci
{
"data": {
"banci": [
{
"cod_iban": "CRCO",
"denumire": "BANCA CENTRALA COOPERATISTA CREDITCOOP",
"bic": "CRCOROBUXXX",
"cui": "361323",
"lei": "3157006K4C7PJT790450",
"stare": "activa"
}
]
},
"meta": {
"banci": 21,
"stare_nedeclarata": 0,
"sursa": "GLEIF (mapare BIC↔LEI, licenţă CC0) + registrul BNR al instituţiilor de credit.",
"acoperire": "21 din cele 38 instituţii de credit din registrul BNR au un cod IBAN identificabil.",
"nota": "Starea vine din registrul BNR, care o lasă necompletată la o parte din înregistrări. `nedeclarata` înseamnă „registrul nu spune\", nu „inactivă\"."
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Missing or invalid token. |
| 403 | feature_indisponibil | financiar.validare 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."
}
}