Germany Air Quality (UBA) – PM10, PM2.5, NO2, O3, SO2, CO
DeprecatedPricing
Pay per usage
Germany Air Quality (UBA) – PM10, PM2.5, NO2, O3, SO2, CO
DeprecatedHourly and daily air quality and air pollution data from all German monitoring stations (Umweltbundesamt open data – Luftqualität, Feinstaub): one record per station, pollutant and timestamp, with station metadata and air quality index. Delta mode for monitoring.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Friedrich K
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 days ago
Last modified
Categories
Security
Limited permissionsShare
Hourly and daily air quality measurements from the German federal and state monitoring networks, straight from the open data API of the Umweltbundesamt (UBA, German Environment Agency). One clean record per station x pollutant x timestamp, including station metadata (name, city, state, coordinates, station type and setting) and the UBA air quality index class. No API key needed.
Use cases
- Air quality dashboards, alerts and BI reports for German cities and states
- Research, journalism and ESG / site-assessment data pipelines
- Monitoring stations for threshold exceedances (use
deltamode on a schedule) - Joining pollution data with weather, traffic or health data (lat/lon included)
Input
| Field | Description |
|---|---|
states | State codes (BE, BY, NW, ...) or German names. Empty = all of Germany. |
stationCodes | UBA station codes (e.g. DEBE010). Empty = all stations of the selected states. |
components | Any of PM10, PM2.5, NO2, O3, SO2, CO. Empty = all six. |
scope | 1SMW hourly mean (default), 1TMW daily mean, 8SMW 8-hour mean, 1SMW_MAX, 8SMW_MAX, 1TMWGL. |
dateFrom / dateTo | YYYY-MM-DD or YYYY-MM-DDTHH:mm. Default: the last 24 hours. Times without offset are CET. |
mode | all (default) or delta (only new/changed records since the last run with the same input). |
maxResults | Cap on results per run (= charged events). |
deltaStateName | Optional name for the delta state, to run independent monitors. |
{"states": ["BE", "BB"],"components": ["PM10", "PM2.5", "NO2", "O3"],"scope": "1SMW","maxResults": 100000}
Each pollutant costs one API request (the API returns all stations at once), so runs are fast: a full day for Berlin and Brandenburg (about 3,000 records) takes well under a minute.
Output (one item)
{"id": "DEBE010_NO2_1SMW_2026-10-05T10:00:00+01:00","stationCode": "DEBE010","stationName": "Berlin Wedding","city": "Berlin","state": "Berlin","stateCode": "BE","lat": 52.543,"lon": 13.3493,"stationType": "Hintergrund","setting": "städtisches Gebiet","component": "NO2","scope": "1h mean","scopeCode": "1SMW","value": 21,"unit": "µg/m³","datetime": "2026-10-05T10:00:00+01:00","datetimeEnd": "2026-10-05T11:00:00+01:00","airQualityIndex": 1,"source": { "name": "Umweltbundesamt (UBA) Luftdaten API v3", "...": "..." },"fetchedAt": "2026-10-06T08:33:12.001Z"}
datetimeis the start of the measurement period. UBA publishes all times in CET (UTC+01:00, no daylight saving); the actor converts UBA's hour-ending "24:00" notation to proper ISO 8601 timestamps with offset. Daily values use midnight of the day.airQualityIndexis the UBA index class of the value (higher = worse),nullif not available.- Station type and setting names are in German (as published by UBA).
Pricing
Pay per event: one result event per output record. Free plan users get at most 50 results per run; paid plans have no actor-side limit (set maxResults or your max charge per run as a budget guard).
Delta mode
With mode: "delta" the actor remembers every record it has returned (state is stored in the named key-value store germany-air-quality-state of your account, keyed by deltaStateName or a hash of your input). Later runs return only records that are new or whose value changed (UBA corrects preliminary values), marked with changeType = new / changed. Schedule it hourly with the default 24-hour window to build a continuous feed.
Data source, license and attribution
- Data: Umweltbundesamt (German Environment Agency), Luftdaten API (https://luftdaten.umweltbundesamt.de/api/air-data/v3).
- License: Datenlizenz Deutschland – Namensnennung – Version 2.0 (dl-de/by-2-0, https://www.govdata.de/dl-de/by-2-0). Commercial use is allowed with attribution.
- Required attribution: "Umweltbundesamt mit Daten der Messnetze der Länder und des Bundes". Keep it, plus the license link, when you redistribute the data.
- Changes: the actor reformats the data (JSON fields, ISO timestamps) and does not alter the measured values. Recent values are preliminary.
Disclaimer
This actor is not affiliated with, endorsed by or operated by the Umweltbundesamt or any German state agency. Data is provided as-is without warranty. Recent values are preliminary and may be corrected or removed later; do not use them for safety-critical decisions or legal compliance proofs without checking the official source.
Impressum / Legal notice
Anbieter dieses Actors (Angaben gemäß § 5 DDG) / Provider of this actor:
Friedrich Köhler
Spatzenweg 7
04720 Döbeln
Deutschland
E-Mail: actorcreater_010@web.de