Zum Hauptinhalt springen

GET /v1/health

Kurzer Lebenszeichen-Check für Monitoring: 200, solange der Dienst gesund ist, sonst 503.

GET /v1/status

Betriebszustand aller Komponenten – dieselbe Grundlage wie status.oeffigo.app.

GET /v1/history

Pünktlichkeits-Auswertung aus offiziellen Ist-Zeiten: Summen, Tagesverlauf, Linien und ein Wochentag×Stunde-Muster. Gezählt werden einzelne Halte, nicht ganze Fahrten. Ausfälle stammen nur aus ausdrücklichen Meldungen – ein fehlender Datenpunkt gilt nie als Ausfall.
ISO-Datum
Beginn des Zeitraums.
ISO-Datum
Ende des Zeitraums. Höchstens 366 Tage Spanne.
string
Auf eine Linie einschränken, z. B. U1.
string
Auf eine Datenquelle einschränken: wiener_linien, trias, stmk_gtfs_rt.
dow ist ISO: 1 = Montag … 7 = Sonntag.

GET /v1/punctuality

Pünktlichkeit je Linie der letzten 30 Tage, dieselben Zahlen wie in der App und auf oeffigo.app/puenktlichkeit. Neu gerechnet wird jede Nacht, through nennt den letzten Messtag.
string
Zum Beispiel wien, steiermark, kaernten.
string
Verkehrsmittel, etwa tram, bus, metro, s_bahn.
string
Freitext über Linie und Strecke, höchstens 80 Zeichen.
int
Standard:"2000, 0"
Seitenweise lesen.
Pünktlich heißt höchstens 1 min zu früh und höchstens 3 min zu spät. Linien ohne Echtzeit tragen keinen Anteil.

Weitere Pünktlichkeits-Endpunkte

Datenquellen: Stadt Wien – data.wien.gv.at (CC BY 4.0), Mobilitätsverbünde Österreich OG, ÖBB-Infrastruktur AG und ÖBB-Personenverkehr AG (CC BY 4.0). Bitte nenn sie, wenn du die Zahlen zeigst (Namensnennung).

GET /v1/disruptions/archive

Aktuelle und vergangene Störungsmeldungen der Verkehrsbetriebe, neueste zuerst. Auch beendete Meldungen bleiben abrufbar.
string
Nur Meldungen zu einer Linie.
string
Bundesland in Kleinbuchstaben ohne Umlaute, etwa steiermark oder niederoesterreich.
string
Quelle der Meldung, etwa ims (Mobilitätsverbünde) oder wl (Wiener Linien).
string
Freitext, höchstens 80 Zeichen.
string
Zeitraum als ISO-Zeitpunkt.
int
Standard:"50, 0"
Höchstens 200 je Seite.
Eine einzelne Meldung holst du mit GET /v1/disruptions/archive/item?id=…&source=….

GET /v1/predictions Pausiert

ÖffiGos eigene Verspätungsprognosen. Nur Einträge mit hoher oder mittlerer Sicherheit; kein Eintrag ist älter als acht Minuten.
Pausiert, in Entwicklung. Die Endpunkte antworten, liefern aber derzeit eine leere Liste. Ob Prognosen verfügbar sind, meldet GET /v1/status in measurement.predictionsAvailable.
Ein Filter ist Pflicht. Ohne lat+lon, line, jid oder jids antwortet der Endpunkt mit 400 missing_query.
number
Umkreissuche, optional mit radius.
string
Linienbezeichnung, z. B. U1.
string
Eine Fahrt-Referenz.
string[]
Bis zu 40 Fahrt-Referenzen, kommagetrennt.
int
Nur zusammen mit lat + lon.
int
Höchstens 200. Ersetzt keinen Filter.

POST /v1/predictions/batch

Viele Fahrt-Referenzen auf einmal. Fahrt-Referenzen sind lang und gehören nicht in eine URL.

GET /v1/vehicles Pausiert

Fahrzeuge in einem begrenzten Kartenausschnitt. Einträge sind höchstens acht Minuten alt.
Pausiert. Die Fahrzeuganzeige ist derzeit aus. Der Endpunkt antwortet, liefert aber eine leere Liste mit "source": "none".
number
Kartenausschnitt – alle vier oder keiner.
string[]
Kommagetrennte Fahrt-Referenzen statt eines Ausschnitts.
number
Standard:"500"
1 bis 1.000.
string
Sagt, was ein leeres Ergebnis bedeutet: none heißt „Anzeige pausiert“, ondemand_live mit leerer Liste „gerade keine Fahrzeuge“, ondemand_capped „vorübergehend nicht verfügbar“.

GET /v1/wiener-linien/metro

Echtzeit der Wiener U-Bahn, gecacht. Nur für Stationen aus einer festen Liste – bewusst kein offener Proxy.
int
erforderlich
Stationskennung.
Die Verspätung ist die Differenz aus realAt und plannedAt. Bei 503 source_standby ist die Quelle bewusst pausiert – versuch es später erneut. Datenquelle: Stadt Wien – data.wien.gv.at, CC BY 4.0.

GET /v1/announcements

Hinweise, die ÖffiGo ohne App-Update in den Apps ausspielt. Geschlossene und abgelaufene Meldungen sind nicht enthalten.
Fahrt-Referenzen (og1.…) sind undurchsichtig. Verwende sie nur so, wie du sie bekommst – zerlegen oder selbst bauen funktioniert nicht.