oneapi
Sign in
Business v1 / Firme

Companies in a UAT

The companies registered in an administrative-territorial unit, by the unit's SIRUTA code — commune, town or city, not just the seat locality.

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

Path parameters

NameTypeDescriptionExample
uatrequired string SIRUTA code of the administrative-territorial unit.

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 UAT (commune/town/municipality), through the Locations UAT filter. Finer than the county, broader than the locality.
  • 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

  • Reporting by administrative-territorial unit, as institutions require it.
  • Local development analysis at commune or town level.
  • Correlating companies with budgets and indicators published per UAT.

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/uat/27383/firme
{
    "data": [
        {
            "cui": 34688240,
            "denumire": "ABRA AGROSUIN SRL",
            "cod_inmatriculare": "J5/993/2015",
            "forma_juridica": "SRL",
            "stare": {
                "cod": "2129",
                "denumire": "Instituire ipotecă mobiliară asupra părților sociale/acțiunilor",
                "categorie": "alta"
            },
            "data_inmatriculare": "2015-06-23",
            "sediu": {
                "judet": "Bihor",
                "localitate": "Tăut",
                "cod_siruta": 27427
            },
            "caen_principal": {
                "cod": "0142",
                "denumire": "Creșterea altor bovine"
            },
            "fiscal": {
                "tva": true,
                "inactiv": false,
                "e_factura": false
            },
            "financiar": {
                "an": 2025,
                "cifra_afaceri": 799657,
                "profit_net": 15879,
                "salariati": 1
            }
        }
    ],
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 460,
            "pagini": 23
        }
    }
}

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 administrative unit [{uat}] 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": {
            "uat": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}