Locations v1 / Ierarhie & dropdown-uri
List of counties
All 42 counties or, when called as /regiuni/{regiune}/judete, only the counties of the given region. Each item carries its seat and its number of administrative units.
GET
https://oneapi.ro/api/locations/v1/judete
Query parameters
This route accepts no query parameters.
How it behaves
- 227 of the 13,755 localities (1.65%) have no population figure — near-abandoned villages for which the 2021 census published no value (the smallest figure published anywhere in the country is 3). This is not a missing link: all 227 exist, with geometry and with a GeoNames identifier. County and administrative-unit figures are unaffected — they come from their own census rows, not from summing localities. Anyone who sums the localities themselves loses, nationwide, 96 people out of 19,053,815.
- Every county, alphabetically. The starting row for any cascade of dropdowns.
codis the vehicle registration prefix (CJ, IS, B) — the handiest value for an<option>.
What it is for
- Populating the county dropdown in checkout or registration forms
- The first step of a cascading county → administrative unit → locality selector
- A preloaded reference list for validating a registration prefix typed by the user
Response structure
FieldTypeDescription
data[].cod
string
Vehicle registration prefix: CJ, IS, B…
data[].cod_siruta
integer
The official SIRUTA code (secondary).
data[].nume
string
The name of the entity.
data[].resedinta
string | null
The county seat.
data[].populatie
integer | null
Population (census).
data[].suprafata_kmp
number | null
Area, in km².
data[].nr_uat
integer
How many administrative units the county has.
data[].nr_firme
integer
How many companies were ever registered here (equal to
total from the summary route).
data[].nr_firme_functiune
integer
How many exist NOW. ⚠️ The figure to put next to the name:
nr_firme also includes struck-off companies, 48.8% of the total.
meta.actualizat
object
Prospețimea datelor pe domenii (dată ISO 8601).
Response examples
GEThttps://oneapi.ro/api/locations/v1/judete
{
"data": [
{
"cod": "AB",
"cod_siruta": 10,
"nume": "Alba",
"resedinta": "Alba Iulia",
"populatie": 325941,
"suprafata_kmp": 6256.544,
"nr_uat": 78
}
],
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"populatie": "2026-08-15T16: 40: 07+03: 00"
}
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 404 | negasit | The region [{regiune}] does not exist. |
| 422 | validare | The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored. |
| 429 | cota_depasita | The plan's monthly quota has been exceeded (see Retry-After). |
All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.
{
"eroare": {
"cod": "validare",
"mesaj": "The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored."
}
}