oneapi
Autentificare
Locations v1 / Geo & reverse

Reverse geocoding

Dintr-un punct (lat/lng) → regiunea/județul/UAT-ul care îl conțin + localitatea cea
mai apropiată. Cu ?complet=1 adaugă strada și adresa cea mai apropiată (OSM). Cu
?include=secundare adaugă cătunele/cartierele din apropierea punctului. Punct în
afara oricărui UAT → data null.

GET
https://oneapi.ro/api/locations/v1/reverse

Parametri de interogare

NumeTipDescriereValori acceptate
latobligatoriu number Latitudine WGS84 (-90…90). -90 – 90
lngobligatoriu number Longitudine WGS84 (-180…180). -180 – 180
completopțional boolean | null Cu 1, adaugă strada și adresa cea mai apropiată (OSM). 01
includelistăopțional text secundare = cătune/cartiere din apropierea punctului (≤3 km). secundare

Cum se comportă

  • Point-in-polygon peste limitele oficiale (ANCPI): găsește UAT-ul care conține punctul, apoi județul/regiunea și localitatea cea mai apropiată.
  • Punct în afara oricărui UAT (mare, străinătate) → data: null, cod 200.

La ce folosește

  • Completarea automată a județului/localității în formular dintr-un pin de pe hartă.
  • Îmbogățirea unui lead cu localizarea administrativă din coordonatele lui.
  • Atribuirea teritorială (județ/UAT) a evenimentelor GPS pentru raportare.

Structura răspunsului

CâmpTipDescriere
data.regiune.cod string Codul NUTS-2 al regiunii.
data.regiune.nume string Numele regiunii.
data.judet.cod string Indicativul auto al județului.
data.judet.nume string Numele județului.
data.uat.cod_siruta integer Codul SIRUTA al UAT-ului — chainable spre /uat/{cod}.
data.uat.nume string Denumirea UAT-ului.
data.uat.tip string Tipul UAT-ului (municipiu/oraș/comună).
data.localitate.cod_siruta integer Codul SIRUTA al localității — chainable spre /localitati/{cod}.
data.localitate.nume string Denumirea localității.
data.localitate.tip string Tipul localității.
data.localitate.distanta_m integer Distanța până la localitatea returnată, în metri.
data.strada_apropiata object Doar cu complet=1 (fapt OSM).
data.strada_apropiata.id integer Id-ul intern al străzii — cheia pentru /strazi/{id}.
data.strada_apropiata.nume string Denumirea străzii.
data.strada_apropiata.tip string Tipul arterei (stradă, bulevard, cale…).
data.strada_apropiata.localitate.cod_siruta integer Codul SIRUTA al localității — chainable spre /localitati/{cod}.
data.strada_apropiata.localitate.nume string Denumirea localității.
data.strada_apropiata.distanta_m integer Distanța de la punct până la stradă, în metri.
data.adresa_apropiata object Doar cu complet=1 (fapt OSM).
data.adresa_apropiata.numar string Numărul poștal al punctului de adresă.
data.adresa_apropiata.strada.id integer Id-ul intern al străzii adresei.
data.adresa_apropiata.strada.nume string Denumirea străzii adresei.
data.adresa_apropiata.localitate.cod_siruta integer Codul SIRUTA al localității — chainable spre /localitati/{cod}.
data.adresa_apropiata.localitate.nume string Denumirea localității.
data.adresa_apropiata.cod_postal string | null Codul poștal al punctului de adresă.
data.adresa_apropiata.lat number Latitudine (WGS84).
data.adresa_apropiata.lng number Longitudine (WGS84).
data.adresa_apropiata.distanta_m integer Distanța de la punct până la adresă, în metri.
data.secundare[] array Cătune/cartiere lângă punct — doar cu include=secundare (distanța = până la punct).
data.secundare[].nume string Denumirea cătunului sau cartierului.
data.secundare[].tip string catun sau cartier.
data.secundare[].lat number | null Latitudinea locului secundar (WGS84).
data.secundare[].lng number | null Longitudinea locului secundar (WGS84).
data.secundare[].distanta_m integer | null Distanța până la localitatea-mamă, în metri.
data.secundare[].sursa string De unde vine locul secundar: osm sau geonames.
meta.actualizat object Prospețimea datelor pe domenii (dată ISO 8601).
meta.distanta object Cum sunt măsurate distanţele din răspuns. Apare pe orice răspuns care conţine o distanţă.
meta.distanta.metoda string Mereu linie_dreapta: distanţa geodezică pe suprafaţa Pământului, nu pe drum.
meta.distanta.detaliu string Aceeaşi informaţie, în cuvinte.

Exemple de răspuns

GEThttps://oneapi.ro/api/locations/v1/reverse?lat=46.77&lng=23.59
{
    "data": {
        "regiune": {
            "cod": "RO11",
            "nume": "Nord-Vest"
        },
        "judet": {
            "cod": "CJ",
            "nume": "Cluj"
        },
        "uat": {
            "cod_siruta": 54975,
            "nume": "Cluj-Napoca",
            "tip": "municipiu"
        },
        "localitate": {
            "cod_siruta": 54984,
            "nume": "Cluj-Napoca",
            "tip": "resedinta_municipiu",
            "distanta_m": 2585
        }
    },
    "meta": {
        "actualizat": {
            "administrativ": "2026-08-15T16: 39: 14+03: 00",
            "geo": "2026-09-04T21: 24: 20+03: 00"
        },
        "distanta": {
            "metoda": "linie_dreapta",
            "detaliu": "Distanţele sunt geodezice, în linie dreaptă pe suprafaţa Pământului (WGS84) — nu pe drum."
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422parametri_invalizilat/lng lipsă sau în afara intervalului.
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": "parametri_invalizi",
        "mesaj": "lat/lng lipsă sau în afara intervalului.",
        "detalii": {
            "lat": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}