Locations v1 / Ierarhie & dropdown-uri
Detaliu localitate
Detaliul unei localități după cod_siruta: județul + UAT-ul părinte (chainable), mediu,
populație. Expandabil cu ?include=populatie,coduri_postale,nume_alternative,secundare
(secundare = cătunele/cartierele atașate). Fără geospatial (rută dedicată) și fără
străzi (/localitati/{cod}/strazi).
GET
https://oneapi.ro/api/locations/v1/localitati/{cod}
Parametri de cale
NumeTipDescriereExemplu
codobligatoriu
string
Codul SIRUTA al localităţii (ex.
54984).
Parametri de interogare
NumeTipDescriereValori acceptate
includelistăopțional
text
Secțiuni expandabile, separate prin virgulă.
populatiecoduri_postalenume_alternativesecundare
Cum se comportă
- 227 din cele 13.755 de localităţi (1,65%) n-au cifră de populaţie — sate aproape depopulate, pentru care recensământul din 2021 n-a publicat o valoare (cea mai mică cifră publicată în ţară e 3). Nu e o legătură nefăcută: toate 227 există, cu geometrie şi cu identificator GeoNames. Cifrele de judeţ şi de UAT nu sunt afectate — vin din rândurile lor proprii de recensământ, nu din însumarea localităţilor. Cine însumează el localităţile pierde, la nivel naţional, 96 de persoane din 19.053.815.
- Include coordonata localității (
lat/lng). Străzile stau separat, la/localitati/{cod}/strazi. ?include=adaugă secțiuni; un cod necunoscut în include → 422.include=secundareadaugă cătunele/cartierele atașate localității (nume, tip, coordonate, distanța până la localitate).- Localitatea și UAT-ul cu același nume pot împărți
geoname_id(GeoNames are o singură intrare pentru oraș), dar auwikidata_qiddiferit — Wikidata separă orașul de unitatea administrativă.
La ce folosește
- Pagina de detaliu a unei localități: județ + UAT chainable, mediu, populație și coordonată într-un singur obiect.
- După o căutare/autocomplete, iei entitatea completă pe
cod_sirutapentru afișare sau confirmare. - Îmbogățești o comandă cu contextul administrativ (UAT, județ) pornind doar de la
cod_siruta.
Structura răspunsului
CâmpTipDescriere
data.cod_siruta
integer
Codul SIRUTA (cheia publică a entității).
data.nume
string
Denumirea entității.
data.tip
string
Tipul entității (cod brut; denumirile la /nomenclatoare/tipuri).
data.mediu
string | null
urban sau rural.
data.geoname_id
integer | null
Id-ul GeoNames al localității (punte externă, nu cheie de-a noastră).
data.wikidata_qid
string | null
QID-ul Wikidata al localității.
data.lat
number | null
Latitudine (WGS84).
data.lng
number | null
Longitudine (WGS84).
data.judet.cod
string
Indicativul auto al județului.
data.judet.nume
string
Numele județului.
data.uat
object
UAT-ul părinte (chainable).
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.populatie
integer | null
Populația (recensământ).
data.populatie_detaliu
object
Defalcare M/F — doar cu include=populatie.
data.populatie_detaliu.masculin
integer | null
Populația masculină.
data.populatie_detaliu.feminin
integer | null
Populația feminină.
data.populatie_detaliu.an
integer | null
Anul recensământului sursă.
data.populatie_detaliu.sursa
string | null
Sursa populației (ex. RPL2021).
data.coduri_postale[]
string
Codurile poștale ale localității.opțional
data.nume_alternative[]
array
Exonime + denumiri istorice — doar cu include=nume_alternative.
data.nume_alternative[].nume
string
Denumirea alternativă (exonim sau formă istorică).
data.nume_alternative[].lang
string | null
Limba denumirii, unde e cunoscută.
data.nume_alternative[].tip
string | null
Ce fel de denumire e: exonim, istorică, variantă.
data.nume_alternative[].sursa
string | null
De unde provine denumirea.
data.nume_alternative[].valabil_pana_la
string | null
Anul până la care denumirea a fost oficială.
data.secundare[]
array
Cătune/cartiere atașate — doar cu include=secundare.
data.secundare[].nume
string
Denumirea cătunului sau cartierului.
data.secundare[].tip
string
catun | 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/localitati/54984
{
"data": {
"cod_siruta": 54984,
"nume": "Cluj-Napoca",
"tip": "resedinta_municipiu",
"mediu": "urban",
"geoname_id": 681290,
"wikidata_qid": "Q16898189",
"lat": 46.78,
"lng": 23.559444444444,
"judet": {
"cod": "CJ",
"nume": "Cluj"
},
"uat": {
"cod_siruta": 54975,
"nume": "Cluj-Napoca",
"tip": "municipiu"
},
"populatie": 286598
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"geo": "2026-09-04T21: 24: 20+03: 00",
"populatie": "2026-08-15T16: 40: 07+03: 00"
}
}
}
GEThttps://oneapi.ro/api/locations/v1/localitati/54984?include=populatie,coduri_postale,nume_alternative
{
"data": {
"cod_siruta": 54984,
"nume": "Cluj-Napoca",
"tip": "resedinta_municipiu",
"mediu": "urban",
"geoname_id": 681290,
"wikidata_qid": "Q16898189",
"lat": 46.78,
"lng": 23.559444444444,
"judet": {
"cod": "CJ",
"nume": "Cluj"
},
"uat": {
"cod_siruta": 54975,
"nume": "Cluj-Napoca",
"tip": "municipiu"
},
"populatie": 286598,
"populatie_detaliu": {
"masculin": 134768,
"feminin": 151830,
"an": 2021,
"sursa": "RPL2021"
},
"coduri_postale": [
"400335"
],
"nume_alternative": [
{
"nume": "Cluj-Napoca",
"lang": "ro",
"tip": "denumire_istorica",
"sursa": "mfp",
"valabil_pana_la": "2001-05-10"
}
]
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"geo": "2026-09-04T21: 24: 20+03: 00",
"populatie": "2026-08-15T16: 40: 07+03: 00"
}
}
}
GEThttps://oneapi.ro/api/locations/v1/localitati/54984?include=secundare
{
"data": {
"cod_siruta": 54984,
"nume": "Cluj-Napoca",
"tip": "resedinta_municipiu",
"mediu": "urban",
"geoname_id": 681290,
"wikidata_qid": "Q16898189",
"lat": 46.78,
"lng": 23.559444444444,
"judet": {
"cod": "CJ",
"nume": "Cluj"
},
"uat": {
"cod_siruta": 54975,
"nume": "Cluj-Napoca",
"tip": "municipiu"
},
"populatie": 286598,
"secundare": [
{
"nume": "Andrei Mureșanu",
"tip": "cartier",
"lat": 46.75922,
"lng": 23.60612,
"distanta_m": 4248,
"sursa": "geonames"
}
]
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"geo": "2026-09-04T21: 24: 20+03: 00",
"populatie": "2026-08-15T16: 40: 07+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
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 404 | negasit | Localitatea nu există. |
| 422 | parametri_invalizi | Un include necunoscut. |
| 429 | cota_depasita | Cota 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": "Un include necunoscut.",
"detalii": {
"cod": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}