Business v1 / Firme
Inflation-adjusted financials
The same balance sheets, but deflated to a base year: 2015 turnover expressed in the purchasing power of the year you choose. Nominal growth and real growth are not the same thing.
GET
https://oneapi.ro/api/business/v1/firme/{cui}/financiar/real
Path parameters
NameTypeDescriptionExample
cuirequired
string
The company tax identification number, without the
RO prefix (e.g. 6719278).
Query parameters
NameTypeDescriptionAccepted values
baza_anoptional
integer | null
The reference year for prices. Defaults to the current year.
1990 – 2100
How it behaves
- This route does not require the company to be in the trade register. The Ministry of Finance also receives filings from entities outside it — associations, foundations, institutions: 103,953 entities, with 905,993 rows. Their financial statements are served normally, but
/firme/{cui}answers 404, because a trade-register profile genuinely does not exist.data.in_registru_onrctells you which case you are in, so the 404 on the profile does not look inconsistent. - When a company filed twice for the same year, the specialised set (the complete one) is served, not the generic
webmirror. If the two genuinely disagree on figures — 17 cases in the whole database, all in 2009 — the year carries aconflictfield naming the other family and the indicators that differ. The source gives neither a filing date nor a restatement marker, so we cannot say which figure is correct; we serve the more complete one and flag that a disagreement existed. - The financial statements deflated to the prices of a base year, using the cumulative consumer price index (CPI). Formula:
real_value = nominal_value × CPI(base) / CPI(year). - The base year is given with
?baza_an=(defaults to the current year). This lets you see whether a rise in turnover is real or just an inflation effect — a company can grow "on paper" and still shrink in real terms.
What it is for
- Analysing real growth, cleaned of inflation.
- Fair comparisons between distant years.
Response structure
All fields below live inside data.
FieldTypeDescription
cui
integer
The tax ID.
in_registru_onrc
boolean
Whether the entity also has a profile at
/firme/{cui}. false for those filing with the Ministry of Finance without being in the trade register.
ani[]
object[]
The balance sheets by year, with each one's indicators.
ani[].conflict[].familie
The other filing submitted for the same year. Present only when the figures genuinely differ.
ani[].conflict[].indicatori[]
Codes of the indicators the two filings disagree on. Missing and zero do not count as a disagreement.
Response examples
GEThttps://oneapi.ro/api/business/v1/firme/6719278/financiar/real
{
"data": {
"cui": 6719278,
"in_registru_onrc": true,
"ani": [
{
"an": 2008,
"tip": "SOCIETATI COMERCIALE CARE DEPUN BILANT LUNG, BILANT SCURT SI RAPORTARI ANUALE",
"familie": "web",
"caen": 4711,
"decodat": true,
"indicatori": [
{
"cod": "I1",
"denumire": "ACTIVE IMOBILIZATE - TOTAL",
"valoare": 111431788,
"valoare_reala": 251987872
}
]
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/firme/14399840/financiar/real
{
"data": {
"cui": 14399840,
"in_registru_onrc": true,
"ani": [
{
"an": 2008,
"tip": "SOCIETATI COMERCIALE CARE DEPUN BILANT LUNG, BILANT SCURT SI RAPORTARI ANUALE",
"familie": "web",
"caen": 4754,
"decodat": true,
"indicatori": [
{
"cod": "I1",
"denumire": "ACTIVE IMOBILIZATE - TOTAL",
"valoare": 4533669,
"valoare_reala": 10252277
}
]
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/firme/2054341/financiar/real
{
"data": {
"cui": 2054341,
"in_registru_onrc": true,
"ani": [
{
"an": 2008,
"tip": "SOCIETATI COMERCIALE CARE DEPUN BILANT LUNG, BILANT SCURT SI RAPORTARI ANUALE",
"familie": "web",
"caen": 1439,
"decodat": true,
"indicatori": [
{
"cod": "I1",
"denumire": "ACTIVE IMOBILIZATE - TOTAL",
"valoare": 9438768,
"valoare_reala": 21344493
}
]
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/firme/24890577/financiar/real
{
"data": {
"cui": 24890577,
"in_registru_onrc": true,
"ani": [
{
"an": 2009,
"tip": "SOCIETATI COMERCIALE CARE DEPUN BILANT LUNG, BILANT SCURT SI RAPORTARI ANUALE",
"familie": "webblbssl",
"caen": 4619,
"decodat": true,
"indicatori": [
{
"cod": "I1",
"denumire": "ACTIVE IMOBILIZATE - TOTAL",
"valoare": 72827,
"valoare_reala": 157218
}
]
}
]
}
}
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. |
| 404 | negasit | Company [{cui}] not found. |
| 422 | validare | An undeclared parameter or a value that fails validation (baza_an). The offending field is in detalii. |
| 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": "An undeclared parameter or a value that fails validation (baza_an). The offending field is in detalii.",
"detalii": {
"cui": [
"The value sent does not satisfy the parameter rule."
]
}
}
}