Credit Registry
The person’s risk position at the Bank of Spain’s credit registry (CIRBE)
Where it lives: in the Spain Public Administration results, at data.credit.registry. APIs with dedicated per-product results endpoints return this model directly.
The credit registry is the Bank of Spain’s record of the person’s debts: every loan, credit line and guarantee above the reporting threshold, entity by entity. It is the reference document for indebtedness analysis, and the official PDF report travels as an attachment.
The holder's risk position at a central credit register: in Spain, the Bank of Spain's CIRBE report, detailed (one row per operation and entity) or aggregated (operations grouped, no entities).
Every key the register prints comes twice: as its meaning (an enum, the same
whatever the report's period) and as the printed code (the *_code fields).
Every amount is always present. One the report did not give — when the report
could not be read — comes with currency *** and amount NaN: unknown, never zero.
Which report this is: detailed or aggregated — what the document turned out to be, not what was requested. A holder with nothing declared to the register only ever gets the aggregated report.
Period the operations correspond to, MM-YYYY.
The holder's code exactly as the report prints it (e.g. ES44444444A). Not reported when the
report could not be read.
Full name or business name of the holder, as the report prints it. Not reported when the report could not be read: the attached report is then the only reference.
The operations: one per operation in a detailed report, one per group in an aggregated one.
The original report (PDF).
Operations
One entry per reported operation:
Currency the operation is contracted in. XXX means "other currencies".
Bank of Spain code of the reporting entity (e.g. 0182). Detailed reports only.
Type of product: a loan, a lease, a guarantee… Empty only if the code is new to us; see product_type_code.
Product code as printed (e.g. V32).
How the holder takes part: as the direct obligor, or as a guarantor of someone else's operation.
Intervention code as printed (e.g. T11).
Code as printed (e.g. T33).
Maturity code as printed (e.g. L08).
Main real guarantee (collateral): a mortgage, a pledge… or none.
Code as printed (e.g. G19).
Code as printed (e.g. E14).
Main personal guarantee beyond the holders' own, or none.
Code as printed (e.g. G10). Empty when there is no personal guarantee.
Code as printed (e.g. E15).
Special situation of the operation: refinanced, in default, written off… standard when none applies.
Code as printed (e.g. I19). Empty when no special situation applies.
Minor risks
Positions below the detailed-reporting threshold, aggregated:
The reporting threshold: 1,000 EUR from period 01-2021, 9,000 EUR before.
When the Bank of Spain does not serve the report
The Bank of Spain serves the CIRBE report only to a person whose Cl@ve registration reaches the level it requires. When it does not, data.credit.registry is absent and the Spain Public Administration session says why in its messages: a clave_level_insufficient info message, located at ["data", "credit", "registry"]. Trying again in the same session does not change it: the level is a property of the person’s Cl@ve registration.
CIRBE is not a delinquency file
CIRBE and ASNEF are often confused, and they answer different questions:
So the two never carry the same amounts: someone with a mortgage paid on time is in CIRBE and not in ASNEF. CIRBE is read in the person’s name, from the Banco de España’s own site, with their consent. Delinquency files are not a source on this platform.