Bundestags-Tagesordnung als iCal-Feed (und mehr)
bt-to is a Cloudflare Worker that fetches the session agenda (Tagesordnung) from the German Bundestag's website, stores it in a KV database, and serves it as an API. This project provides access to the Bundestag's session agenda in various formats, making it easier to integrate and consume this data programmatically.
Der Deutsche Bundestag stellt seine Tagesordnung online zur Verfügung – nur leider in keinem maschinenlesbaren Format. Da in Sitzungswochen mindestens 734 Abgeordnetenbüros händisch die Tagesordnungspunkte in ihren Kalendern aktualisieren müssen, war es Zeit für eine Alternative. Jetzt genügt es, den mit diesem Cloudflare Worker generierten Kalender-Feed zu abonnieren, um immer auf dem Laufenden zu sein.
The German Bundestag makes its agenda available online - but unfortunately not in a machine-readable format. Since at least 734 MPs' offices have to manually update the agenda items in their calendars during session weeks, it was time for an alternative. Now all you have to do is subscribe to the calendar feed generated with this Cloudflare Worker to always be up to date.
Event Listeners:
fetch
event: Handles incoming HTTP requests.scheduled
event: Handles scheduled tasks for updating the agenda.API Endpoints:
/bt-to/
or /bt-to
: Serves the API documentation./bt-to/ical
or /bt-to/ics
: Serves the agenda in iCal format./bt-to/json
: Serves the agenda in JSON format./bt-to/xml
: Serves the agenda in XML format./bt-to/csv
: Serves the agenda in CSV format.Agenda Fetching:
cheerio
to extract relevant data.Data Storage and Retrieval:
Updating Agenda:
Clone the Repository:
git clone https://github.com/hutt/bt-to.git
cd bt-to
Install Dependencies:
npm install
Deploy to Cloudflare Workers:
wrangler.toml
.wrangler
:
npx wrangler publish
/bt-to/ical
or /bt-to/ics
year
: Optional, the year of the agenda.week
: Optional, the week of the agenda.na
: Optional, boolean; if true, includes additional calendar entries for nominal votes.naAlarm
: Optional, boolean; if true, sets an alarm 15 minutes before nominal votes.showSW
: Optional, boolean; if true, includes all-day events for session weeks./bt-to/json
year
: Optional, the year of the agenda.week
: Optional, the week of the agenda./bt-to/xml
year
: Optional, the year of the agenda.week
: Optional, the week of the agenda./bt-to/csv
year
: Optional, the year of the agenda.week
: Optional, the week of the agenda.This project is licensed under the MIT License. See the LICENSE file for details.