oneapi
Sign in
Business v1 / Firme

Similar companies

Companies with the same activity profile in the same area, ordered by how close they are. For benchmarking and for finding the direct competition.

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

Path parameters

NameTypeDescriptionExample
cuirequired string The company tax identification number, without the RO prefix (e.g. 6719278).

Query parameters

This route accepts no query parameters.

How it behaves

  • Companies similar to the given one — close in sector (CAEN) and geographic area. Useful for discovering competition or a list of comparables.

What it is for

  • Building a list of comparables for a valuation.
  • Discovering a client's local competition, on the same CAEN code and area.
  • Extending a sales campaign from a won customer to similar companies.

Response structure

All fields below live inside data.

FieldTypeDescription
firme[].cui integer The tax ID.
firme[].denumire string The name.
firme[].cod_inmatriculare string The trade register order number (J…).
firme[].forma_juridica string Legal form (SRL, SA, PFA…).
firme[].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.
firme[].data_inmatriculare string The trade register incorporation date.
firme[].sediu.judet string The county of the registered office.
firme[].sediu.localitate string The locality of the registered office.
firme[].sediu.cod_siruta integer The locality SIRUTA code — chainable to /api/locations/v1.
firme[].caen_principal.cod string The primary CAEN code.
firme[].caen_principal.denumire string The name of the primary activity.
firme[].fiscal.tva boolean VAT-registered.
firme[].fiscal.inactiv boolean Declared fiscally inactive.
firme[].fiscal.e_factura boolean Enrolled in e-Invoicing.
firme[].financiar object | null The latest filed balance sheet (year, turnover, net profit, employees); null for companies without one — sole traders, new companies —, not zero.
firme[].financiar.an integer The balance-sheet year.
firme[].financiar.cifra_afaceri number | null Net turnover, in lei.
firme[].financiar.profit_net number | null Net profit, in lei; negative = loss.
firme[].financiar.salariati integer | null The average number of employees.

Response examples

GEThttps://oneapi.ro/api/business/v1/firme/6719278/similare
{
    "data": {
        "firme": [
            {
                "cui": 18430426,
                "denumire": "ADOLORATA IMPEX SRL",
                "cod_inmatriculare": "J40/3344/2006",
                "forma_juridica": "SRL",
                "stare": {
                    "cod": "1048",
                    "denumire": "funcțiune",
                    "categorie": "activa"
                },
                "data_inmatriculare": "2006-02-28",
                "sediu": {
                    "judet": "București",
                    "localitate": "București Sectorul 3",
                    "cod_siruta": 179169
                },
                "caen_principal": {
                    "cod": "4711",
                    "denumire": "Comerț cu amănuntul în magazine nespecializate, cu vânzare predominantă de produse alimentare, băuturi și tutun"
                },
                "fiscal": {
                    "tva": false,
                    "inactiv": true,
                    "e_factura": false
                },
                "financiar": null
            }
        ]
    }
}

Error codes

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