API – tablice odjazdów
To jest dokumentacja dla wersji 2 API. Dokumentacja dla przestarzałej wersji 1.
Informacje o najbliższych odjazdach z przystanku komunikacji miejskiej.
- Endpoint:
GET https://www.zditm.szczecin.pl/api/v2/departure-boards/{stopNumber}?limit={limit}&format=json|cbor(wartość parametru{stopNumber}można uzyskać korzystając z API dla przystanków – polenumber) - Parametr
limit(opcjonalny) określa liczbę zwracanych kursów. Domyślna wartość to10. Wartość0oznacza zwrócenie odjazdów na najbliższe 22 godziny, co może skutkować dłuższym czasem odpowiedzi serwera. - Typ danych: application/json (domyślnie) lub application/cbor (gdy
format=cbor) - Częstotliwość aktualizacji: co ok. 10 sekund
Struktura danych
{
"data": {
"stop": {
"name": "Brama Portowa",
"number": "10822"
},
"departures": [
{
"line": {
"id": 8,
"number": "8",
"type": "DAY",
"subtype": "NORMAL",
"vehicle_type": "TRAM",
"on_demand": false,
"disruption": false,
"disruption_url": null
},
"trip": {
"service": "008-02",
"gtfs_id": "482487_POWS",
"start_date": "2026-06-23",
"headsign": {
"short": "Gumieńce",
"long": "Gumieńce"
},
"direction_id": 1,
"route_variant_number": 12,
"accessibility": "LOW_FLOOR",
"note": null
},
"departure_time": {
"scheduled": "2026-06-23T12:01:00.000000Z",
"estimated": "2026-06-23T12:00:51.000000Z",
"departing_now": true,
"real_time": true,
"canceled": false
},
"request_stop": false,
"vehicle": {
"id": 654,
"number": "822",
"model": "Pesa Swing 120NaS2",
"low_floor": true,
"ticket_machine": {
"cards": false,
"coins": true
},
"stuck": false
}
},
...
],
"messages": [
"Autobusy linii 53, 60 skierowane objazdem z pominięciem ul. Derdowskiego.",
"Linia 52 skrócona do przystanku SKM Port Centralny, Kanał Parnicki nieprzejezdny."
],
"updated_at": "2026-06-23T12:01:10.657534Z"
}
}- object
stop– obiekt zawierający informacje o przystanku- string
name– nazwa przystanku - string
number– numer przystanku
- string
- array
departures– tablica zawierająca listę najbliższych odjazdów z przystanku- object
line– obiekt zawierający informacje o linii komunikacji miejskiej- int
id– identyfikator linii (niezmienny) - string
number– oznaczenie (numer) linii (może ulegać zmianom) - string
type– typ linii:DAY– linia dziennaNIGHT– linia nocna
- string
subtype– podtyp linii:NORMAL– linia zwykłaSEMI_FAST– linia przyspieszonaFAST– linia pospiesznaREPLACEMENT– linia zastępczaADDITIONAL– linia dodatkowaSPECIAL– linia specjalnaTOURIST– linia turystyczna
- string
vehicle_type– rodzaj trakcji:SKM– pociąg SKMTRAM– tramwajBUS– autobus
- bool
on_demand– wartośćtrue, jeśli linia funkcjonuje w ramach systemu transportu na żądanie - bool
disruption– wartośćtrue, jeśli na linii występują zakłócenia - object|null
disruption_url– obiekt zawierający odnośniki do opisów zakłóceń (wartośćnull, jeśli wartość poladisruptionjest równafalse)- string
pl– odnośnik do szczegółowego opisu zakłóceń w języku polskim - string
en– odnośnik do szczegółowego opisu zakłóceń w języku angielskim - string
de– odnośnik do szczegółowego opisu zakłóceń w języku niemieckim - string
uk– odnośnik do szczegółowego opisu zakłóceń w języku ukraińskim
- string
- int
- object
trip– obiekt zawierający informacje o kursie- string
service– oznaczenie zadania (brygady) - string|null
gtfs_id– identyfikator kursu w statycznym rozkładzie jazdy GTFS (wartośćnull, gdy brak możliwości dopasowania) - string
start_date– data początkowa, stanowiąca punkt odniesienia dla kursu - object
headsign– obiekt zawierający nazwę kierunku- string
short– krótka nazwa kierunku (nazwa przystanku docelowego) - string
long– długa nazwa kierunku (oprócz nazwy przystanku docelowego może zawierać dodatkowe informacje)
- string
- int
direction_id– identyfikator kierunku (0oznacza kierunek TAM, a1– kierunek POWRÓT) - int
route_variant_number– numer trasy danej linii, na której realizowany jest kurs - string
accessibility– informacja o rodzaju pojazdu zaplanowanym dla kursu:HIGH_FLOOR– zaplanowany pojazd wysokopodłogowyLOW_FLOOR– zaplanowany pojazd niskopodłogowyLOW_FLOOR_POSSIBLE– możliwy pojazd niskopodłogowy
- object|null
note– obiekt zawierający dodatkowy opis kursu (wartośćnull, jeśli brak opisu)- string
pl– dodatkowy opis w języku polskim - string
en– dodatkowy opis w języku angielskim - string
de– dodatkowy opis w języku niemieckim - string
uk– dodatkowy opis w języku ukraińskim
- string
- string
- object
departure_time– obiekt zawierający informacje o czasie odjazdu- string
scheduled– zaplanowany czas odjazdu wynikający z rozkładu jazdy - string
estimated– przewidywany czas odjazdu oszacowany na podstawie punktualności pojazdu; w przypadku kursów, dla których niedostępne są informacje o punktualności, wartość polaestimatedjest równa wartości polascheduled - bool
departing_now– wartośćtrue, jeśli do przewidywanego czasu odjazdu pozostało poniżej 30 sekund lub pojazd znajduje się obecnie w obrębie przystanku (na tablicach przystankowych taki kurs oznaczany jest symbolem>>>) - bool
real_time– wartośćtrue, jeśli dla danego kursu dostępne są informacje aktualizowane na żywo - bool
canceled– wartośćtrue, jeśli dany kurs został odwołany
- string
- bool
request_stop– wartośćtrue, jeśli dla danego kursu przystanek jest przystankiem na żądanie - object|null
vehicle– obiekt zawierający informacje o pojeździe (wartośćnull, jeśli dla danego kursu nie są dostępne informacje aktualizowane na żywo)- int
id– identyfikator pojazdu - 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
- bool
stuck– wartośćtrue, jeśli pojazd nie porusza się (utknął) – możliwe powody to m.in. zator drogowy bądź awaria pojazdu
- int
- object
- Dodane array
messages– tablica zawierająca komunikaty tekstowe dla tablic przystankowych - string
updated_at– moment ostatniej aktualizacji danych
Informacje ogólne
- 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.
- 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.
- 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.
- 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.
- Klient powinien rozpoznawać i honorować nagłówki HTTP
Cache-ControliETag. - 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-Remainingzawiera liczbę żądań pozostałych w ramach dostępnego limitu. Po wyczerpaniu limitu zwracany jest kod odpowiedzi HTTP429. Nagłówek odpowiedziX-RateLimit-Resetzawiera wówczas uniksowy timestamp równy czasowi zresetowania limitu, a nagłówekRetry-Afterzawiera liczbę sekund pozostałych do zresetowania limitu. - 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). - 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
- Endpoint zmieniono na:
GET https://www.zditm.szczecin.pl/api/v2/departure-boards/{stopNumber}. - Nastąpiła całkowita zmiana struktury odpowiedzi – zapoznaj się z dokumentacją.
- Obsługiwany jest dodatkowo format CBOR (application/cbor) poprzez parametr
format=cbor.