Bahn APIs

MRMCD 2025 Edition

@marudor@chaos.social

Disclaimer

Ich trete hier als Privatperson auf!

Warum weißt du den Kram eigentlich?

  • Fahre viel Bahn
  • Unabsichtliches Crowdsourcing
     
  • Entwicklung bahn.expert
     
  • seit 19. Oktober 2014
  • monatlich ~720 000 User

Flugzeug.expert

Flugzeug.expert

Flugzeug.expert

Flugzeug.expert

Flugzeug.expert

Flugzeug.expert

Flugzeug.expert

Wagenreihung

Wagenreihung

Jetzt auch ankommend

Wagenreihung

{
  "category": "PASSENGERCARRIAGE_ECONOMY_CLASS",
  "constructionType": "Bpmz",
  "constructionTypeLabel": "I541170_ICT 7 teilig",
  "layoutID": "411.1.BS"
}

Wagenreihung

{
  "category": "PASSENGERCARRIAGE_FIRST_CLASS",
  "constructionType": "Avmz",
  "constructionTypeLabel": "I540311_ICE 3_1.BS",
  "layoutID": "403.RD"
}
{
  "category": "CONTROLCAR_ECONOMY_CLASS",
  "constructionType": "Bpmdzf",
  "constructionTypeLabel": "I540850_ICE 3 ",
  "layoutID": "408"
}

Wagenscharfe Auslastung

Wagenscharfe Auslastung

Wagenreihung

Wagenreihung

Wagenreihung

Notizen

401.LDV = 3 Rollstuhlplätze

401.9 = 1 Rollstuhlplatz

Layouts

Layouts

Layouts

{
  "constructionTypeLabel": "I580310_ICE 1",
  "layoutID": "401"
}
{
  "constructionTypeLabel": "I580310_ICE 1",
  "layoutID": "401.LDV"
}

Journeydaten

RIS::Journeys MTF (Zukunft)

Umläufe

Umläufe

Zugpositionen

Zugpositionen

Zugpositionen

Zugpositionen

Zugpositionen

https://generalsanierung.db-ersatzverkehr.de/ersatzverkehr/Generalsanierungen/Hamburg-Berlin

XMQTT�<rismaps_websdk_147589livemap-infrago-prd j4dpbgR!QQWS0yYQu!1fF1d0YxRGsJgP

�Jg�ERISSERVICES/PROD/emulated-journey-positions/topographical/v1/+/eco001

Zugpositionen

{
  "meta": {
    "timeCreated": "2025-09-13T16:16:29.196075385+02:00",
    "timeInformation": "2025-09-13T16:16:29.196075385+02:00"
  },
  "journeyID": "20250913-5cad0ee8-a40c-3ffc-80fe-cae49bceeafc",
  "administrations": [
    "eco001"
  ],
  "gpsBased": true,
  "waypoints": [
    {
      "longitude": 10.296564960109258,
      "latitude": 53.4870412269044,
      "estimatedTime": "2025-09-13T14:16:19Z"
    },
    {
      "longitude": 10.327328,
      "latitude": 53.489636,
      "estimatedTime": "2025-09-13T14:18:36Z"
    }
  ],
  "delay": "",
  "category": "Bus",
  "line": "B2"
}

Zugpositionen

https://apis.deutschebahn.com/db/apis/ris-maps/v2/journey-positions/emulated

{
  "administrationIDs": [
    "eco001",
    "eco002",
    "eco003"
  ]
}

Zugpositionen

https://apis.deutschebahn.com/db/apis/ris-maps/v2/journey-positions/

{
  "meta": {
    "timeCreated": "2025-09-13T14:28:56.042349685Z",
    "timeInformation": "2025-09-13T14:28:54Z"
  },
  "journeyID": "20250913-8103f114-114a-3182-967d-b35c71cebe1c",
  "administrations": ["eco001"],
  "info": {
    "transportAtStart": {
      "type": "REGIONAL_TRAIN",
      "journeyName": "Bus C (3024)",
      "label": "",
      "journeyNumber": 3024,
      "category": "Bus",
      "line": "C"
    }
  },
  "longitude": 11.504885555555555,
  "latitude": 53.310585,
  "speed": 8
}

Zugpositionen

https://apis.deutschebahn.com/db/apis/ris-maps/v2/journey-positions/

{
  "meta": {
    "timeCreated": "2025-09-13T14:32:15.243485731Z",
    "timeInformation": "2025-09-13T14:32:14Z"
  },
  "journeyID": "20250913-1803f2f7-87c3-3753-a085-ca6ce3337616",
  "administrations": ["80","86"],
  "info": {
    "transportAtStart": {
      "type": "INTERCITY_TRAIN",
      "journeyName": "EC 394",
      "journeyNumber": 394,
      "category": "EC"
    }
  },
  "longitude": 10.55725,
  "latitude": 55.3688516667,
  "speed": 178
}

Polylines

Polylines

Polylines

https://karte.bahn.de/api/journey-railway-sections

[
  {
    "route": "6100",
    "operatingUnitStart": "AA",
    "operatingUnitEnd": "A118A"
  },
  {
    "route": "6100",
    "operatingUnitStart": "A118A",
    "operatingUnitEnd": "A158A"
  }
]

VzG-Streckennummer

Die DB Netz argumentierte gegen eine Klage in Bezug auf die Herausgabe des VzG, ihr würde ein Geschäftsmodell wegbrechen, wenn die Daten frei zur Verfügung stünden

Das Eisenbahn-Bundesamt schloss sich im Juli 2024 dieser Argumentation an und lehnte die Herausgabe des ihm vorliegenden VzG ab

Die DB InfraGO stuft das VzG als Betriebs- und Geschäftsgeheimnis ein und lehnt dessen Herausgabe weiterhin ab.

Polylines

/railways/sections/between-operating-units

{
  "operatingUnitEnd": "AA",
  "operatingUnitStart": "A118A",
  "route": "6100"
}

Polylines

/railways/sections/between-operating-units

  • Kann nur direkte Betriebsstellen
     
  • Ausland nix
     
  • Manchmal auch so einfach nix

Polylines

/railways/sections/by-journeyid

Fragen?

Bahn API Chaos - MRMCD2025

By marudor

Bahn API Chaos - MRMCD2025

  • 108