Business v1 / Locații
Economic profile of an area
How many companies there are around the point and what they do — the top 5 NACE sectors. The aggregated variant of the /firme/aproape route, without the company list.
GET
https://oneapi.ro/api/business/v1/firme/zona
Query parameters
NameTypeDescriptionAccepted values
latoptional
string | null
Latitude of the centre (WGS84), within Romania.
e.g. 46.77e.g. 44.43e.g. 47.17
lngoptional
string | null
Longitude of the centre (WGS84), within Romania.
e.g. 23.59e.g. 26.10e.g. 27.57
raza_kmoptional
string | null
Radius in km: between 0.05 and 25; default 0.5.
e.g. 1e.g. 2
stareoptional
string | null
Categoria de stare, nu denumirea ONRC: cele 197 de denumiri se reduc la şapte categorii, iar
„ce funcţionează aici" e o întrebare despre categorie.
o valoare greşită trebuie să dea 422, nu o zonă goală care arată ca o zonă fără firme. activasuspendatadizolvatalichidareradiatainsolventaalta
„ce funcţionează aici" e o întrebare despre categorie.
in: aici, nu permisiv ca restul:o valoare greşită trebuie să dea 422, nu o zonă goală care arată ca o zonă fără firme. activasuspendatadizolvatalichidareradiatainsolventaalta
How it behaves
- How many companies are around the point and what they do — the top 5 CAEN sectors. The aggregated variant of
/firme/aproape. - Same street-based linking and the same ~71% coverage as
/firme/aproape; the total counts findable companies, not every company in the area. - CAEN labels resolve against the revisions where the codes actually exist — ANAF data mixes Rev.2, Rev.3 and legacy Rev.1 codes.
What it is for
- An economic snapshot of a neighbourhood or commercial area, in a single call.
- Comparing two locations by the density and profile of the surrounding companies.
- A context widget in real-estate apps: what is happening economically around the address.
Response structure
All fields below live inside data.
FieldTypeDescription
centru.lat
number
Latitude of the requested point (echo).
centru.lng
number
Longitude of the requested point (echo).
raza_km
number
The radius used, in km.
stare
string | null
total
integer
How many findable companies fall inside the circle (see the ~71% coverage).
pe_categorie[].categorie
string
Category in the source classification.
pe_categorie[].nr
integer
Number of items in this group.
top_caen[].cod
string
The sector CAEN code.
top_caen[].denumire
string | null
The sector name, from the revision where the code exists.
top_caen[].nr
integer
How many companies in the area have this primary CAEN.
Response examples
GEThttps://oneapi.ro/api/business/v1/firme/zona?lat=46.77&lng=23.59&raza_km=1
{
"data": {
"centru": {
"lat": 46.77,
"lng": 23.59
},
"raza_km": 1,
"stare": null,
"total": 9945,
"pe_categorie": [
{
"categorie": "radiata",
"nr": 4683
}
],
"top_caen": [
{
"cod": "6831",
"denumire": "Agenții imobiliare",
"nr": 381
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/firme/zona?lat=44.43&lng=26.10&raza_km=1&stare=activa
{
"data": {
"centru": {
"lat": 44.43,
"lng": 26.1
},
"raza_km": 1,
"stare": "activa",
"total": 10077,
"pe_categorie": [
{
"categorie": "radiata",
"nr": 12206
}
],
"top_caen": [
{
"cod": "6820",
"denumire": "Închirierea și subînchirierea bunurilor imobiliare proprii sau închiriate",
"nr": 327
}
]
}
}
GEThttps://oneapi.ro/api/business/v1/firme/zona?lat=47.17&lng=27.57&raza_km=2
{
"data": {
"centru": {
"lat": 47.17,
"lng": 27.57
},
"raza_km": 2,
"stare": null,
"total": 32650,
"pe_categorie": [
{
"categorie": "radiata",
"nr": 17964
}
],
"top_caen": [
{
"cod": "4711",
"denumire": "Comerț cu amănuntul în magazine nespecializate, cu vânzare predominantă de produse alimentare, băuturi și tutun",
"nr": 908
}
]
}
}
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. |
| 422 | validare | An undeclared parameter or a value that fails validation (lat, lng, raza_km). The offending field is in detalii. |
| 422 | parametri_invalizi | The lat and lng parameters are required. |
| 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": "An undeclared parameter or a value that fails validation (lat, lng, raza_km). The offending field is in detalii.",
"detalii": {
"lat": [
"The value sent does not satisfy the parameter rule."
]
}
}
}