Forecast for a point
{
"lon": 6.869, "lat": 45.924,
"current": { "time": "2026-11-07T17:00:00Z", "pm25": 6.3, "pm10": 7.5,
"nitrogenDioxide": 5.3, "ozone": 51, "sulphurDioxide": 0.2, "carbonMonoxide": 154,
"dust": 0, "uvIndex": 0, "europeanAqi": 23, "usAqi": 27,
"alderPollen": 0, "birchPollen": 0, "grassPollen": 0,
"mugwortPollen": 0, "olivePollen": 0, "ragweedPollen": 0 },
"hourly": [ { "time": "2026-11-07T17:00:00Z", "pm25": 6.3, ... }, ... ]
}
- Hours
- 1 to 120, default 48
- Pollutants
- PM2.5, PM10, nitrogen dioxide, ozone, sulphur dioxide, carbon monoxide and dust, in µg/m³; over Europe also ammonia
- Indexes
- European AQI and US AQI, and the UV index
- Pollen
- Alder, birch, grass, mugwort, olive and ragweed, grains per m³, over Europe; see the pollen API
The forecasts are from the Copernicus Atmosphere Monitoring Service (CAMS): its European model over Europe and its global model everywhere else.
Over an area
GET /v1/air/area?bbox=west,south,east,north&cells=&hours= returns every value on a grid of up to 400 cells, hour by hour, for maps of smoke, dust or ozone over a region. It takes the same grid as the weather area request.
What stations measure now
A forecast is a model. For what the air is like at this moment, /v1/air/stations lists stations near a point, inside a box or along a route, each with its latest hourly values and its last seven days.
{
"stations": [
{ "id": "gios:400", "name": "Kraków, Aleja Krasińskiego", "kind": "government",
"lon": 19.92619, "lat": 50.05768, "distanceKm": 1.02, "time": "2026-11-07T17:00:00.000Z",
"values": { "co": 750, "no2": 52.1, "pm10": 48.1, "pm25": 41.2 } },
{ "id": "sensorcommunity:68207", "name": null, "kind": "citizen",
"lon": 19.936, "lat": 50.078, "distanceKm": 2.02, "time": "2026-11-07T17:28:37.000Z",
"values": { "pm10": 39.3, "pm25": 20.5 } }
],
"credits": [ "..." ]
}
Official stations cover Albania, Andorra, Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Cyprus, Czechia, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Luxembourg, Malta, Montenegro, the Netherlands, North Macedonia, Norway, Poland, Portugal, Romania, Serbia, Slovakia, Slovenia, Sweden, Switzerland and the United Kingdom; citizen sensors measure particles in thousands of places worldwide. Each station says which kind it is, and you can ask for one kind only. Citizen sensors show well whether the air is bad right now, but they read high in fog and are not as exact as official stations.
With everything else about a place
GET /v1/point returns the place name, time zone, height, weather, air quality forecast, nearby air stations and river gauges in one request that counts as one. For a box, GET /v1/area does the same per part.
Price
The free plan gives 500 requests a day, also for commercial apps. Developer is $14.99 a month for 5,000 a day and Pro $39.99 a month for 20,000 a day, with weather, map data, river levels, heights and routing on the same key.
Credits: air quality forecasts from Open-Meteo.com (CC BY 4.0), based on Copernicus Atmosphere Monitoring Service data. Measured values: Sensor.Community contributors (ODbL 1.0); Czech Hydrometeorological Institute, ČHMÚ (CC BY 4.0); Źródło danych: GIOŚ - EKOINFONET (CC BY 4.0; current data are unverified); European Environment Agency, up-to-date data reported by the countries (CC BY 4.0; unverified); Syngeos sensor network (syngeos.pl).