Wrocław MPK (tram and buses) historical, geolocation data

Data example

Since September 2019, microsecond part is omitted:

Data format

Each contains 6 columns (cells) separated by ; (semicolon), each cell representing:

  1. API call time as UTC (you need to convert it to local Wrocław time on your side)
  2. Line type (bus or tram)
  3. Bus/tram line number
  4. Bus/tram unit identifier
  5. Latitude (N/S) in given time
  6. Longitude (E/W) in given time

Data quality

Data is stored daily as a zipped CSV file, each line representing position of a single tram/bus unit in given time

The API is called each 15 seconds and the response is translated directly into CSV format, without any attempt to validate or clean up the data

There might be missing measures for few minutes here and there, as infrastructure collecting the data is self-hosted and requires occasional maintenance


Since May 2019, I've been collecting nearly-real-time geolocation data of Wrocław trams and buses using MPK public API

Here you can download the data and do something helpful to society with it :)

For ideas, discussions or suggestions, please contact me at emkor93@gmail.com

Source code and setup

The hardware is Raspberry Pi running in my local LAN

RPi runs simple script that utilizes my MPK API client


Data is hosted on Backblaze's B2 Cloud Storage service, and since I'm using cheap plan, daily download is capped at 2GB.

It means that if Backblaze cancels your download, please try again the other day.


Please wait while file list is being retrieved from B2...