Aarestation Logo

API & Widget

Öffentliche GET-API und einbettbares Widget

Öffentliche API & Widget

Aktuelle Aare-Werte für deine eigene Seite oder dein Projekt – frei nutzbar, ausschliesslich lesend (GET).

GET
CORS: offen
60 Anfragen/Min
Cache 60 s

Endpoint

GET /api/public/v1/current

curl
curl -s https://aarestation.ch/api/public/v1/current
JavaScript (fetch)
const res = await fetch("https://aarestation.ch/api/public/v1/current");
const data = await res.json();
console.log(data.aare.temperature.value, data.pai.score);
Beispiel-Antwort
{
  "source": "https://aarestation.ch",
  "updated_at": "12:00",
  "aare": {
    "temperature": { "value": 18.4, "unit": "°C" },
    "flow":        { "value": 142,  "unit": "m³/s" },
    "level":       { "value": 502.6, "unit": "m" },
    "forecast": {
      "temperature": { "value": 18.7, "unit": "°C" },
      "flow":        { "value": 138,  "unit": "m³/s" },
      "level":       { "value": 502.7, "unit": "m" }
    }
  },
  "weather": {
    "air_temperature":     { "value": 24.1, "unit": "°C" },
    "apparent_temperature":{ "value": 24.4, "unit": "°C" },
    "wind_speed":          { "value": 3.1,  "unit": "m/s" },
    "humidity":            { "value": 46,   "unit": "%" },
    "uv_index":            { "value": 2.5,  "unit": "index" },
    "pressure":            { "value": 1016, "unit": "hPa" },
    "cloud_coverage":      { "value": 100,  "unit": "%" },
    "precipitation_today": { "value": 0,    "unit": "mm" },
    "condition": "Klarer Himmel"
  },
  "pai": {
    "score": 6.4,
    "score_forecast": 6.1,
    "factors": {
      "air_temperature": 8.4, "wind": 6.3, "uv_index": 3.6,
      "water_temperature": 9.3, "flow": 7.3, "humidity": 7.1
    }
  },
  "air_quality": { "aqi": 42 }
}

Werte können null sein, wenn eine Messung gerade nicht verfügbar ist. Die API ist rein lesend – es gibt keine schreibenden Methoden.

updated_at ist die lokale Zeit der letzten Messung (Europe/Zurich, HH:MM). weather enthält Messwerte mit Einheit, pai.factors dagegen die sechs Teil-Scores von 0 bis 10, aus denen der PAI-Score entsteht – dieselbe Aufteilung wie im Radar auf der Startseite.

Verlauf & Prognose

GET /api/public/v1/history

curl
curl -s https://aarestation.ch/api/public/v1/history
Beispiel-Antwort
{
  "source": "https://aarestation.ch",
  "updated_at": "12:00",
  "measured": [
    { "time": 1786978800000, "score": 8.33 },
    { "time": 1786982400000, "score": 8.3 }
  ],
  "forecast": [
    { "time": 1787587200000, "score": 8.1, "lower": 7.7, "upper": 8.5 },
    { "time": 1787590800000, "score": 8,   "lower": 7.6, "upper": 8.4 }
  ]
}

measured sind gemessene PAI-Scores der letzten Stunden, forecast die nächsten 24 Stunden mit Unsicherheitsband (lower / upper). time ist immer Epoch-Millisekunden (UTC), damit kein Format geraten werden muss. Cache: 300 s.

Widget zusammenstellen

Wähle Variante und Stil, sieh die Vorschau live und kopiere den fertigen Code. Das Widget kapselt sein Styling (Shadow DOM) und aktualisiert sich selbst.

Variante
Theme
Akzentfarbe
Standard
Eckenradius: 14px
Titel
Werte (Karte)
Erweitert
Hintergrund
Textfarbe

Live-Vorschau

Dein Code

HTML – Code kopieren
<div data-aarestation-widget></div>
<script src="https://aarestation.ch/widget.js" async></script>

Minimale Einbindung

HTML
<div data-aarestation-widget></div>
<script src="https://aarestation.ch/widget.js" async></script>

Alle Optionen

  • data-variant

    Werte: card · gauge · compact

    Darstellung: Karte, PAI-Gauge oder schmale Pille.

  • data-theme

    Werte: dark · light

    Farbschema.

  • data-accent

    Werte: #hex

    Akzentfarbe (Titel + obere Kante).

  • data-bg

    Werte: #hex · transparent

    Hintergrundfarbe überschreiben.

  • data-color

    Werte: #hex

    Textfarbe überschreiben.

  • data-radius

    Werte: Zahl (px)

    Eckenradius (Standard 14).

  • data-title

    Werte: Text

    Eigener Titel (card / gauge).

  • data-metrics

    Werte: temp,flow,level,air,pai,aqi

    card: welche Werte gezeigt werden.

  • data-refresh

    Werte: Sekunden · 0

    Aktualisierungsintervall (Standard 300, 0 = aus).

Hinweis & Quelle

Bitte verlinke bei Nutzung auf aarestation.ch. Die Daten dienen der Information; Entscheidungen rund ums Schwimmen erfolgen in eigener Verantwortung.

Datenquellen