oneapi
Autentificare
Business v1 / Locații

Vecinii unei firme

⭐ Ce alte firme mai au sediul la aceeași adresă (implicit) sau pe aceeași stradă
(?scop=strada). Firma întrebată nu apare în listă.

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

Parametri de cale

NumeTipDescriereExemplu
cuiobligatoriu string Codul de identificare fiscală al firmei, fără prefixul RO (ex. 6719278).

Parametri de interogare

NumeTipDescriereValori acceptate
scopopțional string | null Cât de aproape se numără vecinătatea: adresa (implicit) sau strada. ex. strada

Cum se comportă

  • ⭐ Ce alte firme au sediul la aceeaşi adresă (implicit) sau pe aceeaşi stradă (?scop=strada). Firma întrebată nu apare în listă.
  • Cifrele spun ceva despre economia reală: la adresa cu cele mai multe sedii din ţară — Bucureştii Noi nr. 136 — sunt înregistrate 24.409 de firme. Sediile de domiciliere sunt un fenomen, nu o excepţie, iar ruta asta le face vizibile.
  • Vecinătatea se calculează pe strada rezolvată în nomenclator, nu pe textul brut al adresei. Pentru firmele al căror sediu n-a putut fi legat de o stradă (~21%) răspunsul e 422 cu motivul, nu o listă goală care ar sugera că firma n-are vecini.
  • scop=adresa compară numărul exact aşa cum e scris la sursă (26, 27-33, 1 bis) — nu se normalizează, fiindcă n-ar exista o regulă care să nu inventeze.

La ce folosește

  • Detectarea adreselor de tip „sediu colectiv", unde zeci de firme împart acelaşi spaţiu.
  • Semnal de risc la onboarding: un sediu cu sute de firme merită o verificare în plus.
  • Prospectare pe clădire sau pe stradă: cine mai e vecin cu clientul tău.

Structura răspunsului

CâmpTipDescriere
data[].cui integer Codul fiscal al firmei.
data[].denumire string Denumirea firmei.
data[].forma_juridica string | null Forma juridică (SRL, SA, PFA…).
data[].stare string | null Starea firmei, ca obiect: denumire e textul brut din ONRC (107 valori distincte folosite), categorie e clasificarea noastră în 7 cutii — activa, suspendata, dizolvata, lichidare, radiata, insolventa, alta — pe care o foloseşti ca să filtrezi sau să grupezi. cod e codul ONRC al stării.
data[].data_inmatriculare string | null Data înmatriculării la ONRC.
data[].caen_principal string | null Codul CAEN principal, din starea fiscală ANAF.
data[].platitor_tva boolean | null Plătitoare de TVA la ultima sincronizare.
data[].sediu.strada_id integer | null
data[].sediu.strada string | null
data[].sediu.numar string | null Numărul de la adresa sediului, așa cum e scris la sursă.
data[].sediu.localitate string | null Localitatea sediului.
data[].sediu.cod_siruta integer | null Codul SIRUTA al localității — chainable spre /locations/v1/localitati/{cod}.
data[].sediu.judet string | null Județul sediului.
data[].coordonate.lat number Latitudinea, în grade zecimale (WGS 84).
data[].coordonate.lng number Longitudinea, în grade zecimale (WGS 84).
data[].coordonate.precizie string Vezi precizie de la /firme/{cui}/locatie: numar, numar_aproximativ, strada ori localitate. ⚠️ Într-o listă, precizia diferă de la rând la rând — nu o citi o dată pentru tot setul.
data[].distanta_m integer | null Nefolosit la vecini (rămâne null) — apare la /firme/aproape.
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.

Exemple de răspuns

GEThttps://oneapi.ro/api/business/v1/firme/6719278/vecini
{
    "data": [
        {
            "cui": 54306506,
            "denumire": "VANGUARD ESTATES S.R.L.",
            "forma_juridica": "SRL",
            "stare": {
                "cod": "1048",
                "denumire": "funcțiune",
                "categorie": "activa"
            },
            "data_inmatriculare": "2026-03-20",
            "caen_principal": "6831",
            "platitor_tva": true,
            "sediu": {
                "strada_id": 221585,
                "strada": "Timișoara",
                "numar": "26",
                "localitate": "București Sectorul 6",
                "cod_siruta": 179196,
                "judet": "București"
            },
            "coordonate": {
                "lat": 44.428876,
                "lng": 26.036041,
                "precizie": "numar"
            },
            "distanta_m": null
        }
    ],
    "meta": {
        "scop": "adresa",
        "paginare": {
            "pagina": 1,
            "per_pagina": 20,
            "total": 95,
            "pagini": 5
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitFirma cu CUI [{cui}] nu a fost găsită.
422validareUn parametru nedeclarat ori o valoare care nu trece validarea (scop). Câmpul vinovat e în detalii.
422parametri_invaliziScopul [{scop}] nu există. Acceptate: adresa, strada.
422sediu_nelegatSediul firmei [{cui}] nu e legat de o stradă din nomenclator, deci vecinii nu pot fi determinați.
422sediu_fara_numarSediul firmei [{cui}] n-are număr, deci vecinii de adresă nu pot fi determinați. Încearcă ?scop=strada.
429cota_depasitaCota lunară a planului a fost depăşită (vezi Retry-After).

Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.

{
    "eroare": {
        "cod": "validare",
        "mesaj": "Un parametru nedeclarat ori o valoare care nu trece validarea (scop). Câmpul vinovat e în detalii.",
        "detalii": {
            "cui": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}