oneapi
Autentificare
Locations v1 / Profil & comparație

Profilul unui UAT

⭐ Fișa completă a unei comune, oraș sau municipiu: demografie, firme cu top CAEN, șomaj și
autorizații de construire — într-un singur apel. Cu include=seism,aer,meteo se adaugă expunerea
seismică, calitatea aerului la stațiile apropiate și clima.

GET
https://oneapi.ro/api/locations/v1/uat/{cod}/profil

Parametri de cale

NumeTipDescriereExemplu
codobligatoriu string Codul SIRUTA al unităţii administrativ-teritoriale (ex. 54975 pentru Cluj-Napoca).

Parametri de interogare

NumeTipDescriereValori acceptate
includelistăopțional text Straturi adăugate la profil, separate prin virgulă: seism, aer, meteo. seismaermeteo

Cum se comportă

  • ⭐ Compune demografia, agregatele de firme (cu top CAEN), șomajul la ultima lună și autorizațiile la ultimul an.
  • Ca la județ, fiecare secțiune își păstrează perioada proprie și iese null când n-are date.
  • top_caen = primele 5 sectoare după numărul de firme cu sediul în UAT.
  • Tot despre comuna asta, într-un apel: include=seism,aer,meteo (oricare, în orice combinație) adaugă straturile din alte zone, fiecare exact cum îl dă ruta lui — seism ca /mediu/v1/seism/expunere, aer ca /mediu/v1/aer/acum (3 stații în 25 km), meteo ca /locations/v1/meteo/normale. Un strat fără date iese null.
  • Straturile pornesc din centroidul UAT-ului, nu dintr-un sat anume: într-o comună întinsă, stația meteo ori de aer cea mai apropiată poate fi la zeci de kilometri — punct.nivel și distanta_km din fiecare strat o spun.

La ce folosește

  • Fișa unei comune sau a unui oraș pentru o pagină publică, într-un apel.
  • Scoring de zonă: populație, densitate, firme și șomaj împreună.
  • Due diligence rapidă pe localizarea unui sediu.

Structura răspunsului

CâmpTipDescriere
data.nivel string Nivelul entității (uat).
data.cod string Codul cerut.
data.nume string Denumirea canonică a UAT-ului.
data.populatie integer | null Populația la recensământ.
data.suprafata_kmp number | null Suprafața, în km².
data.densitate number | null Locuitori pe km².
data.firme.total integer Numărul total de firme cu sediul în entitate.
data.firme.platitori_tva integer Câte dintre ele sunt plătitoare de TVA.
data.firme.densitate number | null Firme pe km²; null unde nu există suprafață.
data.somaj.numar number | null Numărul de șomeri înregistrați la ultima lună publicată.
data.somaj.pondere number | null Ponderea în resursele de muncă, în procente.
data.somaj.numitor string | null La ce se raportează ponderea — nu e rata șomajului.
data.somaj.perioada.an integer Anul ultimei luni publicate.
data.somaj.perioada.luna integer Luna (1–12).
data.autorizatii.an integer Ultimul an cu autorizații publicate.
data.autorizatii.categorii[].categorie string Categoria de construcție.
data.autorizatii.categorii[].numar number | null Câte autorizații s-au eliberat.
data.autorizatii.categorii[].mp_utili number | null Suprafața utilă autorizată, în m².
data.top_caen[].cod string Codul CAEN al sectorului.
data.top_caen[].denumire string | null Denumirea sectorului.
data.top_caen[].nr integer Câte firme au acest CAEN principal.
meta.actualizat object Prospețimea datelor pe domenii (dată ISO 8601).
data.seism object Doar cu include=seism: expunerea seismică a UAT-ului, cu forma de la /mediu/v1/seism/expunere.
data.aer object Doar cu include=aer: ultimele valori la cele mai apropiate stații, cu forma de la /mediu/v1/aer/acum.
data.meteo object Doar cu include=meteo: normalele climatice ale stației de referință, cu forma de la /locations/v1/meteo/normale.
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/uat/54975/profil
{
    "data": {
        "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
            }
        },
        "autorizatii": {
            "an": 2025,
            "categorii": [
                {
                    "categorie": "administrative",
                    "numar": 2,
                    "mp_utili": 12195
                }
            ]
        },
        "top_caen": [
            {
                "nr": 3711,
                "cod": "4932",
                "denumire": "Transporturi cu taxiuri"
            }
        ]
    },
    "meta": {
        "actualizat": {
            "administrativ": "2026-08-15T16: 39: 14+03: 00",
            "populatie": "2026-08-15T16: 40: 07+03: 00"
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitUAT-ul nu există.
422validareinclude conține un strat necunoscut.
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": "include conține un strat necunoscut.",
        "detalii": {
            "cod": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}