Aufzugsstatus API
API v1 · betrieben von plötzlich querschnitt

Live-Aufzugsstörungen an deutschen Bahnhöfen.

Ein aggregierter, frei nutzbarer JSON-Feed aus den Störungsmelde-Systemen von Deutscher Bahn, HVV, BVG, KVB, MVG, VGF und weiteren. Kein API-Key, kein Login, kein Tracking.

Alle Quellen werden alle 5 Minuten neu abgefragt
curl · in deiner Nähe
curl "https://aufzuege.barrierefrei-unterwegs.info/stations/near\
?lat=53.55&lon=9.99&radius_km=5"
01 — Woher die Daten kommen

Datenquellen

Sieben offizielle und community-basierte Feeds werden serverseitig zusammengeführt, dedupliziert und normalisiert. Bei überlappenden Meldungen (z. B. HVV und brokenlifts für dieselben Hamburger Aufzüge) gewinnt die primäre Quelle.

DBFaSta
BVGBerlin
HVVHamburg
KVBKöln
MVGMünchen
VGFFrankfurt
BOGBochum
CCbrokenlifts.org
02 — Endpoints

Drei Wege in die Daten

Alle Antworten sind JSON, alle Requests sind GET. Base-URL: https://aufzuege.barrierefrei-unterwegs.info.

GET /stations/near

Bahnhöfe im Umkreis eines Punktes, sortiert nach Entfernung. Der Rückgabewert ist bereits pro Bahnhof aggregiert (Anzahl aller Aufzüge, davon defekt).

Query-Parameter
NameTypBeschreibung
latfloatPflichtBreitengrad (WGS84)
lonfloatPflichtLängengrad (WGS84)
radius_kmfloatoptionalSuchradius in Kilometern. Standard 25, Maximum 100.
limitintoptionalMaximale Trefferzahl. Standard 20, Maximum 200.
Beispiel
Request
GET /stations/near?lat=53.55&lon=9.99&radius_km=25&limit=5
Response · 200 OK
[
  {
    "name": "Hamburg Hbf",
    "station_number": 1734,
    "lifts": 12,
    "defekt": 2,
    "distance_km": 0.4,
    "lat": 53.552,
    "lon": 10.006
  }
]
GET /stations/search

Bundesweite Bahnhofssuche per Namensteil. Für Autocomplete gedacht — Antwort kommt in unter 100 ms.

Query-Parameter
qstringPflichtMindestens zwei Zeichen. Substring-Suche, case-insensitive.
Beispiel
Request
GET /stations/search?q=pinneberg
Response · 200 OK
[
  {
    "name": "Pinneberg",
    "station_number": 4859,
    "lifts": 3,
    "defekt": 1
  }
]
GET /lifts

Detaildaten aller Aufzüge zu einem Bahnhof — inkl. Bezeichnung, letztem Status, Klartext-Störungsgrund und dem last_seen-Zeitstempel für die Datenfrische.

Query-Parameter
qstringPflichtBahnhofsname (exakt oder Substring).
limitintoptionalStandard 50, Maximum 200.
Beispiel
Request
GET /lifts?q=Pinneberg
Response · 200 OK (Auszug)
[
  {
    "id": "fasta:12345",
    "source": "fasta",
    "type": "ELEVATOR",
    "station_number": 4859,
    "station_name": "Pinneberg",
    "description": "Aufzug zu Bahnsteig 2/3",
    "operator": "DB Station&Service",
    "state": "INACTIVE",
    "state_explanation": "technische Störung",
    "state_since": "2026-08-30T09:12:00+02:00",
    "last_seen": "2026-08-30T14:35:00+02:00",
    "lat": 53.6621,
    "lon": 9.7897
  }
]
03 — Datenqualität

Wenn keine Daten kommen, sagen wir das.

Jeder Aufzug trägt ein last_seen-Feld — den Zeitpunkt der letzten erfolgreichen Abfrage seines Quell-Feeds. Aus dem Alter dieses Zeitstempels ergibt sich die einzig ehrliche Interpretation des Status:

≤ 15 Min alt
In Betrieb
Daten sind frisch, state gilt unverändert.
15–60 Min alt
Status unklar
Auch bei state = ACTIVE sollte hier „unklar" gezeigt werden — der Feed hat sich nur nicht mehr gemeldet.
> 60 Min alt
Feed ist stumm
Quelle ist ausgefallen. Nicht die Aufzüge, sondern die Datenversorgung. Alternative Route planen oder alte Werte ignorieren.

Diese Logik ist in der iOS- und Android-App direkt sichtbar. Wer die API selbst nutzt, sollte sie mitimplementieren — sonst zeigt die App im Zweifel „alles gut" auf Basis mehrere Stunden alter Daten.

04 — Für LLMs

MCP-Server für Claude, ChatGPT & Co.

Ein Model-Context-Protocol-Endpunkt stellt dieselben Daten als Tool für Sprachmodelle bereit. Der Assistent bekommt echte Live-Störungen zurück — nicht die trainings-alte Vermutung, dass „Bahnhof X einen Aufzug hat".

Endpoint

Streamable HTTP unter https://aufzuege.barrierefrei-unterwegs.info/mcp — read-only, ohne Auth. In Claude/ChatGPT als Custom Connector einbinden. Beispiel-Prompt:

Prompt
„Kann ich morgen früh mit dem Rollstuhl von Pinneberg
nach Berlin Ostkreuz umsteigefrei fahren? Bitte alle
Aufzüge auf der Route auf aktuelle Störungen prüfen."
05 — Nutzung

Fair Use

Frei nutzbar heißt frei nutzbar — nicht rücksichtslos. Ein paar Regeln, damit der Service für alle stabil bleibt: