Bahn API Chaos?

Ein Einblick in die Daten von https://bahn.expert

@marudor@chaos.social

Warum weißt du den Kram eigentlich?

  • Fahre viel Bahn
  • Entwicklung bahn.expert
  • mindestens seit 31 Aug 2015
  • monatlich ~8500 ~140000 ~240000 User

Was für Daten aggregierst du?
(damals)

  • Haltestellendaten
  • Abfahrts und Ankunfts Echtzeitdaten
  • Wagenreihung
  • Auslastungsprognose
  • Routen

Was für Daten aggregierst du?

  • Haltestellendaten (2x)
  • Abfahrt und Ankunft je Haltestelle (2x)
  • Echtzeitdaten von Fahrten (2x)
  • Wagenreihung (4x 3x)
  • Planwagenreihung
  • Planzugläufe
  • Auslastungsprognose
  • Routen

Die Bahn hat doch ein neues Open API Portal?

Ja, aber...

Upstream API Request count (Pro Woche)

Haltestellen 457.069
Abfahrt/Ankunft 6.589.835
Fahrten 6.990.051
Wagenreihung 1.192.796
Routing 254.081

Haltestellendaten

  • Haltestellendaten (CSV)
  • Stationsdaten (CSV)
  • StaDa - Stationsdaten
  • OpenDB
  • Hafas (ajax-getstop/mgate)
  • Timetable (noncd/OpenDB)
  • Favendo

Haltestellendaten (damals)

  • Haltestellendaten (CSV)
  • Stationsdaten (CSV)
  • StaDa - Stationsdaten
  • OpenDB
  • Hafas (ajax-getstop/mgate)
  • Timetable (noncd/OpenDB)
  • Favendo
  • RIS::Stations
     
  • HAFAS (DB Navigator)
     
  • Timetables (IRIS-TTS)

Haltestellendaten

  • Kennt ÖPNV & Schiene
     
  • Kennt alles wo Deutschland involviert ist
     
  • Sortiert Ergebnisse passend

RIS::Stations

Bahnhofsgruppierung

München

RIS::Stations

Umstiegsgruppierung

Dortmund Uni

RIS::Stations

HAFAS (mgate)

Nur Fallback falls RIS::Stations down

Timetables

Nur nötig um RIS::Stations auf Ergebnisse zu filtern die diese Quelle kennt

Abfahrtsdaten

Timetables (IRIS-TTS)

  • bekannte gute Daten
  • komisches XML
  • fast nur Heavy Metal
  • Manchmal down :(
  • Gibt einen Fallback
  • Leider auch manchmal down
  • iris.noncd.db.de/iris-tts/timetable/station/Karlsruhe
     
  • iris.noncd-test.db.de/iris-tts/timetable/station/Karlsruhe

HAFAS (Regionale Abfahrten, ÖPNV)

  • Gleiche Daten wie DB Navigator.
  • Etwas ungenau
  • "Unwichtiges" wird nicht angezeigt
  • Kann Verkehrsmittel filtern

Gibts auch als OpenDB Variante (Fahrplan)

RIS::Boards

  • Datenqualität wie RIS-Info
     
  • kein XML!
     
  • Kann alle Verkehrsarten
     
  • Kennt Ist-Zeiten

RIS::Boards

Timetables vs RIS::Boards

Timetables vs RIS::Boards

Journeydaten

RIS::Journeys

  • Datenqualität wie RIS-Info
     
  • Kennt Ist-Zeiten
     
  • Leider nur ~20h in die Zukunft

RIS::Journeys

HAFAS

RIS::Journeys

RIS::Journeys

HAFAS

RIS::Journeys

RIS::Journeys

RIS::Journeys

Wagenreihung

Wagenreihung (DB Navigator)

www.apps-bahn.de/wr/wagenreihung/1.0/22/202305102145

  • Zugnummer
     
  • Planabfahrtszeit an der gewünschten Haltestelle

Wagenreihung (Nummer 2)

ist-wr.noncd.db.de/wagenreihung/1.0/22/202305102145

  • <Zugnummer>
     
  • Planabfahrtszeit an der gewünschten Haltestelle

Wagenreihung

Gibt es Unterschiede?

  • Im Response - nein
     
  • In der Verfügbarkeit von Zügen - ja
     
  • Zusammen immer noch nicht alles abgedeckt

Wagenreihung (DB Navigator, neu)

www.apps-bahn.de/wgr/wr/81/20230510/ICE/22/8000105/202305102145

  • Administration (Betreiber)
  • Datum der initialen Abfahrt
  • Kategorie
  • Zugnummer
  • Evanummer der Haltestelle
  • Planabfahrtszeit an der gewünschten Haltestelle

www.apps-bahn.de/wgr/wr/80/20230510/ICE/22/8000105/202305102145

Wagenreihung Nummer drei

www.apps-bahn.de/wgr/wr/80/20230512/IC/2205/8007768/202305121351

www.apps-bahn.de/wgr/wr/NZ/20230512/RE/52205/8007768/202305121351

www.apps-bahn.de/wgr/wr/NZ/20230512/RE/52205/8007768/202305121351

Wagenreihung Unterschiede?

Vorher

Nachher

Wagenreihung

All das nur für das was es vorher schon gab?

Wagenreihung

Das waren aber nur 3?

live.oebb.at/backend/info?trainNr=5976&station=8100013&date=2023-05-12

Quirks der Wagenreihung

ICEs von / nach Frankreich

Vorher

Nachher

Baureihen spezifika

BR 4110/4010 (IC2 KISS)

Vorher

Nachher

Baureihen spezifika

BR 401 (modernisiert / kurz)

Vorher

Nachher

Planwagenreihung

Planwagenreihung

  • Nur Fernverkehr
     
  • Baureihenerkennung ungenau
     
  • Umläufe
     
  • Sondersitz Nummern
     
  • Linieninfos

Planwagenreihung

Planwagenreihung

BR 408 12.07.2023 (Auszug)

Es wird besser

Fazit

langsam

und nicht open

Fragen?

Bahn API Chaos? - GPN21

By marudor

Bahn API Chaos? - GPN21

  • 82