oneapi
Sign in
Business v1 / Firme

Companies by postal code

The companies whose head office sits at a postcode, as the address was resolved through the locations module. Useful for coverage over small areas, below locality level.

GET
https://oneapi.ro/api/business/v1/firme/dupa-cod-postal/{cp}

Path parameters

NameTypeDescriptionExample
cprequired string Postal code searched for, six digits.

Query parameters

This route accepts no query parameters.

How it behaves

  • The companies whose headquarters has a given postal code, paginated. Useful for hyper-local analyses.

What it is for

  • Hyper-local analysis: which companies sit in a postcode.
  • Defining a sales territory by postcodes.
  • Checking company density in a delivery area.

Response structure

FieldTypeDescription
data[].cui integer The tax ID.
data[].denumire string | null The name.
data[].cod_inmatriculare string | null The trade register order number (J…).
data[].forma_juridica string | null Legal form (SRL, SA, PFA…).
data[].stare string | null 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 | null The trade register incorporation date.
data[].radiere.vazut_la string
data[].radiere.dupa string | null
data[].sediu.judet string The county of the registered office.opțional
data[].sediu.localitate string The locality of the registered office.opțional
data[].sediu.cod_siruta integer The locality SIRUTA code — chainable to /api/locations/v1.opțional
data[].caen_principal.cod string The primary CAEN code.
data[].caen_principal.denumire string | null 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 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 Pagina curentă.
meta.paginare.per_pagina integer Rezultate pe pagină.
meta.paginare.total integer Total rezultate.
meta.paginare.pagini integer Număr de pagini.

Response examples

GEThttps://oneapi.ro/api/business/v1/firme/dupa-cod-postal/010000
{
    "data": [
        {
            "cui": 52099552,
            "denumire": "ENERGOBAT STORAGE SOLUTIONS S.R.L.",
            "cod_inmatriculare": "J2025048987009",
            "forma_juridica": "SRL",
            "stare": {
                "cod": "1048",
                "denumire": "funcțiune",
                "categorie": "activa"
            },
            "data_inmatriculare": "2025-07-07",
            "sediu": {
                "judet": "București",
                "localitate": "București Sectorul 1",
                "cod_siruta": 179141
            },
            "caen_principal": {
                "cod": "3512",
                "denumire": "Transportul energiei electrice"
            },
            "fiscal": {
                "tva": true,
                "inactiv": false,
                "e_factura": false
            },
            "financiar": {
                "an": 2025,
                "cifra_afaceri": null,
                "profit_net": -4414,
                "salariati": null
            }
        }
    ],
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 1,
            "pagini": 1
        }
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
404negasitNo company with the postal code [{cp}].
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": {
            "cp": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}