oneapi
Autentificare
Mediu v1 / Mediu

Seria orară a unui poluant

Valorile orare valide, cea mai recentă prima — vârful de la ora 8 dimineaţa pe care media zilei îl netezeşte.

GET
https://oneapi.ro/api/mediu/v1/aer/orar

Parametri de interogare

NumeTipDescriereValori acceptate
limitaopțional integer | null Câte ore să întoarcă, maximum 2000. Implicit 168. 1 – 2000
statieobligatoriu string Codul EoI al stației. Obligatoriu. max 32 car.
poluantobligatoriu string Poluantul. Obligatoriu. PM10PM2.5NO2O3SO2CO
de_laopțional string | null Prima zi inclusă, AAAA-LL-ZZ, pe ora standard a stației. ex. 2026-09-01
pana_laopțional string | null Ultima zi inclusă, AAAA-LL-ZZ. ex. 2026-09-03

Cum se comportă

  • Media zilnică netezește exact ce interesează în oraș: un vârf de 180 µg/m³ la ora 8 dispare într-o medie de 45. Seria orară îl arată.
  • Ora e pe ora standard a stației (+02:00, fără ora de vară — convenția EEA). Vara, 08:00+02:00 e ora 9 pe ceas. Momentul absolut e corect: decalajul e scris în valoare.
  • de_la și pana_la sunt zile întregi pe aceeași oră standard; limita numără ore (implicit 168, o săptămână; maximum 2.000). Ordinea e descrescătoare, cea mai recentă oră prima.
  • Se rețin doar valorile marcate VALIDE de operator, iar datele din fereastra curentă sunt neverificate. O oră lipsă înseamnă că n-a existat o valoare validă, nu zero.
  • Probele gravimetrice de PM10/PM2,5 sunt o valoare pe zi, nu pe oră: nu apar aici, ci în /aer/zilnic, cu masurare: zilnica. O stație fără analizor automat pentru un poluant are deci serie zilnică, dar nu și orară.
  • Pragul orar există doar la NO2 și SO2. La PM10 testul legal e pe media zilnică, la O3 și CO pe media glisantă pe 8 ore — acolo peste_limita_orara e null, iar testul corect e în /aer/zilnic.

La ce folosește

  • Vezi vârful de NO2 de la ora de trafic a dimineții, la stația de lângă școală.
  • Alegi ora de alergare ori de mers cu bicicleta în ziua cu cea mai curată dimineață.
  • Verifici orele în care s-a depășit pragul orar de NO2 ori SO2 — testul legal e pe oră, nu pe zi.

Structura răspunsului

Toate câmpurile de mai jos sunt în data.

CâmpTipDescriere
statie object Stația, cu aceleași câmpuri ca la /aer/statii.
poluant object Poluantul, ca la /aer/zilnic.
limita_orara object Pragul orar {valoare, depasiri_tolerate_pe_an, temei}, ori null.
inregistrari integer Câte ore conține răspunsul.
serie[].ora string Începutul orei, ISO 8601 cu decalaj.
serie[].valoare number Valoarea orară.
serie[].peste_limita_orara boolean Depășirea pragului orar; null fără prag.
observatie string Avertismentul despre oră și date neverificate.
sursa object Sursa și licența.

Exemple de răspuns

GEThttps://oneapi.ro/api/mediu/v1/aer/orar?statie=RO0008R&poluant=PM10&limita=5
{
    "data": {
        "statie": {
            "cod": "RO0008R",
            "cod_national": "RO-EM-3",
            "latitudine": 47.324686,
            "longitudine": 25.134839,
            "altitudine": 912,
            "tip": "background",
            "zona": "rural",
            "localitate": {
                "cod_siruta": 149851,
                "nume": "Poiana Stampei"
            },
            "judet": "Suceava",
            "judet_cod": "SV",
            "prima_observatie": "2010-01-01",
            "ultima_observatie": null,
            "activa": true,
            "date": {
                "are": true,
                "zile": 326,
                "prima_zi": "2026-07-01",
                "ultima_zi": "2026-09-22",
                "poluanti": [
                    "CO",
                    "NO2",
                    "O3",
                    "SO2"
                ]
            }
        },
        "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"
                }
            ]
        },
        "limita_orara": null,
        "inregistrari": 0,
        "serie": [],
        "observatie": "Valori orare valide, cea mai recentă prima. `ora` e începutul orei, pe ora standard a staţiei (+02: 00, fără ora de vară — convenţia EEA); vara, ora 08: 00 de aici e 09: 00 pe ceas. Datele sunt NEVERIFICATE — operatorul le poate corecta ori invalida. Probele gravimetrice de PM10/PM2,5 sunt o valoare pe zi şi apar doar în seria zilnică, cu `masurare: zilnica`.",
        "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.
404negasitNu există o stație cu acest cod.
422validareLipsește statie sau poluant, poluantul e necunoscut ori limita depășește 2000.
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 statie sau poluant, poluantul e necunoscut ori limita depășește 2000.",
        "detalii": {
            "limita": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}