Business v1 / Persoane
Search people
Searches people by name (fuzzy). Each result carries the number of companies they appear in. Paginated.
GET
https://oneapi.ro/api/business/v1/persoane/cauta
Query parameters
NameTypeDescriptionAccepted values
qoptional
string | null
The name searched (fuzzy matching).
e.g. popescue.g. ionescue.g. georgescu
How it behaves
- Searches people (administrators/associates) by name, with fuzzy matching, and returns the number of companies each is linked to. Search uses a trigram index (fast).
- Note the deduplication on name + county: a "POPESCU ION" can gather many real people. This is an ONRC limitation, not a bug.
What it is for
- Finding a person when you have the name from a document, not an identifier.
- Screening a signatory before entering a commercial relationship.
- The entry point into network analysis: from a name to the linked companies.
Response structure
FieldTypeDescription
data[].id
integer
The internal identifier.
data[].identificator
string
The person's stable identifier (UUID), derived from name + county of birth + date of birth. Unlike
id, it does not change on reimport. Use it to tell whether the administrator of two companies is the same person or two namesakes.opțional
data[].nume
string
The name.
data[].judet_nastere
string
The county of birth, as published by the register. Together with
identificator, it tells namesakes apart when displaying them.opțional
data[].localitate
string
The locality.opțional
data[].judet
string
The county.opțional
data[].tara
string
The country.opțional
data[].nr_firme
integer
The number of 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/persoane/cauta?q=popescu
{
"data": [
{
"id": 16383590,
"identificator": "abecb6a3-ce1d-5648-b7c3-1ab11a3a6046",
"nume": "POPESCU A. ALEXANDRA",
"judet_nastere": "Bucureşti",
"nr_firme": 0
}
],
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 18611,
"pagini": 931
}
}
}
GEThttps://oneapi.ro/api/business/v1/persoane/cauta?q=ionescu
{
"data": [
{
"id": 15576844,
"identificator": "db91b969-bfeb-5f3b-8a85-37c18b99f05a",
"nume": "IONESCU",
"nr_firme": 8
}
],
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 12415,
"pagini": 621
}
}
}
GEThttps://oneapi.ro/api/business/v1/persoane/cauta?q=georgescu
{
"data": [
{
"id": 15343065,
"identificator": "fdaf335a-e58a-5322-9829-0ceb3b3a1e26",
"nume": "GEORGESCU A. CORINA",
"nr_firme": 1
}
],
"meta": {
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 5173,
"pagini": 259
}
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 422 | validare | An undeclared parameter or a value that fails validation (q). The offending field is in detalii. |
| 422 | q_scurt | The name searched for must have at least 3 characters. |
| 429 | cota_depasita | The 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 (q). The offending field is in detalii.",
"detalii": {
"q": [
"The value sent does not satisfy the parameter rule."
]
}
}
}