Business v1 / Meta
Data coverage
The volume of data per category (estimated row counts, from the Postgres statistics — instant).
GET
https://oneapi.ro/api/business/v1/meta/acoperire
Query parameters
This route accepts no query parameters.
How it behaves
- These are rows, not distinct entities. For
situatii_financiarethe two differ: the Ministry of Finance publishes the same financial year both in the general set and in the one specialised by entity type, so a (CUI, year) pair can have two rows — while the API serves a single filing per year. The number of distinct filings is therefore lower than the figure here. - How many records each dataset in the module has (companies, activities, procurement, balance sheets, people, etc.), read instantly from table statistics — a measure of coverage.
What it is for
- Checking how large the datasets are, before integrating.
- A status panel showing how many records each slice holds.
- Detecting a failed import, when a figure drops sharply.
Response structure
FieldTypeDescription
data.firme
integer
The companies found.
data.stare_fiscala
integer
The fiscal-status section (same shape as /firme/{cui}/fiscal).
data.activitati
integer
The CAEN activities section.
data.persoane
integer
The people section.
data.situatii_financiare
integer
The financial statements section.
data.achizitii
integer
The public procurement section.
data.fonduri_europene
integer
The European funds section.
data.firme_conexe
integer
The related companies section.
data.registre_intrari
integer
The register entries section.
meta.unitate
string
What the figures count: stored rows.
meta.nota
string
Why the figures count rows rather than distinct filings.
Response examples
GEThttps://oneapi.ro/api/business/v1/meta/acoperire
{
"data": {
"firme": 3909449,
"stare_fiscala": 3908658,
"activitati": 19163960,
"persoane": 3031993,
"situatii_financiare": 15671717,
"achizitii": 17831182,
"fonduri_europene": 175705,
"firme_conexe": 2145456,
"registre_intrari": 1546326
},
"meta": {
"metoda": "estimare",
"sursa": "statistici Postgres (pg_stat_user_tables)",
"unitate": "rânduri stocate",
"nota": "Cifrele sunt rânduri, nu entităţi distincte. La `situatii_financiare`, acelaşi exerciţiu al unei firme poate fi publicat de Finanţe în două seturi (cel general şi cel specializat pe tipul entităţii), deci raportările distincte sunt mai puţine decât rândurile. API-ul serveşte o singură raportare pe an."
}
}
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 | The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored. |
| 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": "The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored."
}
}