oneapi
Sign in
Business v1 / Firme

Related companies

The companies linked to this one through shared people (directors and shareholders), ordered by the number of people in common. Paginated (?pagina=&per_pagina=). Useful for identifying groups of companies.

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

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

  • How we identify a person: by name + county of birth + date of birth, hashed into a fingerprint. The birth data is stored nowhere and never appears in the API; the fingerprint only separates people who share a name. Until 18 Sep 2026 identity was 'name + county', and the Trade Register leaves the county empty for 99.3% of representatives: every namesake in the country collapsed into one person, and companies with no real connection showed up as related (68% of the graph edges). Where the register has no date of birth (13% of mentions, mostly corporate liquidators), the person stays distinct at each company: we would rather lose a real link than invent one.
  • The companies related to the given one — those that share at least one person (administrator or associate). It is the basis for ownership and control graphs.
  • For the concrete path between two companies (how they are linked, through whom), use /firme/{cui}/conexe/{cui2} — a path search in the connection graph, up to a given depth.
  • Keep in mind the limitation from people: links are based on name + county matching, so there can be both omissions (the same person written differently) and false positives (namesakes in the same county).

What it is for

  • Ownership graphs and mapping of company groups.
  • Risk analysis of exposure to a group.
  • Investigations and data journalism.

Response structure

FieldTypeDescription
data[].cui integer The tax ID.
data[].denumire string | null The name.
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[].judet string | null The county.
data[].localitate string | null The locality.
data[].persoane_comune integer How many people hold mandates in both companies.
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/6719278/conexe
{
    "data": [
        {
            "cui": 16114842,
            "denumire": "MASCO MANAGEMENT SRL",
            "stare": {
                "cod": "1084",
                "denumire": "radiată",
                "categorie": "radiata"
            },
            "judet": "București",
            "localitate": "București Sectorul 5",
            "persoane_comune": 1
        }
    ],
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 4,
            "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.
404negasitThe company with tax ID [{cui}] was 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."
            ]
        }
    }
}