Mediu v1 / Mediu
Depășirile valorilor-limită
Câte zile a depășit fiecare stație pragul legal pentru un poluant, într-o perioadă.
GET
https://oneapi.ro/api/mediu/v1/aer/depasiri
Parametri de interogare
NumeTipDescriereValori acceptate
poluantobligatoriu
string
Poluantul. Obligatoriu.
PM10PM2.5NO2O3SO2CO
judetopțional
string | null
Restrânge la un județ (indicativ auto).
max 4 car.
de_laopțional
string | null
Prima zi inclusă,
AAAA-LL-ZZ.
ex. 2026-01-01
pana_laopțional
string | null
Ultima zi inclusă,
AAAA-LL-ZZ.
ex. 2026-12-31
Cum se comportă
- Poluanţii nu se măsoară în aceleaşi staţii. PM10 are 171 de staţii, NO2 149, SO2 116, CO 99, O3 83, iar PM2.5 doar 78. Un clasament sau o comparaţie între doi poluanţi compară, de fapt, două reţele diferite — nu doar două substanţe. Când compari judeţe pe PM2.5, ţine minte că unele n-au nicio staţie care să-l măsoare.
- Fiecare poluant are alt test, fiindcă legea are alt test. PM10 se judecă pe media zilnică (50 µg/m³), NO2 pe valoarea orară (200), ozonul pe maximul mediilor pe 8 ore (120), SO2 pe media zilnică (125), CO pe maximul pe 8 ore (10 mg/m³). Câmpul
testspune exact ce s-a aplicat. - PM2,5 nu apare aici. Are doar valoare-limită anuală, deci o „depășire zilnică" n-ar avea temei legal. Cererea întoarce
aplicabil: falsecu explicația, nu o listă goală care ar părea „zero depășiri". - Numărătoarea acoperă doar perioada cerută și doar zilele cu date. Cifra tolerată de lege se referă la anul calendaristic întreg — compar-o doar dacă perioada acoperă tot anul.
zile_cu_datespune cât de completă e baza. - La NO2 numărăm ZILE cu cel puțin o oră peste prag, în timp ce legea tolerează 18 ORE pe an. Cifra noastră e deci mai mică sau egală cu cea legală, niciodată mai mare — dar nu e aceeași mărime.
- Rezultatele sunt ordonate descrescător după numărul de depășiri.
La ce folosește
- Documentezi într-un raport câte zile a depășit o stație pragul legal într-o perioadă.
- Compari județele după numărul de depășiri, pe date oficiale.
- Verifici dacă o zonă se apropie de numărul de depășiri tolerat pe an.
Structura răspunsului
Toate câmpurile de mai jos sunt în data.
CâmpTipDescriere
poluant
object
Poluantul, cu unitatea și valorile-limită.
aplicabil
boolean
false la poluanții fără valoare-limită zilnică.
motiv
string
De ce nu se aplică, când
aplicabil e false.
test.camp
string
Câmpul comparat cu pragul.
test.prag
number
Pragul.
test.tolerate
integer
Depășiri tolerate pe an calendaristic.
test.descriere
string
Formularea testului.
perioada
object
Intervalul analizat;
null înseamnă toată seria.
perioada.de_la
string
Începutul perioadei cerute.
perioada.pana_la
string
Sfârșitul perioadei cerute.
inregistrari
integer
Câte stații conține răspunsul.
rezultate[].statie
string
Codul EoI al stației.
rezultate[].localitate
string
UAT-ul în care cade stația.
rezultate[].judet
string
Județul.
rezultate[].judet_cod
string
Indicativul auto.
rezultate[].tip
string
Tipul stației — schimbă interpretarea.
rezultate[].zona
string
Mediul de amplasare.
rezultate[].zile_cu_date
integer
Câte zile cu date au intrat în numărătoare.
rezultate[].depasiri
integer
Câte dintre ele au depășit pragul.
rezultate[].valoare_maxima
number
Cea mai mare valoare de test din perioadă.
rezultate[].media_perioadei
number
Media mediilor zilnice din perioadă.
rezultate[].prima_zi
string
Prima zi cu date.
rezultate[].ultima_zi
string
Ultima zi cu date.
observatie
string
Avertismentul despre compararea cu cifra tolerată anual.
sursa
object
Sursa și licența.
poluant.cod
integer
Codul numeric al poluantului, cel folosit de EEA.
poluant.poluant
string
Simbolul: PM10, NO2, O3, SO2, CO, PM2.5.
poluant.denumire
string
Denumirea în clar.
poluant.unitate
string
Unitatea de măsură.
poluant.limite[]
array
Limitele legale aplicabile: tipul, valoarea, câte depășiri sunt tolerate pe an și temeiul normativ.
Exemple de răspuns
GEThttps://oneapi.ro/api/mediu/v1/aer/depasiri?poluant=PM10
{
"data": {
"poluant": {
"cod": 5,
"poluant": "PM10",
"denumire": "Pulberi în suspensie PM10",
"unitate": "µg/m³",
"limite": [
{
"tip": "zilnic",
"valoare": 50,
"depasiri_tolerate_pe_an": 35,
"temei": "Directiva 2008/50/CE, anexa XI"
}
]
},
"aplicabil": true,
"test": {
"camp": "media",
"prag": 50,
"tolerate": 35,
"descriere": "Media zilnică peste 50 µg/m³. Legea tolerează 35 de zile pe an calendaristic."
},
"perioada": {
"de_la": null,
"pana_la": null
},
"inregistrari": 171,
"rezultate": [
{
"statie": "RO0151A",
"localitate": "Rovinari",
"judet": "Gorj",
"judet_cod": "GJ",
"tip": "industrial",
"zona": "suburban",
"zile_cu_date": 382,
"depasiri": 89,
"valoare_maxima": 205.036,
"media_perioadei": 40.34,
"prima_zi": "2025-09-06",
"ultima_zi": "2026-09-22"
}
],
"observatie": "Numărătoarea acoperă DOAR perioada cerută și doar zilele cu date. Cifra tolerată de lege („35 pe an\") se referă la anul calendaristic întreg — compar-o cu numărul de aici doar dacă perioada acoperă tot anul. Verifică `zile_cu_date` înainte de orice concluzie.",
"sursa": {
"nume": "European Environment Agency — Air Quality Download Service (date raportate de România prin RNMCA/ANPM)",
"url": "https://eeadmz1-downloads-webapp.azurewebsites.net/",
"licenta": "Politica de reutilizare a EEA — reutilizare permisă cu indicarea sursei."
}
}
}
GEThttps://oneapi.ro/api/mediu/v1/aer/depasiri?poluant=O3&judet=CJ
{
"data": {
"poluant": {
"cod": 7,
"poluant": "O3",
"denumire": "Ozon",
"unitate": "µg/m³",
"limite": [
{
"tip": "maxim_8h",
"valoare": 120,
"depasiri_tolerate_pe_an": 25,
"temei": "Directiva 2008/50/CE, anexa VII — valoare-țintă"
}
]
},
"aplicabil": true,
"test": {
"camp": "maxim_8h",
"prag": 120,
"tolerate": 25,
"descriere": "Maximul zilnic al mediilor glisante pe 8 ore, peste 120 µg/m³. Valoare-țintă, cu 25 de zile tolerate pe an, mediat pe trei ani."
},
"perioada": {
"de_la": null,
"pana_la": null
},
"inregistrari": 4,
"rezultate": [
{
"statie": "RO0074A",
"localitate": "Cluj-Napoca",
"judet": "Cluj",
"judet_cod": "CJ",
"tip": "background",
"zona": "urban",
"zile_cu_date": 584,
"depasiri": 17,
"valoare_maxima": 185.738,
"media_perioadei": 42.44,
"prima_zi": "2024-12-31",
"ultima_zi": "2026-09-22"
}
],
"observatie": "Numărătoarea acoperă DOAR perioada cerută și doar zilele cu date. Cifra tolerată de lege („25 pe an\") se referă la anul calendaristic întreg — compar-o cu numărul de aici doar dacă perioada acoperă tot anul. Verifică `zile_cu_date` înainte de orice concluzie.",
"sursa": {
"nume": "European Environment Agency — Air Quality Download Service (date raportate de România prin RNMCA/ANPM)",
"url": "https://eeadmz1-downloads-webapp.azurewebsites.net/",
"licenta": "Politica de reutilizare a EEA — reutilizare permisă cu indicarea sursei."
}
}
}
GEThttps://oneapi.ro/api/mediu/v1/aer/depasiri?poluant=PM2.5
{
"data": {
"poluant": {
"cod": 6001,
"poluant": "PM2.5",
"denumire": "Pulberi în suspensie PM2,5",
"unitate": "µg/m³",
"limite": [
{
"tip": "anual",
"valoare": 25,
"depasiri_tolerate_pe_an": 0,
"temei": "Directiva 2008/50/CE, anexa XIV"
}
]
},
"aplicabil": false,
"motiv": "Poluantul nu are valoare-limită pe zi, doar anuală — o „depășire zilnică\" n-ar avea temei legal. Folosește /aer/clasament pentru media perioadei.",
"rezultate": [],
"sursa": {
"nume": "European Environment Agency — Air Quality Download Service (date raportate de România prin RNMCA/ANPM)",
"url": "https://eeadmz1-downloads-webapp.azurewebsites.net/",
"licenta": "Politica de reutilizare a EEA — reutilizare permisă cu indicarea sursei."
}
}
}
GEThttps://oneapi.ro/api/mediu/v1/aer/depasiri?poluant=NO2
{
"data": {
"poluant": {
"cod": 8,
"poluant": "NO2",
"denumire": "Dioxid de azot",
"unitate": "µg/m³",
"limite": [
{
"tip": "orar",
"valoare": 200,
"depasiri_tolerate_pe_an": 18,
"temei": "Directiva 2008/50/CE, anexa XI"
}
]
},
"aplicabil": true,
"test": {
"camp": "maxim",
"prag": 200,
"tolerate": 18,
"descriere": "O valoare orară peste 200 µg/m³ în ziua respectivă. Legea tolerează 18 ore pe an — aici numărăm ZILE cu cel puțin o depășire, deci cifra e mai mică sau egală cu numărul de ore."
},
"perioada": {
"de_la": null,
"pana_la": null
},
"inregistrari": 149,
"rezultate": [
{
"statie": "RO0182A",
"localitate": "Satu Mare",
"judet": "Satu Mare",
"judet_cod": "SM",
"tip": "background",
"zona": "urban",
"zile_cu_date": 615,
"depasiri": 11,
"valoare_maxima": 276.817,
"media_perioadei": 28.99,
"prima_zi": "2025-01-16",
"ultima_zi": "2026-09-22"
}
],
"observatie": "Numărătoarea acoperă DOAR perioada cerută și doar zilele cu date. Cifra tolerată de lege („18 pe an\") se referă la anul calendaristic întreg — compar-o cu numărul de aici doar dacă perioada acoperă tot anul. Verifică `zile_cu_date` înainte de orice concluzie.",
"sursa": {
"nume": "European Environment Agency — Air Quality Download Service (date raportate de România prin RNMCA/ANPM)",
"url": "https://eeadmz1-downloads-webapp.azurewebsites.net/",
"licenta": "Politica de reutilizare a EEA — reutilizare permisă cu indicarea sursei."
}
}
}
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. |
| 422 | validare | Lipsește poluant, sau e 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": "Lipsește poluant, sau e necunoscut.",
"detalii": {
"poluant": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}