API – pojazdy

To jest dokumentacja dla wersji 2 API. Dokumentacja dla przestarzałej wersji 1.

Informacje o bieżącej lokalizacji pojazdów komunikacji miejskiej. Zobacz również: GTFS.

  • Endpoint: GET https://rozklad.renegades.at/api/v2/vehicles?format=json|cbor
  • Typ danych: application/json (domyślnie) lub application/cbor (gdy format=cbor)
  • Częstotliwość aktualizacji: co ok. 10 sekund

Struktura danych

{
  "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 – obiekt zawierający informacje na temat linii komunikacji miejskiej
    • int id – identyfikator linii (niezmienny)
    • string number – oznaczenie (numer) linii (może ulegać zmianom)
    • string type – typ linii:
      • DAY – linia dzienna
      • NIGHT – linia nocna
    • string subtype – podtyp linii:
      • NORMAL – linia zwykła
      • SEMI_FAST – linia przyspieszona
      • FAST – linia pospieszna
      • REPLACEMENT – linia zastępcza
      • ADDITIONAL – linia dodatkowa
      • SPECIAL – linia specjalna
      • TOURIST – linia turystyczna
  • object vehicle – obiekt zawierający informacje na temat pojazdu
    • int id – identyfikator pojazdu
    • string type – rodzaj trakcji:
      • SKM – pociąg SKM
      • TRAM – tramwaj
      • BUS – autobus
    • string number – numer taborowy pojazdu
    • string|null model – nazwa modelu pojazdu
    • bool|null low_floor – wartość true, jeśli pojazd jest niskopodłogowy
    • object|null ticket_machine – obiekt zawierający informację o zamontowanym w pojeździe biletomacie (wartość null, jeśli w pojeździe nie został zainstalowany biletomat)
      • bool cards – biletomat z możliwością płacenia kartami
      • bool coins – biletomat z możliwością płacenia monetami
    • bool passenger_counter – wartość true, jeśli pojazd jest wyposażony w czujniki do automatycznego zliczania pasażerów
    • string|null operator – nazwa operatora będącego posiadaczem pojazdu
  • object trip – obiekt zawierający informacje na temat realizowanego przez pojazd kursu
    • string service – oznaczenie zadania (brygady) realizowanego przez pojazd
    • string|null gtfs_id – identyfikator kursu realizowanego obecnie przez pojazd w statycznym rozkładzie jazdy GTFS (wartość null, gdy brak możliwości dopasowania pojazdu do kursu)
    • string start_date – data początkowa, stanowiąca punkt odniesienia dla kursu realizowanego obecnie przez pojazd
    • string scheduled_start_time – zaplanowany czas rozpoczęcia kursu realizowanego obecnie przez pojazd
    • string headsign – nazwa kierunku dla kursu realizowanego obecnie przez pojazd
    • int direction_id – identyfikator kierunku (0 oznacza kierunek TAM, a 1 – kierunek POWRÓT)
    • int route_variant_number – numer trasy danej linii, na której pojazd realizuje obecnie kurs
    • int|null current_stop_sequence – numer kolejny przystanku w ramach kursu realizowanego obecnie przez pojazd (wartość null, gdy brak możliwości dopasowania pojazdu do kursu)
  • object|null previous_stop – obiekt zawierający informacje na temat poprzedniego przystanku (wartość null, gdy brak danych o poprzednim przystanku)
    • string number – numer poprzedniego przystanku
    • string name – nazwa poprzedniego przystanku
  • object|null next_stop – obiekt zawierający informacje na temat kolejnego przystanku (wartość null, gdy brak danych o kolejnym przystanku)
    • string number – numer kolejnego przystanku
    • string name – nazwa kolejnego przystanku
  • object position – obiekt zawierający informacje na temat lokalizacji pojazdu
    • float latitude – współrzędne geograficzne pojazdu (szerokość geograficzna)
    • float longitude – współrzędne geograficzne pojazdu (długość geograficzna)
    • int|null bearing – wartość w przedziale od 0 do 360, wskazująca geograficzny kierunek poruszania się pojazdu (namiar), gdzie 0 lub 360 oznacza północ, 90 oznacza wschód itd. – ze skokiem co 45°
    • int velocity – prędkość chwilowa pojazdu w km/h
  • object delay – obiekt zawierający informacje na temat opóźnienia pojazdu
    • int seconds – opóźnienie pojazdu wyrażone w sekundach (wartość 0 oznacza kurs realizowany zgodnie z rozkładem jazdy, wartość większa od 0 oznacza kurs opóźniony, a wartość mniejsza od 0 – kurs przyspieszony)
    • int minutes – opóźnienie pojazdu zaokrąglone do pełnych minut (wartość 0 oznacza kurs realizowany zgodnie z rozkładem jazdy, wartość większa od 0 oznacza kurs opóźniony, a wartość mniejsza od 0 – kurs przyspieszony)
  • string occupancy_status – informacja o bieżącym zatłoczeniu pojazdu:
    • MANY_SEATS_AVAILABLE – bardzo małe zatłoczenie
    • FEW_SEATS_AVAILABLE – małe zatłoczenie
    • STANDING_ROOM_ONLY – średnie zatłoczenie
    • CRUSHED_STANDING_ROOM_ONLY – duże zatłoczenie
    • NO_DATA_AVAILABLE – brak danych o zatłoczeniu
  • bool stuck – wartość true, jeśli pojazd nie porusza się (utknął) – możliwe powody to m.in. zator drogowy bądź awaria pojazdu
  • string updated_at – moment ostatniej aktualizacji danych

Informacje ogólne

  1. Dane udostępniane są bezpłatnie na licencji CC0 1.0, do wykorzystania w dowolnym celu, a ich użycie nie wymaga wcześniejszego zgłoszenia.
  2. Zarząd Dróg i Transportu Miejskiego w Szczecinie nie gwarantuje, że udostępniane dane są prawidłowe i kompletne. Nie ponosi również odpowiedzialności za szkody lub niewłaściwe decyzje podjęte na ich podstawie.
  3. W produkcie korzystającym z danych (aplikacja, strona internetowa, publikacja itp.) prosimy o podanie źródła danych, tj. Zarząd Dróg i Transportu Miejskiego w Szczecinie lub – w formie skróconej – ZDiTM Szczecin, ale nie jest to wymóg prawny.
  4. W produkcie korzystającym z danych (aplikacja, strona internetowa, publikacja itp.) prosimy o – jeżeli jest to możliwe – umieszczenie odsyłacza do niniejszej strony lub do strony głównej, ale nie jest to wymóg prawny.
  5. Klient powinien rozpoznawać i honorować nagłówki HTTP Cache-Control i ETag.
  6. Liczba żądań do API jest limitowana. Limit jest wspólny dla wszystkich endpointów i wynosi 100 żądań na minutę na adres IP. Nagłówek X-RateLimit-Remaining zawiera liczbę żądań pozostałych w ramach dostępnego limitu. Po wyczerpaniu limitu zwracany jest kod odpowiedzi HTTP 429. Nagłówek odpowiedzi X-RateLimit-Reset zawiera wówczas uniksowy timestamp równy czasowi zresetowania limitu, a nagłówek Retry-After zawiera liczbę sekund pozostałych do zresetowania limitu.
  7. Jeżeli to możliwe, prosimy o umieszczenie w nagłówku User-Agent żądania informacji o podmiocie korzystającym z danych (np. nazwa aplikacji, strony internetowej, adres URL).
  8. W przypadku nadmiernego obciążania serwera ZDiTM Szczecin zastrzega sobie prawo do częściowego lub całkowitego zablokowania dostępu do API.

Migracja z wersji 1

  1. Endpoint zmieniono na: GET https://rozklad.renegades.at/api/v2/vehicles.
  2. Odpowiedź została przeorganizowana poprzez wprowadzenie obiektów: line, vehicle, trip, position i delay.
  3. Dodano pola: 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 oraz occupancy_status.
  4. Pola previous_stop i next_stop zostały przekształcone w obiekty.
  5. Pole punctuality zostało zastąpione obiektem delay (zmieniono również konwencję znaku wartości).
  6. Wartości pól line.type, line.subtype i vehicle.type zwracane są w konwencji UPPER_SNAKE_CASE.
  7. Obsługiwany jest dodatkowo format CBOR (application/cbor) poprzez parametr format=cbor.