Germany Air Quality (UBA) – PM10, PM2.5, NO2, O3, SO2, CO avatar

Germany Air Quality (UBA) – PM10, PM2.5, NO2, O3, SO2, CO

Deprecated

Pricing

Pay per usage

Go to Apify Store
Germany Air Quality (UBA) – PM10, PM2.5, NO2, O3, SO2, CO

Germany Air Quality (UBA) – PM10, PM2.5, NO2, O3, SO2, CO

Deprecated

Hourly 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

Friedrich K

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 days ago

Last modified

Security

Limited permissions

Share

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 delta mode on a schedule)
  • Joining pollution data with weather, traffic or health data (lat/lon included)

Input

FieldDescription
statesState codes (BE, BY, NW, ...) or German names. Empty = all of Germany.
stationCodesUBA station codes (e.g. DEBE010). Empty = all stations of the selected states.
componentsAny of PM10, PM2.5, NO2, O3, SO2, CO. Empty = all six.
scope1SMW hourly mean (default), 1TMW daily mean, 8SMW 8-hour mean, 1SMW_MAX, 8SMW_MAX, 1TMWGL.
dateFrom / dateToYYYY-MM-DD or YYYY-MM-DDTHH:mm. Default: the last 24 hours. Times without offset are CET.
modeall (default) or delta (only new/changed records since the last run with the same input).
maxResultsCap on results per run (= charged events).
deltaStateNameOptional 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"
}
  • datetime is 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.
  • airQualityIndex is the UBA index class of the value (higher = worse), null if 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.

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