oneapi
Sign in
Business v1 / Firme

Companies in a locality

The companies registered in a locality (SIRUTA code or name). Paginated.

GET
https://oneapi.ro/api/business/v1/localitati/{localitate}/firme

Path parameters

NameTypeDescriptionExample
localitaterequired string SIRUTA code of the locality (e.g. 179141).

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 locality, with filters and pagination. The locality is identified through Locations (SIRUTA code or id).
  • 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

  • Prospecting at town or village level, finer than county.
  • Local market studies: how many companies of a kind are in the locality.
  • Feeding a local directory page with the area's companies.

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/localitati/179196/firme
{
    "data": [
        {
            "cui": 4928286,
            "denumire": "$ G M COMIMPEX SRL",
            "cod_inmatriculare": "J40/25592/1993",
            "forma_juridica": "SRL",
            "stare": {
                "cod": "1084",
                "denumire": "radiată",
                "categorie": "radiata"
            },
            "data_inmatriculare": "1993-11-11",
            "sediu": {
                "judet": "București",
                "localitate": "București Sectorul 6",
                "cod_siruta": 179196
            },
            "caen_principal": {
                "cod": "5211",
                "denumire": "Comerț cu amănuntul în magazine nespecializate, cu vânzare predominantă de produse alimentare, băuturi și tutun"
            },
            "fiscal": {
                "tva": false,
                "inactiv": false,
                "e_factura": false
            },
            "financiar": null
        }
    ],
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 113729,
            "pagini": 5687
        }
    }
}

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 locality [{localitate}] does not exist. It is given by its SIRUTA code 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": {
            "localitate": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}