oneapi
Autentificare
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 test spune 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: false cu 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_date spune 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."
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareLipsește poluant, sau e 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": "Lipsește poluant, sau e necunoscut.",
        "detalii": {
            "poluant": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}