oneapi
Sign in
Business v1 / Firme

Companies in a county

The companies registered in a county (registration prefix or name). Paginated.

GET
https://oneapi.ro/api/business/v1/judete/{judet}/firme

Path parameters

NameTypeDescriptionExample
judetrequired string County name (e.g. Cluj) or its two-letter code.

Query parameters

NameTypeDescriptionAccepted values
sortareoptional string | null The order: denumire (default), cifra_afaceri, profit, salariati (descending, on the latest filed balance sheet), data_inmatriculare (newest first). relevantadenumirecifra_afaceriprofitsalariatidata_inmatriculare

How it behaves

  • The companies with headquarters in a county, paginated. It uses the headquarters resolved through Locations, so it catches inconsistently written addresses too. For filters (CAEN, form, status, VAT, size) use /firme/cauta?judet=.
  • With sortare=cifra_afaceri, profit or salariati, the list becomes a ranking on each company's latest filed balance sheet (the year is in financiar.an, so it may differ between companies) and covers only companies that have one — meta.paginare.total drops accordingly. For a ranking on a single year: /firme/top.

What it is for

  • Building a county-level prospecting list, filtered by CAEN code.
  • Splitting a portfolio between agents, by county.
  • Territorial reporting that uses the resolved headquarters, not raw address text.

Response structure

FieldTypeDescription
data[].cui integer The tax ID.
data[].denumire string The name.
data[].cod_inmatriculare string The trade register order number (J…).
data[].forma_juridica string Legal form (SRL, SA, PFA…).
data[].stare string The company status, as an object: denumire is the raw ONRC text (107 distinct values in use), categorie is our classification into 7 buckets — activa, suspendata, dizolvata, lichidare, radiata, insolventa, alta — which is what you filter or group by. cod is the ONRC code of the status.
data[].data_inmatriculare string The trade register incorporation date.
data[].sediu.judet string The county of the registered office.
data[].sediu.localitate string The locality of the registered office.
data[].sediu.cod_siruta integer The locality SIRUTA code — chainable to /api/locations/v1.
data[].caen_principal.cod string The primary CAEN code.
data[].caen_principal.denumire string The name of the primary activity.
data[].fiscal.tva boolean VAT-registered.
data[].fiscal.inactiv boolean Declared fiscally inactive.
data[].fiscal.e_factura boolean Enrolled in e-Invoicing.
data[].financiar object | null The latest filed balance sheet (year, turnover, net profit, employees); null for companies without one — sole traders, new companies —, not zero.
data[].financiar.an integer The balance-sheet year.
data[].financiar.cifra_afaceri number | null Net turnover, in lei.
data[].financiar.profit_net number | null Net profit, in lei; negative = loss.
data[].financiar.salariati integer | null The average number of employees.
meta.paginare.pagina integer Current page, counted from 1.
meta.paginare.per_pagina integer How many records a page holds.
meta.paginare.total integer Total matching records, beyond the current page.
meta.paginare.pagini integer How many pages the list has.

Response examples

GEThttps://oneapi.ro/api/business/v1/judete/Cluj/firme
{
    "data": [
        {
            "cui": 23646877,
            "denumire": "007 AGENCY SRL",
            "cod_inmatriculare": "J12/1488/2008",
            "forma_juridica": "SRL",
            "stare": {
                "cod": "1084",
                "denumire": "radiată",
                "categorie": "radiata"
            },
            "data_inmatriculare": "2008-04-02",
            "sediu": {
                "judet": "Cluj",
                "localitate": "Florești",
                "cod_siruta": 57715
            },
            "caen_principal": {
                "cod": "8030",
                "denumire": "Activități de investigații"
            },
            "fiscal": {
                "tva": false,
                "inactiv": false,
                "e_factura": false
            },
            "financiar": {
                "an": 2020,
                "cifra_afaceri": null,
                "profit_net": 0,
                "salariati": null
            }
        }
    ],
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 194068,
            "pagini": 9704
        }
    }
}

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 county [{judet}] does not exist. It is given by its licence-plate code (CJ) or by name.
422validareAn undeclared parameter or a value that fails validation (pagina, per_pagina, sortare). The offending field is in detalii.
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": "An undeclared parameter or a value that fails validation (pagina, per_pagina, sortare). The offending field is in detalii.",
        "detalii": {
            "judet": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}