Otwarte dane

Rozkłady (GTFS) i dane na żywo (GTFS-RT) 11 miast w takiej postaci, w jakiej pokazuje je mapa: dla aplikacji, portali i analiz. Bez klucza i bez rejestracji.

Katalog plików (JSON)

Co udostępniamy

  • Rozkład jazdy każdego miasta jako jeden plik GTFS (ZIP), budowany na nowo po każdej zmianie rozkładu.
  • Pozycje pojazdów (VehiclePositions) i opóźnienia (TripUpdates) w GTFS-RT, z tymi samymi identyfikatorami co w pliku GTFS.
  • Katalog wszystkich plików w JSON: adresy, wersja, rozmiar, daty ważności i źródło pozycji.
  • Planer podróży z przesiadkami: połączenia między dwoma punktami według rozkładu.

Miasta i pliki

Daty ważności i rozmiary plików są w katalogu JSON.

GPS: pozycje z danych przewoźnika na żywo. Według rozkładu: położenie wyznaczone z rozkładu jazdy, bez GPS. Tylko pociągi: miasto nie publikuje opóźnień, są tylko opóźnienia pociągów regionalnych.

Jak pobierać

Katalog wszystkich plików

curl -s https://api.przesiadka.com/open/v1/feeds

Plik GTFS tylko wtedy, gdy się zmienił

Odpowiedź ma nagłówek ETag (to samo co feed_version w feed_info.txt). Wyślij go w If-None-Match: bez zmian dostaniesz 304 i nic nie pobierzesz.

curl -sI https://api.przesiadka.com/open/v1/feeds/poznan/gtfs.zip
curl -s -o poznan.zip -w '%{http_code}\n' -H 'If-None-Match: "<ETag>"' https://api.przesiadka.com/open/v1/feeds/poznan/gtfs.zip

Pozycje pojazdów i opóźnienia

Pliki protobuf GTFS-RT (FULL_DATASET), np. do odczytu biblioteką gtfs-realtime-bindings. Pobieraj nie częściej, niż mówi nagłówek Cache-Control.

curl -s -o vehicle-positions.pb https://api.przesiadka.com/open/v1/feeds/poznan/vehicle-positions.pb

Planer podróży

Połączenia między dwoma punktami według rozkładu, z przesiadkami i dojściami pieszymi: do czterech propozycji, każda z odcinkami pieszymi i przejazdami (linia, kierunek, przystanki, czasy w sekundach Unix i przebieg na mapie).

ParametrZnaczenie
fromLat, fromLonPoczątek: szerokość i długość geograficzna (WGS84).
toLat, toLonCel.
departAtOdjazd nie wcześniej niż, w sekundach Unix. Domyślnie teraz.
arriveByPrzyjazd najpóźniej o, w sekundach Unix, zamiast departAt.
datasetIdMiasto (np. krakow). Domyślnie to, w którego obszarze leżą oba punkty.
curl -s 'https://api.przesiadka.com/open/v1/journeys?fromLat=52.4064&fromLon=16.9252&toLat=52.4010&toLon=16.9530'

Limity

Bez klucza limity liczymy dla adresu IP, z kluczem dla klucza. Po ich przekroczeniu odpowiedź to 429 z nagłówkiem Retry-After; każda odpowiedź ma nagłówki X-RateLimit-Limit, -Remaining i -Reset.

Adres i co zwracaBez kluczaZ kluczemJak często
/open/v1/feedsKatalog: wszystkie miasta, adresy plików, wersja, rozmiar, daty ważności, źródła.60 na godzinę600 na godzinęWystarczy co kilka minut.
/open/v1/feeds/{miasto}/gtfs.zipRozkład miasta w GTFS.30 na godzinę300 na godzinęWysyłaj If-None-Match z ETag: bez zmian odpowiedź 304 bez pliku.
/open/v1/feeds/{miasto}/vehicle-positions.pbPozycje pojazdów, GTFS-RT VehiclePositions.60 na minutę600 na minutęNie częściej niż Cache-Control: max-age (3 s w Poznaniu, 10 s w pozostałych miastach).
/open/v1/feeds/{miasto}/trip-updates.pbOpóźnienia, GTFS-RT TripUpdates.60 na minutę600 na minutęJak wyżej.
/open/v1/journeysPlaner podróży.10 na dobę1000 na dobęJedno zapytanie to jedno wyszukanie połączeń.

Pełny opis odpowiedzi: dokumentacja API (OpenAPI: openapi.json, sekcja open-data).

Klucz API

Bez klucza dane są do wypróbowania: limity są małe, bo serwer jest mały. Aplikacji, portalowi albo analizie, która potrzebuje więcej, dajemy bezpłatny klucz API.

Klucz wysyłasz w nagłówku X-API-Key. Limity liczą się wtedy dla klucza, a nie dla adresu IP, więc działa z każdego serwera. Nieznany klucz to odpowiedź 401.

Poproś o klucz

Aplikacja, serwis albo Ty.

Do czego potrzebujesz danych i mniej więcej ile zapytań.

Zapisujemy nazwę, e-mail i wiadomość tylko po to, żeby odpowiedzieć i wydać klucz; usuwamy je po roku.

curl -s -H 'X-API-Key: <klucz>' 'https://api.przesiadka.com/open/v1/journeys?fromLat=52.4064&fromLon=16.9252&toLat=52.4010&toLon=16.9530'

Co jest w danych

  • Jedno miasto to jeden plik: części od kilku organizatorów są scalone (Kraków: autobusy i tramwaje MPK oraz Mobilis, Trójmiasto: ZTM w Gdańsku i ZKM w Gdyni, Warszawa: ZTM i WKD), a przystanek, który obie części opisują osobno, jest jednym przystankiem.
  • Pociągi regionalne (m.in. Polregio, Koleje Wielkopolskie, Koleje Śląskie, Koleje Mazowieckie, SKM, ŁKA) są w pliku miasta: każdy pociąg zatrzymujący się w jego obszarze, z całą trasą. Stacja to jeden przystanek, a linia dwóch przewoźników (np. PKM1, SKA2) to jedna linia. Pociągów dalekobieżnych nie ma.
  • Poprawki przy imporcie: kierunek kursu z nazwy ostatniego przystanku tam, gdzie go brak (Gorzów Wielkopolski, Częstochowa), numer linii z długiej nazwy (Białystok), podstawowe typy tras zamiast rozszerzonych (Trójmiasto) i własny kolor linii WKD, który w danych miał 163 linie autobusowe (Warszawa).
  • Identyfikatory części mają prefiksy (t:, m:, gdy:, wkd:, kol:), także w GTFS-RT, a przystanki dołączone do innego przystanku mają w GTFS-RT jego identyfikator: pozycje i opóźnienia pasują do pliku GTFS bez żadnych przeliczeń.

Czego w danych nie ma

  • Warszawa, Kraków i Trójmiasto: plik obejmuje dni od wczoraj do jutra, bo tyle trzyma serwer. Katowice: rozkład na dziś (ZTM GZM publikuje plik na każdy dzień). Po dłuższy horyzont sięgnij do plików organizatorów.
  • W Białymstoku, Częstochowie, Gorzowie Wielkopolskim, Bochni i Wałbrzychu pozycje pojazdów wyznacza rozkład jazdy, nie GPS: katalog podaje wtedy source „schedule”, a odpowiedź nagłówek X-Position-Source: schedule. Pociągi, metro, WKD i autobusy Gdyni, które mapa pokazuje według rozkładu obok pojazdów z GPS, nie trafiają do pozycji pojazdów.
  • Opóźnienia (TripUpdates) to dane przewoźników i PKP PLK (przez mkuran.pl) bez naszych przeliczeń.
  • Plik nie zawiera przesiadek (transfers.txt), taryf, ścieżek na stacjach, poziomów ani tłumaczeń. Metro w Warszawie jest w postaci pojedynczych kursów zamiast frequencies.txt.

Licencje i atrybucja

Pliki to dane przewoźników i organizatorów transportu, przetworzone przez Przesiadka.com: scalone części, połączone wspólne przystanki, prefiksy w identyfikatorach, pociągi regionalne wycięte dla obszaru miasta i poprawki opisane wyżej. Nie nadajemy im własnej licencji i nie dokładamy ograniczeń: każde miasto jest na warunkach swoich źródeł z tabeli.

Większość źródeł prosi o to samo, co pozwala zastrzec ustawa o otwartych danych (art. 15): podanie źródła, czasu wytworzenia i pozyskania danych oraz informacji, że zostały przetworzone. Źródła na licencji CC BY 4.0 wymagają też podania licencji i zaznaczenia zmian.

ŹródłoDaneWarunkiJak podać źródło
ZTM PoznańPoznań: GTFS, GTFS-RTZasady korzystania z treści ZTM w Poznaniu: bezpłatnie i bez wniosku, bez logo Miasta Poznania i ZTM.Zarząd Transportu Miejskiego w Poznaniu (ztm.poznan.pl/otwarte-dane), data ostatniej aktualizacji, informacja o przetworzeniu.
Miasto Stołeczne Warszawa, ZTM WarszawaWarszawa: GTFS i pozycje pojazdów (przez mkuran.pl)Warunki korzystania z danych ZTM Warszawa i z otwartych danych Warszawy: dozwolone udostępnianie przetworzonych danych, pod warunkiem ich aktualności. Przebiegi autobusów pochodzą z OpenStreetMap: licencja ODbL.ZTM Warszawa; Miasto Stołeczne Warszawa (api.um.warszawa.pl) z czasem pobrania pozycji (nagłówek GTFS-RT); GTFS: Mikołaj Kuranowski (mkuran.pl); © autorzy OpenStreetMap; informacja o przetworzeniu.
Mikołaj Kuranowski (mkuran.pl): WKDWarszawa: WKDCC0 1.0.Nie wymaga; podajemy: WKD, GTFS: Mikołaj Kuranowski.
Zarząd Transportu Publicznego w KrakowieKraków: GTFS, GTFS-RT (MPK, Mobilis)CC BY 4.0.Zarząd Transportu Publicznego w Krakowie, licencja CC BY 4.0, informacja o zmianach.
Miasto ŁódźŁódź: GTFS, GTFS-RTDo potwierdzenia: przy plikach nie ma nazwy licencji; portal otwarte.miasto.lodz.pl mówi o licencji otwartej, także do celów komercyjnych, z obowiązkiem podania źródła.Miasto Łódź (otwarte.miasto.lodz.pl).
Zarząd Transportu Miejskiego w GdańskuTrójmiasto: GTFS, GTFS-RT GdańskaCC BY i regulamin portalu Otwarte Dane Gdańsk: dane trzeba utrzymywać aktualne.Zarząd Transportu Miejskiego w Gdańsku, http://www.ztm.gda.pl/otwarty_ztm, data wytworzenia i pozyskania.
Zarząd Dróg i Zieleni w GdyniTrójmiasto: GTFS Gdyni (ZKM)Creative Commons Attribution (CC BY).Zarząd Dróg i Zieleni w Gdyni, licencja CC BY, informacja o zmianach.
Zarząd Transportu MetropolitalnegoKatowice i Metropolia GZM: GTFS, GTFS-RTCC BY 4.0.Zarząd Transportu Metropolitalnego, licencja CC BY 4.0, informacja o zmianach.
Zarząd Białostockiej Komunikacji MiejskiejBiałystok: GTFSDo potwierdzenia: strona danych nie podaje warunków, a ogólne warunki Miasta Białegostoku zastrzegają, że pozyskanej treści nie można modyfikować.Prezydent Miasta Białegostoku, data wytworzenia lub pozyskania.
MZK Gorzów WielkopolskiGorzów Wielkopolski: GTFS (przez mkuran.pl)CC0 1.0 (mkuran.pl); MZK nie podaje warunków.MZK Gorzów Wielkopolski, GTFS: Mikołaj Kuranowski (mkuran.pl).
MPK Częstochowa, RPK Bochnia, MZUK WałbrzychCzęstochowa, Bochnia, Wałbrzych: GTFS (przez Otwarte Dane Transportowe)–Przewoźnik miasta, GTFS: Otwarte Dane Transportowe (odt.org.pl).
PKP Polskie Linie Kolejowe S.A., Koleje MazowieckiePociągi regionalne we wszystkich miastach: rozkład i opóźnienia (przez mkuran.pl)Warunki ponownego wykorzystywania PKP PLK i Kolei Mazowieckich; dane mają charakter informacyjny. Opóźnienia od mkuran.pl: CC BY 4.0.PKP Polskie Linie Kolejowe S.A., Koleje Mazowieckie, czas wytworzenia i pozyskania, informacja o przetworzeniu; GTFS: Mikołaj Kuranowski (mkuran.pl), opóźnienia na licencji CC BY 4.0.

Jeśli korzystasz z tych danych

  • Podaj źródła miasta z tabeli i informację, że dane przetworzył Przesiadka.com (i Ty, jeśli przetwarzasz je dalej). Czas wytworzenia pliku podaje nagłówek Last-Modified i katalog (dataUpdatedAt), czas pozyskania to chwila pobrania; w GTFS-RT jest to znacznik czasu w nagłówku feedu.
  • Nie dokładaj ograniczeń do danych na licencji CC BY i nie sugeruj, że przewoźnicy lub organizatorzy popierają Twoją usługę. Nie używaj ich logo.
  • Przebiegi autobusów w pliku Warszawy (shapes.txt) pochodzą z OpenStreetMap i są na licencji ODbL: udostępniając je dalej, zachowaj ODbL i podpis „© autorzy OpenStreetMap”.
  • Utrzymuj dane aktualne (wymagają tego ZTM Warszawa i ZTM w Gdańsku): pobieraj plik ponownie, gdy zmieni się ETag.
  • Dane mają charakter informacyjny i są udostępniane bez gwarancji. Za błędy powstałe przy naszym przetwarzaniu odpowiada Przesiadka.com, nie przewoźnik.
  • Oryginalne pliki źródeł są w katalogu, w polu sources każdego miasta.