Offene Datenschnittstelle

Alle Termine und Nachrichten aus dem Amt Beetzsee als JSON — frei nutzbar, ohne Anmeldung, ohne Schlüssel. Wer eine Dorf-App, eine Infotafel im Gemeindehaus oder eine eigene Kalenderansicht bauen will, kann das ohne Rückfrage tun.

Lizenz

CC BY 4.0 — Nutzung frei, auch gewerblich. Bitte nenne wir-im-amt-beetzsee.de als Quelle und verlinke auf die Seite. Die Inhalte selbst stammen von den Vereinen und Einrichtungen, die wir dazu jeweils mitliefern — nenne sie bitte ebenfalls. Lizenztext lesen.

Die drei Adressen

AdresseLiefert
https://www.wir-im-amt-beetzsee.de/api/v1/events Kommende Termine, nach Beginn sortiert
https://www.wir-im-amt-beetzsee.de/api/v1/news Meldungen, neueste zuerst
https://www.wir-im-amt-beetzsee.de/api/v1/quellen Alle Quellen mit Name, Webseite und Bildfreigabe

Parameter

NameGilt fürBedeutung
limitevents, newsAnzahl je Abruf, 1 bis 200 (Standard 50)
offsetevents, newsWie viele überspringen — zum Blättern
qevents, newsSuchwort in Titel, Text und Ort
quelleevents, newsNur diese Quelle (ID aus /quellen)
von, biseventsZeitraum als JJJJ-MM-TT
seitnewsNur ab diesem Datum
duplikateeventszusammenfassen (Standard) oder einzeln

Beispiel

Alle Termine der nächsten Zeit in Fohrde:

https://www.wir-im-amt-beetzsee.de/api/v1/events?q=Fohrde&limit=5

Die Antwort sieht so aus:

{
  "ok": true,
  "gesamt": 12,
  "limit": 5,
  "offset": 0,
  "lizenz": { "name": "CC BY 4.0", "url": "…", "hinweis": "…" },
  "stand": "2026-07-31T09:12:44+00:00",
  "daten": [
    {
      "id": 1234,
      "titel": "Uferkultur Open-Air-Konzert \"Zsó Zsó\"",
      "beschreibung": "Zsó Zsó (Indie Nature Pop) spielt …",
      "beginn": "2026-08-06T17:00:00Z",
      "ende": null,
      "ganztags": false,
      "ort": "Villa Fohrde e.V., August-Bebel-Straße 42, 14798 Havelsee",
      "link": "https://www.villa-fohrde.de/…",
      "bild": "https://www.wir-im-amt-beetzsee.de/media?id=88",
      "quelle": { "id": 9, "name": "Villa Fohrde", "webseite": "https://www.villa-fohrde.de" },
      "auch_gemeldet_von": [
        { "name": "Havelsee.de", "link": "https://havelsee.de/…" }
      ],
      "seite": "https://www.wir-im-amt-beetzsee.de/events/detail?id=1234"
    }
  ]
}

Mehrfachmeldungen

Dieselbe Veranstaltung wird oft von mehreren Webseiten gemeldet — das Konzert in der Villa Fohrde steht auch auf havelsee.de und beim Amt. Standardmäßig fassen wir solche Meldungen zu einem Eintrag zusammen; die übrigen Absender stehen dann in auch_gemeldet_von, jeweils mit eigenem Link. Aus gut 200 Rohmeldungen werden so etwa 85 Termine.

Wer die Rohmeldungen braucht — etwa um die Erkennung selbst zu prüfen — hängt duplikate=einzeln an.

Zeitangaben

Alle Zeiten stehen nach ISO 8601 in UTC. Ein Z am Ende heißt: das ist eine echte Uhrzeit, rechne sie in deine Zeitzone um. Fehlt das Z, ist der Termin ganztägig — dann darfst du nicht umrechnen, sonst wird aus dem Dorffest am Samstag plötzlich eines am Freitag um 22 Uhr. Das Feld ganztags sagt dasselbe noch einmal ausdrücklich.

Bilder

Das Feld bild ist nur gefüllt, wenn die Quelle uns die Nutzung ihrer Bilder erlaubt hat. Bei allen anderen steht dort null — auch dann, wenn auf der Ursprungsseite ein Bild liegt. Bitte übernimm diese Grenze; welche Quellen freigegeben sind, steht in /quellen im Feld bilder_freigegeben.

Tempolimit

300 Abrufe pro Stunde und IP-Adresse. Jede Antwort trägt X-RateLimit-Remaining im Kopf. Wird es zu viel, kommt 429 mit Retry-After.

Die Daten ändern sich höchstens stündlich — ein Abruf alle paar Stunden genügt völlig, und die Antworten dürfen zwischengespeichert werden (Cache-Control: max-age=300). Wer regelmäßig mehr braucht, schreibt uns kurz; wir finden eine Lösung.

Aus dem Browser

Die Schnittstelle erlaubt Zugriffe von fremden Webseiten (Access-Control-Allow-Origin: *). Ein fetch() aus deinem eigenen Projekt funktioniert also direkt:

const r = await fetch('https://www.wir-im-amt-beetzsee.de/api/v1/events?limit=5');
const j = await r.json();
j.daten.forEach(t => console.log(t.beginn, t.titel));

Was wir nicht zusagen

  • Die Inhalte kommen von fremden Webseiten. Wir prüfen sie nicht auf Richtigkeit — steht dort etwas Falsches, steht es auch hier falsch.
  • Einträge können verschwinden, wenn die Quelle sie zurückzieht.
  • /api/v1/ bleibt in seinen Feldnamen stabil. Kommt einmal etwas grundlegend Neues, gibt es /api/v2/ daneben — die alte Fassung schalten wir nicht ohne Vorwarnung ab.

Fragen, Wünsche, ein Projekt gebaut? Erzähl uns davon — wir freuen uns, wenn jemand etwas damit anfängt.