oneapi
Sign in
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_financiare the 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

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
422validareThe route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored.
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": "The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored."
    }
}