oneapi
Sign in
Locations v1 / Referință & business

County company aggregates: total, VAT-registered, top CAEN, breakdown by status

How many companies the county holds and what they look like: active, VAT registered, broken down by status, with the most frequent activities. Aggregates, not a list — the companies route gives the list.

GET
https://oneapi.ro/api/locations/v1/judete/{cod}/firme/sumar

Path parameters

NameTypeDescriptionExample
codrequired string County code, two letters (e.g. CJ). Bucharest is B.

Query parameters

NameTypeDescriptionAccepted values
limitaoptional integer | null How many activities top_caen returns. Default 5, maximum 25. A value outside the range returns 422 rather than being silently clamped. 1 – 25

How it behaves

  • The aggregates are precomputed (locations:build-firme-sumar) — computing them live for a county takes about 9 seconds. The actualizat field says when.
  • top_caen = activities by company count, 5 by default, up to 25 with limita; pe_stare = the breakdown by status.

What it is for

  • The economic profile of an area in a single call
  • Comparing areas by company count or dominant sectors

Response structure

FieldTypeDescription
data.total integer The total number of companies registered in the entity.
data.in_functiune integer How many of them exist NOW (state in the „active" category). ⚠️ 48.8% of companies with a linked registered office are struck off — total includes them, because it counts everything ever registered here.
data.platitori_tva integer How many of them are VAT-registered.
data.top_caen[].cod string The NACE (CAEN) code of the sector.
data.top_caen[].denumire string | null The name of the sector.
data.top_caen[].nr integer How many companies have this as their main NACE code.
data.pe_stare[].stare string | null The status as ONRC writes it. ALL statuses present in the area are returned (median: 4 for a locality, 8 for a UAT, 39 for a county), so the rows add up to total exactly. Each row also carries its categorie.
data.pe_stare[].categorie string | null Category in the source classification.
data.pe_stare[].nr integer How many companies are in this status.
data.pe_categorie[].categorie string The breakdown across the 7 categories, derived from pe_stare — the overview, for when the detailed list is too long.
data.pe_categorie[].nr integer How many companies are in this category.
meta.actualizat object Prospețimea datelor pe domenii (dată ISO 8601).

Response examples

GEThttps://oneapi.ro/api/locations/v1/judete/CJ/firme/sumar
{
    "data": {
        "total": 194068,
        "in_functiune": 92059,
        "platitori_tva": 26852,
        "top_caen": [
            {
                "nr": 5124,
                "cod": "4120",
                "denumire": "Lucrări de construcții a clădirilor rezidențiale și nerezidențiale"
            }
        ],
        "pe_stare": [
            {
                "nr": 92059,
                "stare": "funcțiune",
                "categorie": "activa"
            }
        ],
        "pe_categorie": [
            {
                "categorie": "activa",
                "nr": 92059
            }
        ]
    },
    "meta": {
        "actualizat": {
            "firme": "2026-09-18T07: 16: 22+03: 00",
            "agregate": "2026-10-06T23: 13: 50+03: 00"
        }
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
404negasitThe entity [{cod}] does not exist.
422validarelimita outside the range 1-25, or any parameter other than lang and limita.
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": "limita outside the range 1-25, or any parameter other than lang and limita.",
        "detalii": {
            "cod": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}