Developer
Menü

bahnhoftafel.de API

Dieselben Daten, mit denen die Zugzielanzeiger von bahnhoftafel.de laufen, für deine eigenen Programme: Abfahrten und Ankünfte mit den Gründen der DB für jede Verspätung, der ganze Weg eines Zuges, Wagenreihung, Störungen, Züge auf der Karte und fertige Anzeiger als Bild.

Was du damit machen kannst

BahnhöfeBahnhöfe finden und ihre Stammdaten lesen. Jeder Bahnhof hat eine EVA-Nummer, die alle anderen Endpunkte als station_id nehmen.
Abfahrten und AnkünfteWas an einem Bahnhof abfährt oder ankommt, mit Echtzeit, Gleiswechseln, Ausfällen und den Gründen für Verspätungen, so wie die DB sie meldet.
FahrtenDer ganze Weg eines Zuges: jeder Halt mit geplanter und tatsächlicher Zeit, Gleis, Ausfällen, Hinweisen, Ausstattung und auf Wunsch dem Linienverlauf für Karten.
ZugläufeEin Zug über viele Tage: wann er wo war, wie spät, auf welchem Gleis, was ausfiel und mit welchem Triebzug er fuhr. Vergangene Tage aus unserem Zugarchiv, heute und die nächsten Tage aus der Auskunft. Dazu die Pünktlichkeit eines Zuges und eine Suche über alle Züge eines Tages.
FahrplanWas sich im Fernverkehr ändert, bevor es passiert: neue Zugnummern (Entlastungs-, Ersatz- und Sonderzüge, neue Züge im nächsten Fahrplan), Züge mit anderem Laufweg als sonst, Fahrten, die aus dem Fahrplan verschwinden, und Züge, die ab einem Tag nicht mehr fahren. Wir schauen dafür laufend auf die Abfahrtstafeln der großen Knoten, für die nahen Tage besonders oft, und weit voraus bis über den Fahrplanwechsel im Dezember. Nach und nach kommen auch alle anderen Bahnhöfe mit Fernverkehr dran, und jede Änderung prüfen wir bei bahn.de gegen.
WagenreihungIn welcher Reihenfolge die Wagen eines Fern- oder Regionalzuges am Bahnsteig halten: Abschnitte, Wagennummern, Klassen, Bordbistro, Rollstuhlplätze, Fahrräder, Ruhe- und Familienbereich.
StörungenWas 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.
StreckeninfoBaustellen, Störungen und Streckenruhen im Netz der DB: wo eine Strecke gesperrt ist, wo Züge auf dem Gegengleis fahren, langsamer fahren oder umgeleitet werden. Von gestern bis in die kommenden Wochen.
RadarWo die Züge gerade sind. Für Deutschland die Bahn (Fern-, Regional- und S-Bahn-Verkehr), für Berlin und Brandenburg auch U-Bahn, Straßenbahn und Bus.
LiveAbfahrten als fortlaufender Strom: Dein Programm bekommt neue Daten, sobald sich etwas ändert, statt ständig nachzufragen.
BahnsteigEin Gleis, wie es die Anzeigen von bahnhoftafel.de sehen: wie weit der nächste Zug noch weg ist, welche Baureihe kommt und wo ein Kurzzug hält, die Hinweise im Laufband, Zugteilungen und Wagenreihung. Dazu die Bahnsteigansagen als Text und Tonaufnahme (mit Freischaltung), die Gehzeit zum Bahnhof und der QR-Code zur Bahnhofsseite.
VerkehrsbetriebeAlle Verkehrsbetriebe in Deutschland in einem Fahrplan: Bus, Straßenbahn, U-Bahn, S-Bahn, Regional- und Fernverkehr, Fähren und Seilbahnen. Mit Verspätungen, Ausfällen und Störungsmeldungen in Echtzeit, wo die Betriebe sie liefern.
FahrzeugeWie ein Zug heißt und wie er aussieht: die Namen der IC- und ICE-Triebzüge mit ihrer Geschichte und die Wagenreihungspläne der Baureihen, vom ICE 1 bis zum Voll- und Kurzzug der S-Bahn Berlin.
Parken und MobilitätWie man zum Bahnhof hin- und von ihm weiterkommt: Park and Ride mit freien Plätzen in Echtzeit, Bahnhofsparkplätze der DB, Parkhäuser, Fahrradparken und Bike and Ride, Leihräder mit freien Rädern, Carsharing und Mobilitätsstationen.
ZugzielanzeigerBilder echter und eigener Zugzielanzeiger. Gezeichnet mit derselben Software wie die Anzeigen von bahnhoftafel.de: S-Bahn Berlin, DB-Anzeiger am Gleis und DB-Listenanzeiger.
GründeDie Codes der DB für Verspätungs- und Qualitätsgründe mit ihrem Wortlaut.

Schnellstart

Melde dich im Portal mit Discord an und leg eine App an. Du bekommst einen Schlüssel, der mit bt_ beginnt. Leg ihn als Umgebungsvariable ab, dann landet er nicht aus Versehen im Code:

Shell
export BT_SCHLUESSEL="bt_…"

Die nächsten Abfahrten am Berliner Hauptbahnhof:

curl
curl "https://developer.bahnhoftafel.de/v1/stations/8011160/departures?duration=30" \
  -H "Authorization: Bearer $BT_SCHLUESSEL"

Jede Abfahrt hat Zeiten, Gleis und, wenn die DB einen nennt, den Grund für die Verspätung:

{
  "train": {
    "name": "ICE 1603",
    "category": "ICE",
    "number": "1603"
  },
  "destination": "München Hbf",
  "platform": {
    "scheduled": "4",
    "actual": "4",
    "changed": false
  },
  "departure": {
    "scheduled": "2026-10-15T17:36:00+02:00",
    "actual": "2026-10-15T18:28:00+02:00",
    "delay": 52,
    "cancelled": false
  },
  "reasons": [
    {
      "kind": "delay",
      "code": 47,
      "text": "Verspätete Bereitstellung",
      "time": "2026-10-15T17:12:00+02:00"
    }
  ]
}

Die Nummer 8011160 ist die EVA-Nummer des Bahnhofs. Andere findest du mit Bahnhöfe suchen.

Wie es weitergeht

  • GrundlagenAdresse, Anmeldung, Formate und wie Fehler aussehen.
  • GrenzenWie viele Anfragen gehen und was bei zu vielen passiert.
  • Signierte AnfragenSchlüssel zusätzlich mit Ed25519 absichern, für doppelte Raten.
  • ReferenzAlle Endpunkte mit Parametern und Beispielen.