Fahrzeuge
Wie 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.
Objekte
Objekt Zugname
| Feld | Typ | Beschreibung |
|---|---|---|
trainset | string | Triebzugnummer (Tz), steht außen am Zug und in der Wagenreihung |
series | ?string | Baureihe, z. B. 403 |
series_name | ?string | z. B. ICE 3 |
name | ?string | Aktueller Name; null, wenn der Zug keinen mehr trägt |
named_since | ?string | Seit wann |
history | object[] | { name, from, until, place, note, kind }; kind: taufe, region, aenderung, uebertragung |
{
"trainset": "304",
"series": "403",
"series_name": "ICE 3",
"name": "München",
"named_since": "2003-01-10",
"history": [
{
"name": "München",
"from": "2003-01-10",
"until": null,
"place": "München Hauptbahnhof",
"note": "ursprünglich Wagen 403 004 beschriftet",
"kind": "taufe"
}
]
}Objekt Baureihe
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Baureihe, z. B. 412 oder 481 |
name | string | z. B. ICE 4 |
kind | string | long_distance oder suburban |
diagrams | object[] | Wagenreihungspläne { variant, url, format, source, cars? }: PDF der Baureihe bzw. Zugbild der S-Bahn, beide von unserem Server |
named_trainsets | integer | Wie viele Triebzüge dieser Baureihe einen Namen haben oder hatten |
{
"id": "412",
"name": "ICE 4",
"kind": "long_distance",
"diagrams": [
{
"variant": "12 Wagen",
"url": "https://developer.bahnhoftafel.de/fahrzeuge/plaene/412.pdf",
"format": "pdf",
"source": "Wagenreihungsplan der DB"
},
{
"variant": "7 Wagen",
"url": "https://developer.bahnhoftafel.de/fahrzeuge/plaene/412.7.pdf",
"format": "pdf",
"source": "Wagenreihungsplan der DB"
},
{
"variant": "13 Wagen",
"url": "https://developer.bahnhoftafel.de/fahrzeuge/plaene/412.13.pdf",
"format": "pdf",
"source": "Wagenreihungsplan der DB"
}
],
"named_trainsets": 36
}Zugnamen
/v1/vehicles/namesEimer standardAlle IC- und ICE-Triebzüge, die gerade einen Namen tragen (244 Stück), etwa „München“ oder „Martin Luther“.
Quelle: Wikipedia, „Liste benannter IC/ICE-Fahrzeuge“ (CC BY-SA 4.0), Stand 2026-10-15. Wer die Namen weitergibt, nennt die Quelle.
Query-Parameter
| Feld | Typ | Beschreibung |
|---|---|---|
query | string | Nur Namen, die das enthalten |
series | string | Nur diese Baureihe, z. B. 412 |
Antwort
Liste von Zugname ohne history
Beispiel
curl "https://developer.bahnhoftafel.de/v1/vehicles/names" \
-H "Authorization: Bearer $BT_SCHLUESSEL"const antwort = await fetch("https://developer.bahnhoftafel.de/v1/vehicles/names", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.BT_SCHLUESSEL}`, },
});
const daten = await antwort.json();import os, requests
antwort = requests.get(
"https://developer.bahnhoftafel.de/v1/vehicles/names",
headers={"Authorization": f"Bearer {os.environ['BT_SCHLUESSEL']}"},
timeout=30,
)
daten = antwort.json()Name eines Triebzugs
/v1/vehicles/names/{trainset}Eimer standardName und Namensgeschichte eines Triebzugs: wann und wo er getauft wurde, ob der Name später wechselte oder auf einen anderen Zug überging.
Pfad-Parameter
| Feld | Typ | Beschreibung |
|---|---|---|
trainsetPflicht | string | Triebzugnummer, z. B. 304 oder 9006 |
Antwort
Beispiel
curl "https://developer.bahnhoftafel.de/v1/vehicles/names/trainset" \
-H "Authorization: Bearer $BT_SCHLUESSEL"const antwort = await fetch("https://developer.bahnhoftafel.de/v1/vehicles/names/trainset", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.BT_SCHLUESSEL}`, },
});
const daten = await antwort.json();import os, requests
antwort = requests.get(
"https://developer.bahnhoftafel.de/v1/vehicles/names/trainset",
headers={"Authorization": f"Bearer {os.environ['BT_SCHLUESSEL']}"},
timeout=30,
)
daten = antwort.json()Baureihen und Wagenreihungspläne
/v1/vehicles/seriesEimer standardDie Baureihen mit ihren Wagenreihungsplänen: wo die erste Klasse, das Bordrestaurant und die Fahrradplätze sind, und bei der S-Bahn Berlin, wie Viertel-, Halb-, Dreiviertel- und Vollzug aussehen.
Die Pläne liegen auf unserem Server und dürfen direkt verlinkt werden. Welcher Plan zu einer S-Bahn passt, steht beim Bahnsteig in vehicle.diagram_url.
Query-Parameter
| Feld | Typ | Beschreibung |
|---|---|---|
kind | string | Nur diese Artlong_distance Fernverkehr, suburban S-Bahn |
Antwort
Liste von Baureihe
Beispiel
curl "https://developer.bahnhoftafel.de/v1/vehicles/series" \
-H "Authorization: Bearer $BT_SCHLUESSEL"const antwort = await fetch("https://developer.bahnhoftafel.de/v1/vehicles/series", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.BT_SCHLUESSEL}`, },
});
const daten = await antwort.json();import os, requests
antwort = requests.get(
"https://developer.bahnhoftafel.de/v1/vehicles/series",
headers={"Authorization": f"Bearer {os.environ['BT_SCHLUESSEL']}"},
timeout=30,
)
daten = antwort.json()Baureihe abrufen
/v1/vehicles/series/{series_id}Eimer standardEine Baureihe mit Plänen und den benannten Triebzügen.
Pfad-Parameter
| Feld | Typ | Beschreibung |
|---|---|---|
series_idPflicht | string | z. B. 412, 481 oder MET |
Antwort
Baureihe mit trainsets: Liste von { trainset, name }
Beispiel
curl "https://developer.bahnhoftafel.de/v1/vehicles/series/series_id" \
-H "Authorization: Bearer $BT_SCHLUESSEL"const antwort = await fetch("https://developer.bahnhoftafel.de/v1/vehicles/series/series_id", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.BT_SCHLUESSEL}`, },
});
const daten = await antwort.json();import os, requests
antwort = requests.get(
"https://developer.bahnhoftafel.de/v1/vehicles/series/series_id",
headers={"Authorization": f"Bearer {os.environ['BT_SCHLUESSEL']}"},
timeout=30,
)
daten = antwort.json()