Service API

Wetter Bad Münder API

Die Service API stellt aktuelle Wetter- und Stationsdaten im JSON-Format bereit. Diese Dokumentation beschreibt die verfügbaren Endpoints, Authentifizierung, Rückgabeformate, Statuswerte und mögliche Meldungen der API.

Basis URL
https://hub.wetter-badmuender.de
2
Endpoints
JSON
Responses

Authentifizierung

Für alle geschützten Endpoints wird ein gültiger API-Key benötigt. Der API-Key muss im HTTP Header mitgesendet werden. Ein API-Key kann auf Anfrage vom Administrator ausgegeben werden.

HTTP Header

X-API-KEY: YOUR_API_KEY

Beispiel Request

GET /v1/current HTTP/1.1
Host: hub.wetter-badmuender.de
X-API-KEY: YOUR_API_KEY

API Endpoints

GET

/health

API Gesundheitsstatus

Der Endpoint liefert den aktuellen Status der API und ihrer Dienste zurück. Er dient unter anderem für Monitoring- und Verfügbarkeitsprüfungen.

{
  "success": true,
  "generated_at": "2026-05-08T18:30:00+02:00",
  "data": {
    "status": "ok",
    "http_status": 200,
    "version": "v1",
    "environment": "production",
    "services": {
      "api": {
        "status": "ok"
      },
      "database": {
        "status": "ok"
      },
      "cache": {
        "status": "ok"
      }
    }
  }
}

  • success
    Gibt an, ob der Request erfolgreich verarbeitet wurde.
    • true = Request erfolgreich
    • false = Fehler bei der Verarbeitung
  • generated_at
    Zeitpunkt der API-Generierung im ISO8601-Format.
  • status
    Gesamtstatus der API. Mögliche Werte: ok, maintenance, degraded
  • http_status
    HTTP Statuscode der Antwort.
  • version
    API Versionierung.
  • environment
    Das derzeitige Umfeld der API.
  • services
    Status einzelner interner Dienste.
GET

/v1/current

Aktuelle Wetterdaten

Der Endpoint liefert die aktuellsten verfügbaren Wetterdaten der Wetterstation inklusive Sensordaten und Statusinformationen.

{
  "success": true,
  "request_id": "f1856b4209b3faba0d02ff54c1af57f8",
  "generated_at": "2026-05-08T20:40:13+02:00",
  "execution_time_ms": 10.46,
  "data": {
    "station": {
      "name": "Wetter Bad Münder",
      "api_version": "v1"
    },
    "weather": {
      "temperature": {
        "value": 10.8,
        "unit": "°C",
        "timestamp": "2026-05-08T20:39:04+02:00",
        "status": "ok"
      },
      "feelslike": {
        "value": 10.8,
        "unit": "°C",
        "timestamp": "2026-05-08T20:39:04+02:00",
        "status": "ok"
      },
      "dewpoint": {
        "value": 8,
        "unit": "°C",
        "timestamp": "2026-05-08T20:39:04+02:00",
        "status": "ok"
      },
      "humidity": {
        "value": 83,
        "unit": "%",
        "timestamp": "2026-05-08T20:39:04+02:00",
        "status": "ok"
      },
      "wind": {
        "speed": {
          "value": 0,
          "unit": "km/h",
          "timestamp": "2026-05-08T20:39:04+02:00",
          "status": "ok"
        },
        "gust": {
          "value": 0,
          "unit": "km/h",
          "timestamp": "2026-05-08T20:39:04+02:00",
          "status": "ok"
        }
      },
      "rain": {
        "event": {
            "value": 0,
            "unit": "mm",
            "timestamp": "2026-05-08T20:39:04+02:00",
            "status": "ok"
        },
        "rate": {
            "value": 0,
            "unit": "mm/hr",
            "timestamp": "2026-05-08T20:39:04+02:00",
            "status": "ok"
        },
        "hourly": {
            "value": 0,
            "unit": "mm",
            "timestamp": "2026-05-08T20:39:04+02:00",
            "status": "ok"
        },
        "daily": {
            "value": 0,
            "unit": "mm",
            "timestamp": "2026-05-08T20:39:04+02:00",
            "status": "ok"
        },
        "weekly": {
            "value": 0,
            "unit": "mm",
            "timestamp": "2026-05-08T20:39:04+02:00",
            "status": "ok"
        },
        "monthly": {
            "value": 0,
            "unit": "mm",
            "timestamp": "2026-05-08T20:39:04+02:00",
            "status": "ok"
        },
        "yearly": {
            "value": 0,
            "unit": "mm",
            "timestamp": "2026-05-08T20:39:04+02:00",
            "status": "ok"
        }
    },
      "pressure": {
        "absolute": {
          "value": 1005.1,
          "unit": "hPa",
          "timestamp": "2026-05-08T20:39:04+02:00",
          "status": "ok"
        },
        "relative": {
          "value": 1020.3,
          "unit": "hPa",
          "timestamp": "2026-05-08T20:39:04+02:00",
          "status": "ok"
        }
      },
      "uvi": {
        "value": 0,
        "unit": "",
        "timestamp": "2026-05-08T20:39:04+02:00",
        "status": "ok"
      },
      "solar": {
        "value": 7.4,
        "unit": "W/m2",
        "timestamp": "2026-05-08T20:39:04+02:00",
        "status": "ok"
      },
      "soil": {
        "temperature": {
          "value": 4.3,
          "unit": "°C",
          "timestamp": "2026-05-08T20:39:44+02:00",
          "status": "ok"
        },
        "moisture": {
          "value": 33,
          "unit": "%",
          "timestamp": "2026-05-08T20:39:44+02:00",
          "status": "ok"
        }
      }
    }
  }
}

  • success
    Gibt an, ob der Request erfolgreich verarbeitet wurde.
    • true = Request erfolgreich
    • false = Fehler bei der Verarbeitung
  • request_id
    Eindeutige ID des Requests. Dient zur technischen Nachverfolgung, Analyse und Fehlerdiagnose.
  • generated_at
    Zeitpunkt der API-Generierung im ISO8601-Format.
  • execution_time_ms
    Verarbeitungszeit der API in Millisekunden.
  • station.name
    Name der Wetterstation, von der die Daten stammen.
  • station.api_version
    Version der verwendeten API.
  • temperature
    Aktuelle Außentemperatur.
  • feelslike
    Gefühlte Temperatur.
  • dewpoint
    Taupunkttemperatur.
  • humidity
    Relative Luftfeuchtigkeit.
  • wind.speed
    Aktuelle Windgeschwindigkeit.
  • wind.gust
    Aktuelle Windböe.
  • rain.event
    Niederschlagsmenge des aktuell laufenden Regenereignisses. Reset des Events i.d.R. sobald es längere Zeit trocken war und ein Tageswechsel nach Event-Ende erfolgt ist oder die Regenmenge innerhalb von 24h unter 1mm bleibt.
    • Einheit: mm
  • rain.rate
    Aktuelle Niederschlagsrate. Der Wert gibt an, wie stark es aktuell regnet.
    • Einheit: mm/hr
  • rain.hourly
    Niederschlagsmenge der vergangenen 60 Minuten.
    • Einheit: mm
  • rain.daily
    Niederschlagsmenge des aktuellen Kalendertages. Von 00:00 Uhr bis jetzt.
    • Einheit: mm
  • rain.weekly
    Niederschlagsmenge der aktuellen Kalenderwoche.
    • Einheit: mm
  • rain.monthly
    Niederschlagsmenge des aktuellen Monats.
    • Einheit: mm
  • rain.yearly
    Niederschlagsmenge des aktuellen Jahres.
    • Einheit: mm
  • pressure.absolute
    Absoluter Luftdruckwert.
  • pressure.relative
    Relativer Luftdruck.
  • uvi
    Aktueller UV-Index.
  • solar
    Aktuelle Solarstrahlung.
  • soil.temperature
    Bodentemperatur.
  • soil.moisture
    Bodenfeuchtigkeit.
  • Untergeordnete Felder
    • value
      Gemessener Sensorwert.
    • unit
      Einheit des jeweiligen Sensorwertes.
    • timestamp
      Zeitpunkt der Sensorerfassung im ISO8601-Format.
    • status
      Status des jeweiligen Sensors.
      • ok
        Sensordaten aktuell und gültig.
      • stale
        Sensordaten veraltet.
        Sensordaten älter als 15 Minuten.
        Grund, z.B.: verzögerte Datenübertragung oder Wartungsarbeiten.
      • offline
        Keine aktuellen Sensordaten verfügbar.
        Sensordaten älter als 30 Minuten.

Rate Limits & Berechtigungen

Jeder API-Key verfügt über individuelle Berechtigungen sowie eigene Rate-Limit-Einstellungen.

Berechtigungen definieren, auf welche API-Endpunkte ein Client zugreifen darf. Dadurch können Zugriffe gezielt auf freigegebene Ressourcen und Funktionen beschränkt werden.

Zusätzlich besitzt jeder API-Key ein individuelles Rate Limit. Die erlaubte Anzahl von Requests richtet sich unter anderem nach Nutzungsszenario, Freigabestufe und technischer Anforderung.

Im produktiven Betrieb ist die Anfragefrequenz auf maximal eine Anfrage pro Minute je Endpoint zu begrenzen, sofern keine gesonderte Freigabe oder abweichende technische Vereinbarung besteht. Hintergrund ist das Übertragungsintervall der angebundenen Wetterstationen, welche neue Messdaten standardmäßig im 60-Sekunden-Takt bereitstellen. Höhere Request-Frequenzen führen daher zu keinem zusätzlichen Datenmehrwert.

Fehlermeldungen

{
  "success": false,
  "error": {
    "code": 401,
    "message": "API key missing"
  }
}

  • API key missing
    Es wurde kein API-Key übermittelt.
  • Invalid API key
    Der API-Key ist ungültig oder existiert nicht.
  • Endpoint access denied
    Der API-Key besitzt keine Berechtigung für den Endpoint.
  • API client blocked
    Der API-Zugang wurde gesperrt.
  • Endpoint not found
    Der aufgerufene Endpoint existiert nicht.
  • Rate limit exceeded
    Das individuelle Request-Limit wurde überschritten.
  • Internal server error
    Interner Fehler der API.
  • maintenance
    Die API befindet sich derzeit im Wartungsmodus.

Fehlerantworten liefern zusätzlich einen entsprechenden HTTP Statuscode.

Support & Kontakt

Bei technischen Problemen, allgemeinen Fragen, Fehlerfällen oder API-Anfragen kann Kontakt aufgenommen werden.

E-Mail:
info (at) wetter-badmuender.de
Kontaktformular öffnen