Developer
Menü

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

FeldTypBeschreibung
idstringKennung der Meldung
typestringdisruption (Störung) oder construction (Bauarbeiten)
effect?stringno_service, replacement_service, shuttle_service, changed_service, changed_frequency, no_stop, special_timetable
titlestringKurztitel, z. B. „Halensee <> Beusselstraße“
linesstring[]Betroffene Linien
stationsstring[]Betroffene Bahnhöfe
activebooleanGilt gerade?
periodsobject[]Zeiträume { title, start, end }
details??stringAusführlicher Text, nur mit details=true
updatedstringLetzte Ä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 standard

Alle Störungen und Bauarbeiten der S-Bahn Berlin. Standard: nur die, die gerade gelten.

Query-Parameter

FeldTypBeschreibung
whenstringZeitraumnow gilt gerade (Standard), future kommt noch, all allesStandard: now
linestringNur diese Linie, z. B. S5
detailsboolAusfü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 standard

Die 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

FeldTypBeschreibung
station_idPflichtstringEVA-Nummer

Query-Parameter

FeldTypBeschreibung
durationintegerZeitraum 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()