API – Fahrzeuge

Dies ist die Dokumentation für Version 2 der API. Dokumentation für die veraltete Version 1.

Informationen zur aktuellen Position der Fahrzeuge im öffentlichen Nahverkehr. Siehe auch: GTFS.

  • Endpoint: GET https://rozklad.renegades.at/api/v2/vehicles?format=json|cbor
  • Datenformat: application/json (Standard) oder application/cbor (wenn format=cbor)
  • Aktualisierungs­frequenz: ca. alle 10 Sekunden

Datenstruktur

{
  "data": [
    {
      "line": {
        "id": 14,
        "number": "53",
        "type": "DAY",
        "subtype": "NORMAL"
      },
      "vehicle": {
        "id": 3,
        "type": "BUS",
        "number": "1050",
        "model": "Solaris Urbino 18",
        "low_floor": true,
        "ticket_machine": {
          "cards": true,
          "coins": false
        },
        "passenger_counter": true,
        "operator": "SPA Klonowica"
      },
      "trip": {
        "service": "053-01",
        "gtfs_id": "502693_POWS",
        "start_date": "2026-06-22",
        "scheduled_start_time": "2026-06-22T11:09:00.000000Z",
        "headsign": "Stocznia Szczecińska",
        "direction_id": 1,
        "route_variant_number": 12,
        "current_stop_sequence": 30
      },
      "previous_stop": {
        "number": "14121",
        "name": "Sczanieckiej"
      },
      "next_stop": {
        "number": "17012",
        "name": "Plac Matki Teresy"
      },
      "position": {
        "latitude": 53.43933868408203,
        "longitude": 14.565779685974121,
        "bearing": 90,
        "velocity": 0
      },
      "delay": {
        "seconds": 568,
        "minutes": 9
      },
      "occupancy_status": "MANY_SEATS_AVAILABLE",
      "stuck": false,
      "updated_at": "2026-06-22T12:03:28.000000Z"
    },

    ...

  ]
}
  • object line – Objekt mit Informationen zur Linie
    • int id – eindeutige Kennung der Linie (unveränderlich)
    • string number – Linienbezeichnung (Nummer) (kann sich ändern)
    • string type – Linientyp:
      • DAY – Tageslinie
      • NIGHT – Nachtlinie
    • string subtype – Linien-Untertyp:
      • NORMAL – normale Linie
      • SEMI_FAST – halb-schnelle Linie
      • FAST – Schnelllinie
      • REPLACEMENT – Ersatzlinie
      • ADDITIONAL – Zusatzlinie
      • SPECIAL – Sonderlinie
      • TOURIST – Touristenlinie
  • object vehicle – Objekt mit Informationen zum Fahrzeug
    • int id – eindeutige Fahrzeugkennung
    • string type – Fahrzeugtyp:
      • SKM – SKM-Zug
      • TRAM – Straßenbahn
      • BUS – Bus
    • string number – Betriebsnummer des Fahrzeugs
    • string|null model – Modellbezeichnung des Fahrzeugs
    • bool|null low_floortrue, wenn das Fahrzeug niederflurig ist
    • object|null ticket_machine – Objekt mit Informationen zum im Fahrzeug installierten Fahrkartenautomaten (null, wenn im Fahrzeug kein Fahrkartenautomat installiert ist)
      • bool cards – Fahrkartenautomat unterstützt Kartenzahlung
      • bool coins – Fahrkartenautomat unterstützt Münzzahlung
    • bool passenger_countertrue, wenn das Fahrzeug mit Fahrgastzählsensoren ausgestattet ist
    • string|null operator – Name des Fahrzeugbetreibers
  • object trip – Objekt mit Informationen zur aktuell vom Fahrzeug bedienten Fahrt
    • string service – Kennzeichnung der Dienstschicht (Schichtplan), die vom Fahrzeug bedient wird
    • string|null gtfs_id – Kennung der aktuell vom Fahrzeug bedienten Fahrt im statischen GTFS-Fahrplan (null, wenn das Fahrzeug keiner Fahrt zugeordnet werden kann)
    • string start_date – Startdatum als Bezugspunkt für die aktuell vom Fahrzeug bediente Fahrt
    • string scheduled_start_time – geplante Startzeit der aktuell vom Fahrzeug bedienten Fahrt
    • string headsign – Zielanzeige der aktuell vom Fahrzeug bedienten Fahrt
    • int direction_id – Richtungskennung (0 bezeichnet die Hinfahrtrichtung, 1 die Rückfahrtrichtung)
    • int route_variant_number – Nummer der Linienvariante, auf der das Fahrzeug aktuell verkehrt
    • int|null current_stop_sequence – laufende Haltestellennummer innerhalb der aktuell vom Fahrzeug bedienten Fahrt (null, wenn das Fahrzeug keiner Fahrt zugeordnet werden kann)
  • object|null previous_stop – Objekt mit Informationen zur vorherigen Haltestelle (null, wenn keine Daten zur vorherigen Haltestelle vorliegen)
    • string number – Nummer der vorherigen Haltestelle
    • string name – Name der vorherigen Haltestelle
  • object|null next_stop – Objekt mit Informationen zur nächsten Haltestelle (null, wenn keine Daten zur nächsten Haltestelle vorliegen)
    • string number – Nummer der nächsten Haltestelle
    • string name – Name der nächsten Haltestelle
  • object position – Objekt mit Informationen zur Fahrzeugposition
    • float latitude – geografische Breite des Fahrzeugs
    • float longitude – geografische Länge des Fahrzeugs
    • int|null bearing – Wert von 0 bis 360, der die geographische Fahrtrichtung des Fahrzeugs (Peilung) angibt, wobei 0 oder 360 Norden, 90 Osten usw. bedeutet, in 45°-Schritten
    • int velocity – aktuelle Geschwindigkeit des Fahrzeugs in km/h
  • object delay – Objekt mit Informationen zur Verspätung bzw. Vorverfrühung des Fahrzeugs
    • int seconds – Abweichung des Fahrzeugs vom Fahrplan in Sekunden (0 = pünktlich, ein Wert größer als 0 = verspätet, ein Wert kleiner als 0 = vorzeitig)
    • int minutes – Abweichung des Fahrzeugs vom Fahrplan auf volle Minuten gerundet (0 = pünktlich, ein Wert größer als 0 = verspätet, ein Wert kleiner als 0 = vorzeitig)
  • string occupancy_status – aktueller Auslastungsgrad des Fahrzeugs:
    • MANY_SEATS_AVAILABLE – sehr geringe Auslastung
    • FEW_SEATS_AVAILABLE – geringe Auslastung
    • STANDING_ROOM_ONLY – mittlere Auslastung
    • CRUSHED_STANDING_ROOM_ONLY – hohe Auslastung
    • NO_DATA_AVAILABLE – keine Auslastungsdaten verfügbar
  • bool stucktrue, wenn sich das Fahrzeug nicht bewegt (feststeckt); mögliche Ursachen sind unter anderem ein Verkehrsstau oder eine Fahrzeugpanne
  • string updated_at – Zeitstempel der letzten Datenaktualisierung

Allgemeine Informationen

  1. Die Daten werden kostenfrei unter der CC0 1.0‑Lizenz bereitgestellt und dürfen ohne vorherige Anmeldung für beliebige Zwecke genutzt werden.
  2. Der Zarząd Dróg i Transportu Miejskiego w Szczecinie (Straßen- und Stadtverkehrsverwaltung in Szczecin) übernimmt keine Gewähr für die Richtigkeit oder Vollständigkeit der Daten und haftet nicht für Schäden oder Fehlentscheidungen, die auf deren Basis getroffen werden.
  3. In Produkten, die die Daten verwenden (App, Website, Publikation o. Ä.), bitten wir um die Angabe der Datenquelle „Zarząd Dróg i Transportu Miejskiego w Szczecinie“ oder abgekürzt „ZDiTM Szczecin“, dies ist jedoch nicht gesetzlich vorgeschrieben.
  4. Ebenfalls optional, aber erwünscht: Ein Link zu dieser Webseite oder zur Hauptseite von ZDiTM Szczecin in Ihrem Produkt.
  5. Clients sollten die HTTP‑Header Cache-Control und ETag erkennen und beachten.
  6. Die Anzahl der API‑Anfragen ist begrenzt: Es sind 100 Anfragen pro Minute und IP‑Adresse über alle Endpunkte erlaubt. Der Header X-RateLimit-Remaining zeigt die verbleibenden Anfragen an. Nach Erreichen des Limits wird der HTTP‑Status 429 zurückgegeben. Der Header X-RateLimit-Reset enthält dann einen Unix‑Timestamp für die Rücksetzung des Limits, und der Header Retry-After gibt die verbleibenden Sekunden bis zur Rücksetzung an.
  7. Wenn möglich, fügen Sie im User-Agent‑Header Ihrer Anfragen einen Hinweis auf den nutzenden Dienst (z. B. Name der App, Website oder URL) hinzu.
  8. Bei übermäßiger Serverlast behält sich ZDiTM Szczecin das Recht vor, den API‑Zugang teilweise oder vollständig zu sperren.

Migration von Version 1

  1. Endpoint geändert auf: GET https://rozklad.renegades.at/api/v2/vehicles.
  2. Die Antwortstruktur wurde durch die Einführung der Objekte line, vehicle, trip, position und delay neu organisiert.
  3. Hinzugefügte Felder: vehicle.passenger_counter, trip.gtfs_id, trip.start_date, trip.scheduled_start_time, trip.direction_id, trip.current_stop_sequence, previous_stop.number, next_stop.number, delay.seconds und occupancy_status.
  4. Die Felder previous_stop und next_stop wurden in Objekte umgewandelt.
  5. Das Feld punctuality wurde durch das Objekt delay ersetzt (auch die Vorzeichenkonvention wurde geändert).
  6. Die Werte der Felder line.type, line.subtype und vehicle.type werden im Format UPPER_SNAKE_CASE zurückgegeben.
  7. Zusätzlich wird das CBOR-Format (application/cbor) über den Parameter format=cbor unterstützt.