{"id":20711919,"url":"https://github.com/bundesapi/luftqualitaet-api","last_synced_at":"2025-07-29T19:10:48.198Z","repository":{"id":66127343,"uuid":"396473970","full_name":"bundesAPI/luftqualitaet-api","owner":"bundesAPI","description":"Umweltbundesamt Luftqualität","archived":false,"fork":false,"pushed_at":"2023-01-30T20:45:26.000Z","size":143,"stargazers_count":20,"open_issues_count":7,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-07-11T09:43:01.705Z","etag":null,"topics":["excellent"],"latest_commit_sha":null,"homepage":"https://luftqualitaet.api.bund.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bundesAPI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-08-15T19:49:12.000Z","updated_at":"2025-03-20T11:06:23.000Z","dependencies_parsed_at":"2023-04-13T04:02:04.346Z","dependency_job_id":null,"html_url":"https://github.com/bundesAPI/luftqualitaet-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bundesAPI/luftqualitaet-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundesAPI%2Fluftqualitaet-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundesAPI%2Fluftqualitaet-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundesAPI%2Fluftqualitaet-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundesAPI%2Fluftqualitaet-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bundesAPI","download_url":"https://codeload.github.com/bundesAPI/luftqualitaet-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundesAPI%2Fluftqualitaet-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267739724,"owners_count":24136973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["excellent"],"created_at":"2024-11-17T02:17:25.008Z","updated_at":"2025-07-29T19:10:48.171Z","avatar_url":"https://github.com/bundesAPI.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Luftdaten / Luftqualität (Umweltbundesamt)\n\nSchnittstellen der unterschiedlichen Visualisierungen der [Luftdaten](https://www.umweltbundesamt.de/daten/luft/luftdaten)-Seite des Umweltbundesamtes\n\n## Dokumentation\n\nDie OpenAPI Specification für die API befindet sich auf [luftqualitaet.api.bund.dev](https://luftqualitaet.api.bund.dev/)\n\n## Funktionalität\n\n### Host\n\nDer Schnittstellen-Host inklusive Version lautet\n\n```\nhttps://www.umweltbundesamt.de/api/air_data/v2\n```\n\n### Sicherheit\n\nDie Schnittstelle ist nicht gesichert. Kein Sessionhandling oder CSRF.\n\n### Request-Parameter\n\nÜber alle Schnittstellen hinweg gibt es eine handvoll Parameter welche immer identisch sind. Diese sind mal mehr und mal weniger sinnvoll (sie verändern das Ergebnis dann nicht).\n\n| Parameter | Beschreibung |\n|-----------|--------------|\n| `use`     | Genutzt bei den Metadaten beschreibt dieser Parameter für welche Schnittstelle die Daten bezogen werden |\n| `lang`    | Die Sprache in der die Datensätze zurückgegeben werden |\n| `index`   | Schnittstellen welche in Objekten indizierte Daten enthalten können hiermit den Objektschlüssel anpassen (bei Stationen bespielweise deren `id` oder `code`)\n| `date_from` | Startdatum für Datensätze (Format `YYYY-MM-DD`) |\n| `date_to` | Enddatum für Datensätze |\n| `time_from` | Startzeit für Datensätze (in Stunden `1` bis `24`)|\n| `time_to` | Endzeit für Datensätze |\n\n**Zur Filterung:** Im Frontend der Luftdaten ist es an einigen Stellen möglich nach der Wetterstation/Region zu filtern. Diese Filterung ist rein clientseitig umgesetzt. In den Schnittstellen ist es nur möglich anhand der `date_*` und `time_*`-Parameter zu filtern.\n\n### Rückgabeformat\n\nJede Schnittstelle endet auf `/{format}` welches in allen Fällen immer nur `json` ist. Hier scheint sich offen gehalten zu sein eventuell andere Formate zu unterstützen aber hier returned die Schnittstelle dann meistens nur ein Statuscode 405 mit folgendem Body:\n\n```\n{endpoint} with {format} not implemented\n```\n\n### Rückgabefeld: `indices`\n\nEinige Schnittstellen (bspw. die Stationenliste) enthalten einen Punkt `indices`. Hier werden die Felder welche innerhalb von Data zurückgegeben werden beschrieben.\n\nDas ist notwendig, da ein Großteil der Schnittstellendaten nicht als Objekte/Key-Value-Paare ausgegeben wird, sondern als einfache Arrays.\n\n`indices` kann aber nicht nur ein Array sein, sondern auch ein genestetes Objekt in dem Felder und dann wieder enthaltene Arrays beschrieben werden, um auch komplexere Datenstrukturen aufzuschlüsseln.\n\n### Rückgabefeld: `headers`\n\nEinige Schnittstellen (bspw. Überschreitungen) enthalten tabellarische Daten, und wie der Name bereits suggeriert werden in diesem Feld die Tabellenüberschriften zu den Datenfeldern angegeben.\n\nManche der Felder enthalten nur einen Kürzel wie z.B. `sta_name`, während andere Felder komplette Beschreibungen enthalten. Erstere sind Felder die über Requests hinweg gleich sind und in der Anwendung übersetzt sind, und das nur der Schlüssel für die Übersetzung ist.\n\n### Rückgabefeld: `request`\n\nJede Antwort der Schnittstellen enthält ein Objekt `request` welches die Requestparameter die übergeben wurden, oder die von der Schnittstelle genutzten Standardwerte enthält.\n\n## Schnittstellen\n\n### `/stations/{format}` - Stationen\n\nGenutzt auf:\n* [Aktuelle Luftdaten - Luftqualität](https://www.umweltbundesamt.de/daten/luft/luftdaten/luftqualitaet)\n* [Aktuelle Luftdaten - Stationen](https://www.umweltbundesamt.de/daten/luft/luftdaten/stationen)\n\n\n### `/meta/{format}` - Meta\n\nGenutzt auf: _Allen Luftdaten-Seiten_\n\n### `/maps/{format}` - Karten\n\nGenutzt auf: [Aktuelle Luftdaten - Karten](https://www.umweltbundesamt.de/daten/luft/luftdaten/karten)\n\nDiese Schnittstelle enthält eigentlich nur Zusatzinformationen zu den Karten, welche unter einem anderen Endpunkt/Bildpfad erreichbar sind, dieser setzt sich folgendermaßen zusammen:\n\n```\nhttps://www.umweltbundesamt.de/sites/default/files/w21ad_luftdaten/maps/{component}/{scope}/{version}/{component}_{scope}_{version}_{date}.png\n```\n\n* `component`: Der Name eines Schadstoffs, kann aus der Meta-Schnittstelle entnommen werden\n* `scope`: Name der Auswertungsart\n* `version`: Ist immer `v1`\n* `date`: Datum für die Karte im Format `YYYYMMDD`\n\nBeispiel: \n\n```\nhttps://www.umweltbundesamt.de/sites/default/files/w21ad_luftdaten/maps/O3/1SMW_MAX/v1/O3_1SMW_MAX_v1_20210829.png\n```\n\n### `/measures/{format}` - Stationen\n\nGenutzt auf: [Aktuelle Luftdaten - Stationen](https://www.umweltbundesamt.de/daten/luft/luftdaten/stationen)\n\n### `/airquality/{format}` - Luftqualität\n\nGenutzt auf: [Aktuelle Luftdaten - Luftqualität](https://www.umweltbundesamt.de/daten/luft/luftdaten/luftqualitaet)\n\n### `/annualbalances/ajaxdata` - Jahresbilanzen\n\nGenutzt auf: [Aktuelle Luftdaten - Jahresbilanzen](https://www.umweltbundesamt.de/daten/luft/luftdaten/jahresbilanzen)\n\n### `/transgressions/ajaxdata` - Überschreitungen\n\nGenutzt auf: [Aktuelle Luftdaten - Überschreitungen](https://www.umweltbundesamt.de/daten/luft/luftdaten/ueberschreitungen)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbundesapi%2Fluftqualitaet-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbundesapi%2Fluftqualitaet-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbundesapi%2Fluftqualitaet-api/lists"}