← zurück zur Startseite

API-Doku

JSON-Endpunkte für aktuelle Werte und Verlauf.

Schnellstart

aktuell

/api/current.php

Letzte bekannte Werte aller sichtbaren Sensoren.

status

/api/status.php

Kurzer Überblick über Sensoranzahl, Datenalter und letzte Meldungen.

verlauf

/api/history.php?hours=24

Verlaufspunkte als Zeitreihe. hours ist eine Dezimalzahl in Stunden.

zugriff

GET · JSON

Kein API-Schlüssel nötig. Die Antworten sind für öffentliche Ausgaben bereinigt.

meta

generated_at

Jede Antwort enthält Zeitstempel, Zeitzone und kurze Feldhinweise im Block meta.

zeitraum

hours

Übliche Werte sind 0.5, 24, 168 und 720.

verdichtung

bucket

Optional in Minuten, zum Beispiel bucket=15 für längere Zeiträume.

Aktuelle Werte

https://wetter381.de/api/current.php

Beispielantwort, gekürzt:

{
  "ok": true,
  "updated_at": "2026-06-22T12:02:52+02:00",
  "station": {
    "name": "wetter381.de",
    "area": "Heidberg, Braunschweig"
  },
  "meta": {
    "generated_at": "2026-06-22T12:02:52+02:00",
    "license": "private sensor data, attribution requested",
    "timezone": "Europe/Berlin",
    "note": "Private Messstation im Heidberg in Braunschweig. Die Werte sind keine amtlichen Messdaten.",
    "fields": {
      "pm25": "Feinstaub PM2.5 in µg/m³",
      "noise": "LAeq in dB"
    },
    "data_age_seconds": 97
  },
  "sensors": [
    {
      "sensor_key": "dnms",
      "sensor_name": "Schallpegel",
      "kind": "noise",
      "received_at": "2026-06-22T12:01:15+02:00",
      "summary": {
        "noise": 35.5,
        "noise_min": 34.41,
        "noise_max": 36.43,
        "noise_z": 45.96
      }
    }
  ]
}

Je nach Sensor sind nicht alle Felder gefüllt. Sichtbar sind nur normalisierte Werte wie pm25, pm10, temperature, pressure, noise oder noise_z.

Status

https://wetter381.de/api/status.php

Beispielantwort, gekürzt:

{
  "ok": true,
  "station": {
    "name": "wetter381.de",
    "area": "Heidberg, Braunschweig"
  },
  "meta": {
    "generated_at": "2026-06-22T12:02:52+02:00",
    "license": "private sensor data, attribution requested",
    "timezone": "Europe/Berlin",
    "sensor_count": 2,
    "data_age_seconds": 97
  },
  "sensors": [
    {
      "sensor_key": "dnms",
      "sensor_name": "Schallpegel",
      "kind": "noise",
      "received_at": "2026-06-22T12:01:15+02:00",
      "data_age_seconds": 97
    }
  ]
}

Verlauf

https://wetter381.de/api/history.php?hours=24

Beispielantwort, gekürzt:

{
  "ok": true,
  "hours": 24,
  "bucket_minutes": 15,
  "station": {
    "name": "wetter381.de",
    "area": "Heidberg, Braunschweig"
  },
  "meta": {
    "generated_at": "2026-06-22T12:02:52+02:00",
    "license": "private sensor data, attribution requested",
    "timezone": "Europe/Berlin",
    "data_age_seconds": 97
  },
  "points": [
    {
      "time": "2026-06-22T12:01:15+02:00",
      "sensor_key": "dnms",
      "sensor_name": "Schallpegel",
      "kind": "noise",
      "summary": {
        "noise": 35.5,
        "noise_min": 34.41,
        "noise_max": 36.43
      }
    }
  ]
}

hours kann auch kurze Fenster wie 0.5 oder längere Zeiträume wie 168 oder 720 enthalten. Mit bucket lassen sich längere Zeiträume grober zusammenfassen. Die Startseite nutzt dieselben Daten für ihre Graphen.

Feldbedeutung

Luft

pm25 und pm10 sind Feinstaubwerte in µg/m³.

temperature ist in °C, pressure in hPa.

Schall

noise, noise_min, noise_max sind A-bewertet.

noise_z, noise_z_min, noise_z_max zeigen die Z-Bewertung.

Hinweise

Einordnung

Die Daten sind private Messwerte aus dem Heidberg, keine amtliche Messung.

Clients

Nullwerte und fehlende Felder können vorkommen. Ein Verweis auf wetter381.de ist sinnvoll.

Kompatibilität

/api/latest.php bleibt als einfache Alt-Variante erreichbar, neue Clients sollten /api/current.php oder /api/status.php nutzen.