oneapi
Autentificare
Locations v1 / Referință & business

Agregate firme pe județ: total, plătitori TVA, top CAEN, defalcare pe stare

Câte firme are judeţul şi cum arată: în funcţiune, plătitoare de TVA, defalcate pe stare, cu activităţile cele mai frecvente. Agregate, nu listă — pentru listă există ruta de firme.

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

Parametri de cale

NumeTipDescriereExemplu
codobligatoriu string Codul judeţului, două litere (ex. CJ). Bucureştiul e B.

Parametri de interogare

NumeTipDescriereValori acceptate
limitaopțional integer | null Câte activităţi întoarce top_caen. Implicit 5, maxim 25. O valoare în afara intervalului dă 422, nu e tăiată tăcut. 1 – 25

Cum se comportă

  • Agregatele sunt precalculate (locations:build-firme-sumar) — calculul live pe un județ durează ~9s. Câmpul actualizat spune când.
  • top_caen = activităţile după numărul de firme, 5 implicit, până la 25 cu limita; pe_stare = defalcarea pe stări.

La ce folosește

  • Profilul economic al zonei dintr-un singur call
  • Comparare de zone după număr de firme / sectoare dominante

Structura răspunsului

CâmpTipDescriere
data.total integer Numărul total de firme cu sediul în entitate.
data.in_functiune integer Câte dintre ele există ACUM (stare din categoria „activă"). ⚠️ 48,8% din firmele cu sediu legat sunt radiate — total le include, fiindcă numără tot ce a fost vreodată înregistrat aici.
data.platitori_tva integer Câte dintre ele sunt plătitoare de TVA.
data.top_caen[].cod string Codul CAEN al sectorului.
data.top_caen[].denumire string | null Denumirea sectorului.
data.top_caen[].nr integer Câte firme au acest CAEN principal.
data.pe_stare[].stare string | null Starea, aşa cum o scrie ONRC. Sunt întoarse TOATE stările prezente în zonă (mediana: 4 la localitate, 8 la UAT, 39 la judeţ), deci suma dă exact total. Fiecare rând poartă şi categorie.
data.pe_stare[].categorie string | null Categoria din clasificarea sursei.
data.pe_stare[].nr integer Câte firme sunt în această stare.
data.pe_categorie[].categorie string Defalcarea pe cele 7 categorii, derivată din pe_stare — vederea de ansamblu, când lista detaliată e prea lungă.
data.pe_categorie[].nr integer Câte firme sunt în categoria asta.
meta.actualizat object Prospețimea datelor pe domenii (dată ISO 8601).

Exemple de răspuns

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"
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitEntitatea [{cod}] nu există.
422validarelimita în afara intervalului 1-25, sau orice alt parametru în afară de lang şi limita.
429cota_depasitaCota lunară a planului a fost depăşită (vezi Retry-After).

Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.

{
    "eroare": {
        "cod": "validare",
        "mesaj": "limita în afara intervalului 1-25, sau orice alt parametru în afară de lang şi limita.",
        "detalii": {
            "cod": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}