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
| Adresse | Liefert |
|---|---|
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
| Name | Gilt für | Bedeutung |
|---|---|---|
limit | events, news | Anzahl je Abruf, 1 bis 200 (Standard 50) |
offset | events, news | Wie viele überspringen — zum Blättern |
q | events, news | Suchwort in Titel, Text und Ort |
quelle | events, news | Nur diese Quelle (ID aus /quellen) |
von, bis | events | Zeitraum als JJJJ-MM-TT |
seit | news | Nur ab diesem Datum |
duplikate | events | zusammenfassen (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.