This website was created by Kyle Barron. The code to generate this website is on Github

Frequently Asked Questions

Why are some routes long straight lines?

Some transit data providers don't include the actual geometries that a route travels, and only give the points where a stop occurs. This means that there's no way to reliably guess how the transit vehicle travels between the two points, and so it shows up in the data as a straight line.

How does it work?

I have a blog post here that goes into more detail about the behind-the-scenes work that makes everything work.

Download the data

The Transitland database currently doesn't offer bulk downloads, so it takes a while to download data for the entire planet at 60 requests per minute. Below are download links for the data I use in this website. All data files were collected in February 2020. For more information about how to use the data files, consult the Transitland documentation.

Operators (4 MB)
A transit agency that offers services to the general public along fixed routes.
Routes (200 MB)
All information about a single transit service as defined by the transit agency. A route may have forks and thus may not be a single continuous line.
Route Stop Patterns (450 MB)
Routes split into individual linear geometries.
Stops (100 MB)
Each point along a Route or Route Stop Pattern where passengers may get on or off.
Schedule Stop Pairs (4.8 GB)
Active schedules for the continental U.S. only.

Notice a missing transit feed?

This website uses data from the Transitland database, which combines General Transit Feed Specification (GTFS) feeds into a single database. They have a process for adding a new GTFS feed to their database. Read their documentation here for more information.


This project wouldn't be possible without the hard work of those working on the Transitland database and the transit agencies who release their data to the public.

Attribution statements are auto-generated from the license information in the Transitland database. As such, the following is very messy, but is an attempt at displaying attribution statements for all providers who require one.

Loading attribution data