InfraNode.dev
MCP InfraNode gibt es auch als MCP-Server für KI-Assistenten wie Claude und ChatGPT.

Stadtdaten mit Python und pandas abrufen

Tutorial: offene Daten deutscher Großstädte mit Python, requests und pandas über die kostenlose, keylose InfraNode-API abrufen und als DataFrame über alle Städte auswerten.

Eine Stadt abrufen

InfraNode liefert offene Daten deutscher Großstädte über eine kostenlose, keylose REST-API. Der Einstieg mit requests ist eine Zeile:

import requests

base = "https://infranode.dev/api/v1"
r = requests.get(f"{base}/cities/berlin/weather", timeout=10)
r.raise_for_status()
payload = r.json()["data"]["payload"]
print(payload["temperature_c"], payload["condition"])

Die Fachdaten liegen im Envelope unter data.payload, Provenienz und Cache-Status unter meta.

Querschnitt über viele Städte

Für eine Analyse über mehrere Städte holst du zuerst die Stadt-Liste und iterierst dann über die Slugs. So entsteht ein pandas-DataFrame, das du sortieren, filtern oder plotten kannst:

import requests
import pandas as pd

base = "https://infranode.dev/api/v1"
cities = requests.get(f"{base}/cities", timeout=10).json()["data"]

rows = []
for c in cities[:10]:
    slug = c["slug"]
    resp = requests.get(f"{base}/cities/{slug}/air-uba", timeout=10)
    if resp.status_code != 200:
        continue
    p = resp.json()["data"]["payload"]
    rows.append({"stadt": slug, "pm10": p.get("pm10"), "no2": p.get("no2")})

df = pd.DataFrame(rows)
print(df.sort_values("pm10", ascending=False))

Beachte das Rate-Limit von 300 Anfragen pro Minute und IP. Für die vollen 84 Städte empfiehlt sich ein kleiner time.sleep oder ein Retry-Backoff bei Status 429.

Welche Daten verfügbar sind

Pro Stadt gibt es unter anderem Wetter, Luftqualität, Strompreis, Bodenrichtwerte und ÖPNV-Echtzeit. Die vollständige Feldreferenz steht in der API-Dokumentation.

Häufige Fragen

Muss ich mich registrieren oder einen Key beantragen?
Nein. Die API ist keylos und kostenlos. Ein einfacher GET-Request mit requests genügt, ohne Header oder Token.
Wo liegen die Fachdaten in der Antwort?
Unter data.payload. Metadaten wie Quelle, Lizenz und Cache-Status stehen unter meta und im attribution-Block.
Gibt es einen fertigen Datensatz für Offline-Analysen?
Ja. Reproduzierbare Snapshots als CSV und Parquet gibt es über die Zenodo-DOI und als Hugging-Face-Dataset.