Home › APIs › Other data
Air Quality API
How clean the air is right now at official monitoring stations near any place in Europe.
Used by: Developers and data teams.
Live air quality for any place in Europe, no API key: newest hourly PM2.5, PM10, NO2, ozone and SO2 measured by official EEA monitoring stations (3,700+ active stations in 38 countries incl. UK), the nearest stations to a lat/lon with distance, European Air Quality Index band, data age, hourly history up to 30 days and station lists. Only-new mode returns each new hour once.
Try it live, no sign-up
Run the example as is, or change the input. 5 own tries a day without a key.
Example request
curl -X POST https://radarbg.com/v1/air-quality-api \
-H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"mode": "latest", "lat": 52.52, "lon": 13.405, "radius_km": 25}'
Answer: {"ok": true, "count": N, "items": [...], "usage": {...}}. Failed calls are not counted.
Inputs
| Field | Type | Description |
|---|---|---|
mode | string | latest = newest hourly values at the stations nearest to a place (with European Air Quality Index band); history = hourly values of one station for the last N hours; stations = list all stations of a country. |
lat | number | Latitude of the place, e.g. 52.52 (Berlin). Europe only (EEA member and cooperating countries, plus UK). |
lon | number | Longitude of the place, e.g. 13.405 (Berlin). |
locations | array | For latest: up to 25 places as 'lat,lon', e.g. 48.8566,2.3522. Each place returns its nearest stations; rows carry query_location. |
station | string | EEA station EoI code, e.g. DEBE068 or FR04055. Required for history unless lat/lon is given (then the nearest station is used). |
country | string | For stations: ISO 2-letter country code, e.g. DE, FR, BG, PL. |
pollutants | array | Any of PM2.5, PM10, NO2, O3, SO2. Empty = all five. |
radius_km | integer | For latest: search radius around the place. Default 25, max 200. If no station is inside, the nearest ones are returned with a note. |
limit | integer | For latest: how many nearest stations to return per place (default 3, max 20). For stations mode: max rows (default 500). |
hours | integer | For history: how many past hours to return (default 24, max 720 = 30 days). |
onlyNew | boolean | Monitor mode: return only station hours not returned before for this Monitor ID. Schedule the actor hourly to get each new measurement once. |
monitorId | string | Name of the only-new memory, so several schedules stay separate, e.g. 'berlin-office'. |
Price
Included in every plan: 500 calls a month free, then from €5 a month for 5,000 calls across all APIs.
Questions
What does the Air Quality API do?
How clean the air is right now at official monitoring stations near any place in Europe.
Where does the data come from?
Live air quality for any place in Europe, no API key: newest hourly PM2.5, PM10, NO2, ozone and SO2 measured by official EEA monitoring stations (3,700+ active stations in 38 countries incl. UK), the nearest stations to a lat/lon with distance, European Air Quality Index band, data age, hourly history up to 30 days and station lists. Only-new mode returns each new hour once.
How much does it cost?
500 calls a month are free with no card. Paid plans start at EUR 5 a month for 5,000 calls and include every API on Radar. Failed calls are not counted.
Can I use it without writing code?
Yes. Try it live on this page, use our free browser tools, or ask us to run it on your list as a service.