Störungen
Was den Verkehr gerade einschränkt: Störungen und Bauarbeiten der S-Bahn Berlin sowie die Meldungen der DB zu Baustellen und Sperrungen an einem Bahnhof.
Objekte
Objekt Störung
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Kennung der Meldung |
type | string | disruption (Störung) oder construction (Bauarbeiten) |
effect | ?string | no_service, replacement_service, shuttle_service, changed_service, changed_frequency, no_stop, special_timetable |
title | string | Kurztitel, z. B. „Halensee <> Beusselstraße“ |
lines | string[] | Betroffene Linien |
stations | string[] | Betroffene Bahnhöfe |
active | boolean | Gilt gerade? |
periods | object[] | Zeiträume { title, start, end } |
details? | ?string | Ausführlicher Text, nur mit details=true |
updated | string | Letzte Änderung |
{
"id": "27104",
"type": "construction",
"effect": "replacement_service",
"title": "Westend <> Spandau",
"lines": [
"S3",
"S9"
],
"stations": [
"Westend",
"Spandau"
],
"active": true,
"periods": [
{
"title": "bis 3. November, 1:30 Uhr",
"start": "2026-10-10T22:00:00Z",
"end": "2026-11-03T00:30:00Z"
}
],
"details": null,
"updated": "2026-10-14T09:12:00Z"
}S-Bahn Berlin
GET
/v1/disruptions/sbahn-berlinEimer standardAlle Störungen und Bauarbeiten der S-Bahn Berlin. Standard: nur die, die gerade gelten.
Query-Parameter
| Feld | Typ | Beschreibung |
|---|---|---|
when | string | Zeitraumnow gilt gerade (Standard), future kommt noch, all allesStandard: now |
line | string | Nur diese Linie, z. B. S5 |
details | bool | Ausführlichen Text mitliefernStandard: false |
Antwort
Liste von Störung, Störungen vor Bauarbeiten
Beispiel
curl
curl "https://developer.bahnhoftafel.de/v1/disruptions/sbahn-berlin" \
-H "Authorization: Bearer $BT_SCHLUESSEL"JavaScript
const antwort = await fetch("https://developer.bahnhoftafel.de/v1/disruptions/sbahn-berlin", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.BT_SCHLUESSEL}`, },
});
const daten = await antwort.json();Python
import os, requests
antwort = requests.get(
"https://developer.bahnhoftafel.de/v1/disruptions/sbahn-berlin",
headers={"Authorization": f"Bearer {os.environ['BT_SCHLUESSEL']}"},
timeout=30,
)
daten = antwort.json()Meldungen an einem Bahnhof
GET
/v1/stations/{station_id}/messagesEimer standardDie Meldungen der DB (HIM) zu Baustellen, Sperrungen und Fahrplanänderungen, die an den Zügen der nächsten Stunden hängen. Jede Meldung kommt einmal, mit den betroffenen Zügen.
Pfad-Parameter
| Feld | Typ | Beschreibung |
|---|---|---|
station_idPflicht | string | EVA-Nummer |
Query-Parameter
| Feld | Typ | Beschreibung |
|---|---|---|
duration | integer | Zeitraum in MinutenStandard: 12015 bis 180 |
Antwort
Liste { text, valid_from, valid_to, trains: string[] }
[
{
"text": "Bauarbeiten zwischen Berlin-Spandau und Wustermark: Umleitung, Halt in Elstal entfällt",
"valid_from": "2026-10-12T21:00:00+02:00",
"valid_to": "2026-11-02T04:00:00+01:00",
"trains": [
"RE 4",
"RB 21"
]
}
]Beispiel
curl
curl "https://developer.bahnhoftafel.de/v1/stations/8011160/messages" \
-H "Authorization: Bearer $BT_SCHLUESSEL"JavaScript
const antwort = await fetch("https://developer.bahnhoftafel.de/v1/stations/8011160/messages", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.BT_SCHLUESSEL}`, },
});
const daten = await antwort.json();Python
import os, requests
antwort = requests.get(
"https://developer.bahnhoftafel.de/v1/stations/8011160/messages",
headers={"Authorization": f"Bearer {os.environ['BT_SCHLUESSEL']}"},
timeout=30,
)
daten = antwort.json()