oneapi
Sign in
Locations v1 / Referință & business

Companies in an administrative unit

The companies registered in the administrative unit (SIRUTA code), newest first. Paginated.

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

Path parameters

NameTypeDescriptionExample
codrequired string SIRUTA code of the administrative-territorial unit (e.g. 54975 for Cluj-Napoca).

Query parameters

This route accepts no query parameters.

How it behaves

  • Companies are linked to Locations through their resolved registered office (99.9% at locality level, ~79% at street level) — see the Business module.
  • Ordered by registration date, newest first. The aggregates (total, VAT, top NACE, by status) are at /uat/54975/firme/sumar.

What it is for

  • How many companies there are, and which ones, in one administrative unit (commune or town)
  • Prospecting or market analysis over a geographic area
  • Checking the economic density of an area

Response structure

FieldTypeDescription
data[].cui integer The company's tax identification number.
data[].denumire string The name, exactly as the source publishes it.
data[].stare object The company's status (active, struck off and so on).
data[].stare.cod string Code from the source code list — the key you filter on.
data[].stare.denumire string The name, exactly as the source publishes it.
data[].stare.categorie string Category in the source classification.
data[].caen_principal string The main NACE (CAEN) code, from the ANAF tax status.
data[].platitor_tva boolean VAT-registered at the last synchronisation.
data[].data_inmatriculare string Date of registration with the trade register.
meta.actualizat.firme string When this particular data set was last refreshed.
meta.actualizat.agregate string Aggregates available in the response.
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/locations/v1/uat/54975/firme
{
    "data": [
        {
            "cui": 55522575,
            "denumire": "STROPIA S.R.L.",
            "stare": {
                "cod": "1048",
                "denumire": "funcțiune",
                "categorie": "activa"
            },
            "caen_principal": "9329",
            "platitor_tva": false,
            "data_inmatriculare": "2026-09-01"
        }
    ],
    "meta": {
        "actualizat": {
            "firme": "2026-09-18T07: 16: 22+03: 00",
            "agregate": "2026-10-06T23: 13: 50+03: 00"
        },
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 114118,
            "pagini": 5706
        }
    }
}

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.
422validareThe route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored.
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": "The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored.",
        "detalii": {
            "cod": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}