Locations v1 / Profil & comparație
Compară entități
⭐ Aceleași mărimi pentru mai multe entități de același nivel, una lângă alta: populație,
suprafață, densitate, firme și șomaj. Codurile care nu există sunt raportate în negasite,
nu ignorate în tăcere.
GET
https://oneapi.ro/api/locations/v1/compara
Parametri de interogare
NumeTipDescriereValori acceptate
nivelobligatoriu
string
Nivelul entităților comparate.
localitateuatjudet
codurilistăopțional
text
Codurile, separate prin virgulă (cod auto la județ, cod SIRUTA la restul).
2 – 10 entități
Cum se comportă
- ⭐ Aceleași mărimi pentru 2–10 entități de același nivel, una lângă alta.
- Codurile necunoscute ajung în
negasite, nu sunt ignorate în tăcere — altfel un cod greșit ar dispărea dintr-o comparație fără ca nimeni să observe. Dacă niciunul nu există, răspunsul e 404. - La
nivel=localitatelipsescdensitateșisomaj: localitățile n-au suprafață în nomenclator, iar șomajul se publică pe UAT, nu sub el. Câmpurile lipsesc onest, nu sunt aproximate din entitatea-părinte. - Statisticile INS nu sunt incluse deliberat: 19 indicatori × N entități ar transforma un răspuns de zecimi de secundă în câteva secunde. Pentru ele există
/judete/{cod}/statistici/insși profilul de județ.
La ce folosește
- Tabel comparativ între județe sau orașe într-o pagină de analiză.
- Alegerea unei locații între câteva variante, pe aceleași mărimi.
- Verificarea unei intuiții („unde e mai densă activitatea economică?") fără N apeluri.
Structura răspunsului
CâmpTipDescriere
data.nivel
string
Nivelul cerut.
data.entitati[].nivel
string
Nivelul entității (același pentru toate).
data.entitati[].cod
string
Codul entității.
data.entitati[].nume
string
Denumirea entității.
data.entitati[].populatie
integer | null
Populația la recensământ.
data.entitati[].suprafata_kmp
number | null
Suprafața în km²;
null la localitate.
data.entitati[].densitate
number | null
Locuitori pe km²;
null la localitate.
data.entitati[].firme.total
integer
Numărul total de firme cu sediul în entitate.
data.entitati[].firme.platitori_tva
integer
Câte sunt plătitoare de TVA.
data.entitati[].firme.densitate
number | null
Firme pe km²;
null la localitate.
data.entitati[].somaj.numar
number | null
Șomeri înregistrați la ultima lună; absent la localitate.
data.entitati[].somaj.pondere
number | null
Ponderea în resursele de muncă, în procente.
data.entitati[].somaj.numitor
string | null
La ce se raportează ponderea.
data.entitati[].somaj.perioada.an
integer
Anul ultimei luni publicate.
data.entitati[].somaj.perioada.luna
integer
Luna (1–12).
data.negasite[]
string
Codurile care nu există la nivelul cerut.
meta.actualizat
object
Prospețimea datelor pe domenii (dată ISO 8601).
Exemple de răspuns
GEThttps://oneapi.ro/api/locations/v1/compara?nivel=judet&coduri[]=CJ&coduri[]=IS
{
"data": {
"nivel": "judet",
"entitati": [
{
"nivel": "judet",
"cod": "CJ",
"nume": "Cluj",
"populatie": 679141,
"suprafata_kmp": 6666.8818,
"densitate": 101.9,
"firme": {
"total": 194068,
"platitori_tva": 26852,
"densitate": 29.11
},
"somaj": {
"numar": 5331,
"pondere": 1.2,
"numitor": "resurse de muncă",
"perioada": {
"an": 2026,
"luna": 7
}
}
}
],
"negasite": []
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"populatie": "2026-08-15T16: 40: 07+03: 00"
}
}
}
GEThttps://oneapi.ro/api/locations/v1/compara?nivel=uat&coduri[]=54975&coduri[]=179132
{
"data": {
"nivel": "uat",
"entitati": [
{
"nivel": "uat",
"cod": "54975",
"nume": "Cluj-Napoca",
"populatie": 286598,
"suprafata_kmp": 174.8759,
"densitate": 1638.9,
"firme": {
"total": 114118,
"platitori_tva": 16184,
"densitate": 652.57
},
"somaj": {
"numar": 756,
"pondere": 0.4,
"numitor": "resurse de muncă",
"perioada": {
"an": 2026,
"luna": 7
}
}
}
],
"negasite": []
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"populatie": "2026-08-15T16: 40: 07+03: 00"
}
}
}
GEThttps://oneapi.ro/api/locations/v1/compara?nivel=judet&coduri[]=B&coduri[]=CJ&coduri[]=TM
{
"data": {
"nivel": "judet",
"entitati": [
{
"nivel": "judet",
"cod": "B",
"nume": "București",
"populatie": 1716961,
"suprafata_kmp": 238.9761,
"densitate": 7184.7,
"firme": {
"total": 725317,
"platitori_tva": 101907,
"densitate": 3035.1
},
"somaj": {
"numar": 5404,
"pondere": 0.4,
"numitor": "resurse de muncă",
"perioada": {
"an": 2026,
"luna": 7
}
}
}
],
"negasite": []
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"populatie": "2026-08-15T16: 40: 07+03: 00"
}
}
}
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 | Niciunul dintre coduri nu există la nivelul cerut. |
| 422 | validare | Mai puțin de 2 sau mai mult de 10 coduri, ori nivel 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": "validare",
"mesaj": "Mai puțin de 2 sau mai mult de 10 coduri, ori nivel necunoscut.",
"detalii": {
"nivel": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}