Have something to add or change? Open a pull request or issue.
- Getting started
- Community
- Data
- APIs
- Agency Tools
- Hardware
- Apps
- Visualizations
- Resources
- GTFS
- GTFS Realtime
- SIRI
If this is your first time dealing with transit data, you might find these links useful:
- GTFS - A GTFS feed is a group of text files that contains infrequently changing transit data, like stops, routes, trips, and other schedule data. Transit agencies typically update their GTFS feed every few months.
- GTFS Realtime - GTFS Realtime consists of three binary files that contain realtime vehicle positions, realtime arrival information, and service alerts. Transit agencies typically update these files every minute.
- TransitFeeds - List of GTFS/GTFS-realtime data feeds from around the world. If you're trying to get realtime data for some agency, this is a good place to start.
Places to ask questions and find other community resources.
- TransitWiki - A community wiki for transit planners. Like this repo, but better.
- GTFS Slack chat
- Transit Developers mailing list
- OneBusAway
- Transitland - Community editable list of many transit agency GTFS datasets. Also provides an API to access the data as JSON/GeoJSON and a playground to try out the data.
- CapMetrics - Historical vehicle locations for Austin's transit agency (CapMetro). Data is collected by capmetricsd, a Go daemon.
- National Transit Database - Information and statistics on the transit systems of the United States, run by the Federal Transit Administration.
- TransitFeeds - List of GTFS and GTFS-RT feeds. Archives and validates the GTFS feeds and allows you to preview both GTFS and GTFS-RT through the browser.
- TransLoc OpenAPI - Real-time vehicle, route, stop, and arrival data for over 60 transit systems in the United States.
- GTFS Data Exchange - Used to be the definitive list of GTFS links. Shutdown in 2016. But 93G of data from 2008 to 2016 is available upon request.
- TIDES project - Transit ITS Data Exchange Specification (TIDES) is an effort to create standard data structures, APIs, and data management tools for historical transit ITS data including AVL, APC and AFC Data.
Software that provides an API to transit data.
- Navitia.io - REST API for journey planning, stop schedules, isocrhons and lot more on US and EU. Navitia is the opensource engine behind the live API.
- OneBusAway - A Java app that consumes GTFS and GTFS-Realtime (along with other formats) and turns them into an easy to use REST API.
- TransiTime - Java application that can consume raw vehicle positions and generate prediction times in formats such as GTFS-realtime.
- pyBikes - an API on worldwide bikeshare systems powering CityBikes
- OpenTripPlanner - An open source platform for multi-modal and multi-agency journey planning, as well as returning information about a multi-modal graph (using data sources such as GTFS and OpenStreetMap).
- Linked Connections - An open-source, scalable intermodal route planning engine, which allows clients to execute the route planning algorithm (as opposed to the server). Uses GTFS data.
Tools for transit agencies.
- Remix - A webapp that lets transit agencies easily plan routes.
- Next Train API - Serves any GTFS feed as a JSON API. Transit agencies and developers alike can deploy the open source code to their own Heroku server.
Experimental and production transit hardware.
- Bus Tracking GPS - Code for Miami prototype of a cheap open-source solution to track transit buses.
Apps people use when taking transit.
- TransitScreen - Custom realtime displays of all local transportation choices
- Instabus - Realtime map of Austin's (CapMetro) public transit. Has no server/backend dependency at all and runs completely on GitHub pages.
- Maryland MTA Real-time Vehicle Tracking
- OpenTripPlanner Client GWT - A Google Web Toolkit-based web interface for OpenTripPlanner
- OpenTripPlanner.js - A Javascript-based client for OpenTripPlanner
- GTFS-realtime Alerts Producer Web Application - A Java-based web application for producing GTFS-realtime Service Alerts.
- HRT BUS Web app - HRT Bus API publishes real time bus data from Hampton Roads Transit through an application programming interface for developers to make apps from it.
- Transit-Map - Web app that animates vehicles (markers) on a map using the public transport timetables to interpolate their positions along the routes (polylines).
- Bikeshare Map - Status of all worldwide bikeshare stations
- Bongo - Real-time Transit Tracking for Iowa City, Coralville and the University of Iowa. Awesome because it combines three disparate transit systems into one UI.
- Transitive.js - Creates a customizable web map layer of transit routes using Leaflet or D3.
- Brand New Subway - An interactive transportation planning game that lets players alter the NYC subway system to their heart's content.
- CityMapper Webapp - Really polished webapp with trip planner and route status for over 30 of cities.
- Google I/O Transport Tracker - Shows shuttle arrival times for Google I/O conference, based on the open-source transport-tracker project. Note: To implement this yourself, you need a Google Maps APIs Premium Plan license.
- YourStop - Mobile friendly web app which consumes GTFS feeds and displays both live and scheduled trips for stops. Launched with MBTA, YRT/Viva and Maryland MTA.
- OneBusAway Apps - Android (source code), Fire Phone (source code), iOS (source code), Windows Phone (source code), Windows 8 (source code), Google Glass GDK (source code)
- OpenTripPlanner Android - An Android app for OpenTripPlanner
- OpenTripPlanner iOS - An iOS app for OpenTripPlanner
- Transportr An Android app that uses public-transport-enabler in order to connect to many different transport networks worldwide.
- Next Train - Connecticut - A React-native mobile app for searching train schedules published by the Shore Line East transit agency in Connecticut. Relies on a deployment of the Next Train API.
- ally
- Transit
- CityMapper
- Moovit
- Tiramisu Transit
- TransLoc Rider - Real-time transit maps for over 100 transit systems.
- Transit Display - Multimodal and real-time transit display software.
- Visualizing MBTA Data - Interactive graphs that show how people use Boston's subway system.
- MIT COAXS - Co-creative Planning of Transit Corridors using Accessibility-Based Stakeholder Engagement (shows route scenarios using OpenTripPlanner Analyst).
- TRAVIC Transit Visualization Client - Visualizes vehicles moving based on static GTFS data (and sometimes realtime data). Supports over 260 cities. Github account for geOps organization is here.
- Muni, this moment - Realtime map of all the buses in San Francisco.
- MTA Frequency - Frequency visualization of subways and buses in New York City built using Transitland.
- Veridict LiveMap - Millions of individually tracked public transport units across the entire world. Based on a number of sources, including GTFS and GTFS-RT.
- Graphs in Transit - Graph centrality metrics displayed over rapid transit networks for New York City, Boston, and Paris.
- SEPTA Rail OTP Report - An online on-time performance reporing & drill down tool using GTFS.
- TransitFlow Animate GTFS data around the world using Processing and Transitland.
- When(ish) is my bus? User-centered Visualizations of Uncertainty in Everyday, Mobile Predictive Systems - Paper that does an amazing job answering the question of how do we communicate uncertainty in transit predictions? The paper explains the problem, existing solutions and designs a better interface for letting users know when to arrive at the bus stop.
- When(ish) is my bus? Data and code - The data and code (R) behind Whenish is my bus? Data includes three days of historical vehicle positions and the survey results.
- "Legacy AVL system? It's okay, join the club." by Kurt Raschke - Good discussion of options for transforming legacy AVL system data into the GTFS-realtime format.
- APTA Policy Development and Research - Public Transportation Embracing Open Data - APTA's discussion of the benefits and challenges of open transit data (a short summary of the below TCRP report).
- TCRP Synthesis 115 - Open Data: Challenges and Opportunities for Transit Agencies - A comprehensive report looking at the benefits and challenges of open transit data.
- "What's new in GTFS-realtime v2.0" by Sean Barbeau - Discuss the shortfalls in GTFS-realtime v1.0 and the improvements in v2.0.
- GTFS Spec - Specification for the General Transit Data Feed, or GTFS.
- GTFS Best Practices - Best practices for producers of a GTFS feed.
Software that makes it easy to consume GTFS data in a variety of languages.
- Mapzen GTFS - A Python GTFS library that supports reading individual GTFS tables, or constructing a graph to represent each agency in a feed.
- gtfsdb - Python library for converting GTFS files into a relational database.
- OneBusAway GTFS Modules - A Java-based library for reading, writing, and transforming public transit data in the GTFS format, including database support.
- GTFS to SQL - Parses a GTFS feed into an SQL database (used in TransitFeeds.com)
- SQL to GTFS - Convert an SQLite file generated with "GtfsToSql" back to a zipped GTFS file.
- Go GTFS Parser - A GTFS parsing library for Go
- GTFS Feed Parser - .Net/Mono implementation of a GTFS parser
- Node-GTFS - Loads transit data from GTFS Data Exchange, unzips it and stores it to a MongoDB database and provides some methods to query for agencies, routes, stops and times.
- GTFS-viz - Ruby script that converts a set of GTFS files into a SQLite database + GeoJSONs (needed by the Transit Map web application)
- gtfs-sequelize - Node.js library modeling the static GTFS using sequelize.js.
- gtfslib-python - An open source library in python for reading GTFS files and computing various stats and indicators about Public Transport networks.
- multigtfs - A Django application to import and export GTFS
- GTFSTK - A Python 3 toolkit for analyzing GTFS data in memory. Uses Pandas and Shapely for speed.
- gtfs-schema - PostgreSQL schema for GTFS feeds.
- partridge - A fast, forgiving Python GTFS reader built on pandas DataFrames.
Converters from various static schedule formats to and from GTFS.
- Transmodel and IFF to GTFS - Imports and syncs (Transmodel) BISON Koppelvlak1, IFF (a format written by HP/EDS, somewhat similiar to ATCO CIF) to import timetables of the railway networks. The internal pseudo-NETeX datastructure allows to export to GTFS and there are proof-of-concepts to export to other formats such as NETeX, GTFS and IFF.
- Open-Transport SYNTHESE Convertors - Converts French-Transmodel, SIRI, NETeX, HAFAS, HASTUS, VDV452, and more.
- Chouette - Converts French-Transmodel, SIRI, NETeX. See Chouette.mobi website for more info.
- osm2gtfs - Turn OpenStreetMap data and schedule information into GTFS.
- GTFS-OSM-Sync - A Java tool for synchronizing data in GTFS format with OpenStreetMap.org.
- onebusaway-gtfs-to-barefoot - A Java tool to create a Barefoot mapfile from a GTFS file.
- osmtogtfs - Python 3 script that exports GTFS feed from OpenStreetMap data.
- bus-router - Python script that generates missing shapes.txt for GTFS using routing from Google Maps Directions API or OSRM.
- GTFS Editor A (self-hosted) web-based GTFS editing framework.
- GTFS Editor for Vagrant Quickly set up the GTFS editor (above) using Vagrant
- TransitWand - An open source web and mobile application for collecting transit data. Use it to create GTFS feeds, capture passenger counts or generate GIS datasets.
- Gtfs Data Manager - A workflow tool for managing large amounts of GTFS data and importing them into OpenTripPlanner.
- GTFS.html - An entirely browser-based tool to view GTFS feeds. Use it to view routes, stops, timetables, etc.
- feedValidator - Google supported Python-based GTFS validator.
- gtfs-validator - A GTFS validator based on the OneBusAway GTFS Modules, runs in Java and is faster than the Google provided one.
- gtfs-lib - Conveyal's successor to gtfs-validator, a library for loading and saving GTFS feeds of arbitrary size with disk-backed storage.
- GTFS Data Package Specification - A Data Package specification with validation accomplished with Good Tables. Includes a data package, schemas, tests, and uses South East Queensland GTFS data as an example.
- Web GTFS Meta-Validator (hosted by Omni) - A web-based GTFS validator that runs both feedValidator and gtfs-validator on uploaded GTFS files.
- GTFS-realtime documentation
- GTFS-realtime Autodoc - Automatically generated documentation for GTFS-realtime, generated from the official GTFS-realtime protocol buffer specification and including some extensions.
- gtfs-realtime-bindings - The official bindings for Java, .NET, Node.js, Python, and Ruby generated from the official GTFS-realtime protocol buffer specification.
- GTFS-realtime Exporter - A Java-based tool that assists in producing and sharing a GTFS-relatime feed.
- GTFS-realtime Alerts Producer Demo - A Java-based demo project for producing GTFS-realtime Service Alerts.
- GTFS-realtime Alerts Producer Web Application - A Java-based web application for producing GTFS-realtime Service Alerts.
- GTFS-realtime TripUpdates & VehiclePositions Producer Demo - A Java-based demo project for producing GTFS-realtime TripUpdates (estimated arrivals) and Vehicle Positions.
- GTFS-realtime Vehicle Positions Consumer/Visualizer Demo - A Java-based demo project for consuming a GTFS-realtime Vehicle Positions feed and displaying this info on a map.
- gtfs-realtime-validator - A GTFS-realtime validation tool developed by the Center for Urban Transportation Research at the University of South Florida. Also includes an integrated version of the gtfs-validator tool.
- Web gtfs-realtime-validator (hosted by TransitScreen) - A hosted version of the gtfs-realtime-validator.
- GTFS-realtime to SQL - Parses a GTFS-RealTime feed into an SQL database (used in TransitFeeds.com)
- gtfsrdb - A Python tool that supports reading and archiving GTFS-realtime feeds into a database
- SIRI to GTFS-realtime - A Java-based command-line utility to convert from the SIRI format to GTFS-realtime
- OrbCAD SQL Server to GTFS-realtime - A Java-based command-line utility that extracts vehicle positions and trip updates information from an OrbCAD SQL Server and exports them to the GTFS-realtime TripUpdates and VehiclePositions formats.
- NextBus API to GTFS-realtime - A Java-based command-line utility to convert from the NextBus API format to GTFS-realtime. Note that NextBus now directly offers a GTFS-realtime API for their products. See Cubic site and this FAQ.
- Syncromatics API to GTFS-realtime - A Java-based command-line utility to convert from the Syncromatics API format to GTFS-realtime TripUpdates and VehiclePositons.
- KV6,15,17, and ARNU to GTFS-realtime - Java-based tool to process incoming KV6,15,17 and ARNU and match them to static transit data present in a RID integration database. It then proceeds to export this data as ARNU RITinfo, GTFS(realtime) and KV78turbo
- WMATA BusPositions API to GTFS-realtime - Java-based tool to convert from WMATA's BusPositions API and Alert RSS feeds from MetroAlerts to GTFS-realtime TripUpdates, VehiclePositions, and Alerts feeds.
- SEPTA API to GTFS-realtime - Java-based tool to convert SEPTA's real-time bus and rail data to GTFS-realtime
- CTA API to GTFS-realtime - Java-based tool to convert CTA's Train Tracker data to GTFS-realtime.
- Detroit DOT to GTFS-realtime - Extract real-time info from DDOT's TransitMaster installation (database) and convert to GTFS-realtime
- Live Transit Event Trigger - Extracts data from Ride On's OrbCAD database and export as GTFS-realtime.
- SoundTransit to GTFS-realtime - Convert text file feed from Sound Transit to GTFS-realtime
- Civic Transit - Screen-scrapes KCATA’s TransitMaster WebWatch installation to produce a GTFS-realtime feed.
- gtfs-rt-dump - Converts protocol buffer format to plain text for easy viewing of a GTFS-realtime feed in plain text (for debugging purposes)
- GTFS-realtime Munin Plugin - Provides a Munin plugin for logging information about a GTFS-realtime feed.
- GTFS-realtime Nagio Plugin - Provides a Nagios plugin for monitoring a GTFS-realtime feed
- GTFS-realtime-test-service - A tool for mocking GTFS-realtime feed content (e.g., for use in testing a GTFS-realtime consuming application)
- SIRI API - Java classes generated from the v1.0 and v1.3 SIRI schemas.
- SIRI 2.0 API - Java classes generated from the v2.0 SIRI schemas.
- SIRI to GTFS-realtime - A Java-based command-line utility to convert from the SIRI format to GTFS-realtime.
- SIRI 2.0 Autodoc - Automatically generated documentation from the (incredibly well) annotated SIRI 2.0 Schema Definition.
- King County Metro Legacy AVL to SIRI - Java-based tool to convert King County Metro's Legacy AVL format to SIRI.
- SIRI REST Client - An open-source Android library for interacting with the RESTful SIRI interface for real-time transit data, such as that currently being used by the MTA Bus Time API.
- SIRI 1.3 POJOs (Android-compatible) - Android-compatible Plain Old Java Objects (POJOSs) used for data binding (deserliazing XML/JSON) responses for SIRI v1.3 APIs. Used by the SIRI REST Client.
To the extent possible under law, Luqmaan Dawoodjee has waived all copyright and related or neighboring rights to this work.