Have something to add or change? Open a pull request or issue at CUTR-at-USF/awesome-transit.
- Getting started
- Community
- Data
- Software for Creating APIs
- Agency Tools
- Hardware
- Apps
- SDKs
- Visualizations
- GTFS
- GTFS Realtime
- SIRI
- Other multimodal data formats
- Resources
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.
- World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
- Open Transit Data Toolkit - A series of lessons to help people utilize open transit data.
- MBTA GTFS Onboarding - An interactive tutorial created by MBTA for GTFS static. A stand-alone Docker image is available on GitHub as well as a hosted/no-install version of the Jupyter notebook.
Places to ask questions and find other community resources.
- German Open Transport Meetup - You can participate in a biweekly meetup of the German-speaking open transport community.
- OpenTripPlanner Community
- TransitWiki - A community wiki for transit planners. Like this repo, but better.
- MobilityData Slack chat
- Transit Developers mailing list
- OneBusAway
- Transit Techies NYC - NYC-based meetup for those interested in this repo. Speaker list includes many contributors to this repo.
Places to access collections of GTFS and other transit and multimodal data
GTFS Data Exchange(Deprecated) - Formerly the definitive directory of GTFS feed URLs. Shutdown in 2016. But 93 GB of data from 2008 to 2016 is available upon request.OpenMobilityData(Deprecated) - 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. Formerly TransitFeeds.com. MobilityData announced it is end-of-life as of early 2022 with a shutdown date to be determined.- The Mobility Database - JSON and CSV files on GitHub that is a repository of 1300+ mobility datasets across the world. Contains contents of OpenMobilityData/TransitFeeds.com.
- TransitData.io - A list of GTFS data in parts of Latin America. Must contact website maintainers directly to access feeds, as they're not publicly available.
- 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 (USA) - Information and statistics on the transit systems of the United States, run by the Federal Transit Administration.
- Transport (France) - GTFS datasets for French transit systems.
- European long-distance transport operators (EU) (Unofficial) - Unofficial list of available API endpoints, GTFS feeds and client libraries
- Transport API - REST API for aggregated transit data for the United Kingdom. Fee-based access.
- TransLoc OpenAPI - REST API for real-time vehicle, route, stop, and arrival data for over 60 transit systems in the United States that have purchased TransLoc's AVL hardware and software.
- NextBus API - REST API for real-time vehicle, route, stop, and arrival data for agencies that have puchased NextBus's hardware and/or software.
- 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.
- CityBikes - REST API for aggregated bikeshare data from around the world. Powered by pyBikes.
- HAFAS – Propriety public transport management software by HaCon (list of endpoints)
- Citymapper API - REST API for transit journey planning, realtime transit data and walk, cycle, scooter travel times.
- Citylines.co - A collaborative platform for mapping transit systems, with an emphasis on their historical evolution. The data can be downloaded as GeoJSON or CSV from citylines.co/data.
- OpenStreetMap (OSM) - The collaborative platform for mapping the world, including transport, transit, and routing data.
- GTFS-Hub - Community tested, probably quality/content enhanced, partially merged or filtered GTFS-feeds of (currently German) transport agencies. Maintained by MITFAHR|DE|ZENTRALE.
- sample-gtfs-feed - An imaginary GTFS data set used for testing.
- transitfeed unit tests - Test data created for the original Google Python GTFS validator.
- Transitland GTFS and GTFS Realtime unit tests - For testing the transitland-lib library that handles GTFS and GTFS Realtime parsing and validation for Transitland:
- gtfs-realtime-validator unit tests - Some GTFS datasets (zip files) are included and a large number of GTFS RT messages are defined programmatically in Java via the gtfs-realtime-bindings library.
- OpenTripPlanner unit tests - Some GTFS datasets are defined for the unit tests (GtfsTest and mmri folder).
Software that you can set up to provide an API to transit and multimodal data.
- GraphHopper Routing Engine Open source routing engine for OpenStreetMap. Use it as Java library or server.
- gtfs-server - A web server, written in Rust that uses PostGIS as a backend to serve GTFS data via a HTTP endpoint
- hafas-rest-api – Expose a HAFAS endpoint as a REST API.
- 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.
- MOTIS - Multi Objective Travel Information System, written in C++ and Java. Can consume schedule timetables in the GTFS or HAFAS format as well as real time information in the GTFS-RT (and RISML, a propriatary format at Deutsche Bahn) as input data. For pedestrian routing (handled by Per Pedes Routing) and car routing (handled by OSRM) OpenStreetMap data is used.
- Navitia is the opensource engine behind the Navitia.io 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.
- 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).
- pyBikes - Software powering CityBikes for worldwide bikeshare system info
- TransitClock - Java application that can consume raw vehicle positions and generate prediction times in formats such as GTFS-realtime. Formerly known as "Transitime".
- TransiCast - Provides public transportation data for North America in a single, integrated call and response format. The data is provided in stream-parsable XML and JSON formats. Open-source on Google Code. Hosted version at www.transitcast.com requires payment.
Tools for transit agencies. See also GTFS Data Collection and Maintenance Tools for tools specific to GTFS.
- Remix - A webapp that lets transit agencies easily plan routes.
- AC Transit RestroomFinder - Pinpoints the nearest authorized restroom for bus operator and field staff, using GPS and on-screen map.
- AC Transit Training and Education Department (TED) application - This application supports the District's training operations for transportation and maintenance employees, primarily in the positions of Bus Operators and Heavy Duty Coach Mechanics (Apprentice and Journey), although the system supports new courses and apprenticeship programs.
- AC Transit Customer Relations application (CusRel) - Public transit ticketing system for customer issues and feedback with: inter-departmental routing with notifications, department/person assigments, simple workflow, ticket searching, pre-canned reports, daily reminders and more.
- TransAM - An open-source asset management platform for public transportation agencies. Open-source on Github.
- RidePilot - An open-source Computer Aided Scheduling and Dispatch (CASD) software system to meet the needs of small scale human service transportation agencies (for more info see Cambridge Systematics's marketing site).
- TNExT - Transit Network Explorer Tool (TNExT) is a web-based software tool developed for the visualization, analysis, and reporting of regional and statewide transit networks in the state of Oregon.
- Route Trends (webapp, GitHub) - An R Shiny app to ingest ridership time series, and return seasonal, trend, and residual components according to STL methodology and forecasts including uncertainty based on those components. Sponsored by Metro Transit (Minneapolis-St. Paul).
- TBEST - TBEST (Transit Boardings Estimation and Simulation Tool) is an effort to develop a multi-faceted GIS-based modeling, planning and analysis tool which integrates socio-economic, land use, and transit network data into a platform for scenario-based transit ridership estimation and analysis. Funded by the Florida Department of Transportation. Free to use but not open-source.
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.
- Instabus - Realtime map of Austin's (CapMetro) public transit. Has no server/backend dependency at all and runs completely on GitHub pages.
- OpenTripPlanner Client GWT - A Google Web Toolkit-based web interface for OpenTripPlanner
- OpenTripPlanner.js - A Javascript-based client for OpenTripPlanner (no longer under development)
- OTP-UI React Component Library - React Javascript component library, which can be used to build trip planner webapps. See the Storybook for a demo.
- 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).
- Transitive.js - Creates a customizable web map layer of transit routes using Leaflet or D3.
- 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.
- 1-Click - A virtual “trip aggregator” that assembles information on a wide variety of available modes: public transit, private, rail, rideshare, carpool, volunteer, paratransit, and walking and biking. Open-source on GitHub.
- Bustime - Public transport real-time monitoring with WebSocket updates. Open-source on GitHub.
- Transit Tracker - Realtime vehicle position for Greater Montreal & Toronto, Canada
- GTFS Builder - A free web-based application to help you create GTFS files. Maintained by the National Rural Transit Assistance Program (RTAP).
- Dede - An independent and universal passenger information system (PIS) mapping realtime movement. A message feed with Vehicle Position entities in the GTFS-Realtime format or the Dede app can be used as data source.
- MBTA tile-server - Scripts to create a Docker container that encapsulates all the elements necessary to develop map tiles for use on MBTA.com
- Tiramisu Transit - An adaptive mobile transit app that shows real-time bus arrival information developed and deployed by Carnegie Mellon University. No longer maintained.
- TransitScreen - Custom realtime displays of all local transportation choices
- Citylines.co - A collaborative platform for mapping transit systems, with an emphasis on their historical evolution.
- Bikeshare Map - Status of all worldwide bikeshare stations
- Bongo - Real-time Transit Tracking for Iowa City, Coralville and the University of Iowa. Combines three disparate transit systems into one UI.
- 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.
- 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.
- DC MetroHero - Realtime vehicle position and arrivals and departure information for the Washington, D.C. region's WMATA Metrorail and Metrobus systems. WebApp, Android, and iOS apps avaliable.
- 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), Alexa skill (source code)
- OpenTripPlanner Android - An Android app for OpenTripPlanner
- OpenTripPlanner iOS - An iOS app for OpenTripPlanner
- opentripplanner-client-library - A Kotlin Multiplatform library for making API requests and parsing responses from an OpenTripPlanner v2 server for trip plans, bike rental info, and server metadata for Android, iOS, and web.
- Transportr An Android app that uses public-transport-enabler in order to connect to many different transport networks worldwide.
- Offi Directions - An Android app that provides trip planning, schedules, live departure times, and disruption information for transport authorities in Europe and beyond.
- Trufi App - A cross-platform Flutter app that uses OpenTripPlanner
- Dede App - An app making any Android powered phone become an Automatic Vehicle Locating (AVL) device for the Dede passenger information system (PIS).
- MACS Transit Android App - A bus tracker app for Android devices for the MACS Transit system in Fairbanks, Alaska. Uses RouteMatch APIs.
- Tiramisu Transit - An adaptive mobile transit app that shows real-time bus arrival information developed and deployed by Carnegie Mellon University. Written using Ionic framework. No longer maintained.
- ally
- Transit
- CityMapper
- Moovit
- TransLoc Rider - Real-time transit maps for over 100 transit systems.
- Transit Display - Multimodal and real-time transit display software.
- Ualabee - Community driven trip planner with focus on user interaction, users can report anomalies, upload pictures, edit transit data and chat with other passengers.
- Citymapper SDK - Allows you to add journey planning and turn-by-turn navigation for walking, cycling, scooting and transit into native iOS and Android apps.
- All Transit - Interactive GTFS route and schedule animation (for U.S. cities) using Mapbox GL JS, Deck.gl and Transitland. Github repository here.
- fastest-bus-analysis-in-the-west - A python Pandas script that combines Ridership/APC, Swiftly speed and dwell data, bus stop inventory, GTFS, and geospatial shapes to create a stop by stop, route by route, time grouping filterable dataset for cross-analyses. The dataset is then visualized in Tableau to help VTA Planners find places to make bus and rail network faster and more reliable through speedups methods like stop consolidation and dedicated lanes.
- gtfspy-webviz - Web application for animation and visualization of GTFS data using gtfspy.
- gtfs-visualizations - Open-source NodeJS application for visualizing the routes of GTFS datasets.
- Mapnificent - Shows areas you can reach with public transport in a given time. Open-source on GitHub, live at https://www.mapnificent.net/.
- MIT COAXS - Co-creative Planning of Transit Corridors using Accessibility-Based Stakeholder Engagement (shows route scenarios using OpenTripPlanner Analyst).
- MOTIS - Intermodal Mobility Information System including visualization
- MTA Frequency - Frequency visualization of subways and buses in New York City built using Transitland.
- SEPTA Rail OTP Report - An online on-time performance reporing & drill down tool using GTFS.
- TNExT - Transit Network Explorer Tool (TNExT) is a web-based software tool developed for the visualization, analysis, and reporting of regional and statewide transit networks in the state of Oregon.
- Toronto Transit Explorer - A Java application that visualizes transit, biking and walking accessibility across the city of Toronto. Live version hosted here. Uses a modified version of R5 for routing.
- Transit Vis - A visualization tool to display performance metrics derived from the King County Metro GTFS-RT feed (OneBusAway API). Viewable here. Used for this paper.
- TransitFlow Animate GTFS data around the world using Processing and Transitland.
- 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.
- Traze by Veridict - Visualization of public transport vehicles from all over the world. Collaborate with other users to get real-time updates even when it is not available from the agency. Based on a number of sources, including GTFS and GTFS-RT. (Previously known as Livemap24).
- Visualizing MBTA Data - Interactive graphs that show how people use Boston's subway system.
- GTFS Spec - Specification for the General Transit Data Feed, or GTFS. Also available in Español, Français.
- 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.
- CGTFS - C library for reading static GTFS feeds. Supports reading unpacked feeds into application memory or into SQLite databases.
- RRRR Rapid Real-time Routing - RRRR (usually pronounced R4) is a C-language implementation of the RAPTOR public transit routing algorithm.
- just_gtfs - C++17 header-only library for reading and writing GTFS (used in MAPS.ME). Main features: fast reading and writing of GTFS feeds, support for extended GTFS route types, simple working with GTFS Date and Time formats.
- ESRI public-transit-tools - Tools for working with public transit data in ArcGIS (license for ArcGIS required).
- GTFS Feed Parser - .Net/Mono implementation of a GTFS parser.
- Go GTFS Parser - A GTFS parsing library for Go.
- OneBusAway GTFS Modules - A Java-based library for reading, writing, and transforming public transit data in the GTFS format, including database support.
- gtfs-sequelize - Node.js library modeling the static GTFS using sequelize.js.
- gtfs-utils – Utilities to process GTFS data sets (e.g., "flattening"
calendar.txt
&calendar_dates.txt
, computing arrival/departure times of trips). - gtfs-via-postgres – Yet another tool to process GTFS using PostgreSQL.
- Node-GTFS - Loads transit data from GTFS files, unzips it and stores it to a SQLite database. Provides some methods to query for agencies, routes, stops and times.
- gtfs-schema - PostgreSQL schema for GTFS feeds.
- gtfs-via-postgres – Yet another tool to process GTFS using PostgreSQL.
- combine_gtfs_feeds - A Python tool to combine multiple gtfs feeds into one feed/dataset.
- ESRI public-transit-tools - Tools for working with public transit data in ArcGIS (license for ArcGIS required).
- gtfsdb - Python library for converting GTFS files into a relational database.
- gtfslib-python - An open source library in python for reading GTFS files and computing various stats and indicators about Public Transport networks.
- gtfsman - Repository-like tool in Python to manage and update a huge number of GTFS feeds.
- gtfspy - Public transport network analysis and travel time computations using Python3. Compatible with Postgres/PostGIS, Oracle, MySQL, and SQLite. Used by gtfspy-webviz.
- GTFS Kit - A Python 3.6+ tool kit for analyzing General Transit Feed Specification (GTFS) data. Supersedes GTFSTK.
- GTFSTK - A Python 3 toolkit for analyzing GTFS data in memory. Uses Pandas and Shapely for speed. Superseded by GTFS Kit.
- Make GTFS - A Python library to make GTFS feeds from basic route information.
- Mapzen GTFS - A Python GTFS library that supports reading individual GTFS tables, or constructing a graph to represent each agency in a feed.
- multigtfs - A Django application to import and export GTFS.
- partridge - A fast, forgiving Python GTFS reader built on pandas DataFrames.
- transit_service_analyst - A Python library to support transit service analysis.
- trread - A transit (GTFS) file reader for R.
- GTFS-viz - Ruby script that converts a set of GTFS files into a SQLite database + GeoJSONs (needed by the Transit Map web application)
Converters from various static schedule formats to and from GTFS.
- Chouette - Converts French-Transmodel, SIRI, NETeX. See Chouette.mobi website for more info.
- extract-gtfs-pathways – Command-line tool to extract pathways as GeoJSON from a GTFS dataset.
- extract-gtfs-shapes – Command-line tool to extract shapes as GeoJSON from a GTFS dataset.
- GTFS-OSM-Sync - A Java tool for synchronizing data in GTFS format with OpenStreetMap.org.
- gtfs-service-area - Compute a transit service area from static GTFS. Results are output as single-layer .geojson files. Dockerized version of gtfs-to-geojson.
- GTFS-route-shapes - A Python script to generate a single geoJSON shape for each transit route in a GTFS archive.
- gtfs-to-geojson - Javascript tool that converts transit data in GTFS shapes and stops into geoJSON. This is useful for creating maps of transit routes.
- gtfs2gps - An R package that converts public transportation data in GTFS format to GPS-like records in a
data.table
, where each row represents the timestamp of each vehicle at a given spatial resolution. - gtsf - general transit (GTFS) simple (geographic) features (sf) in R. can be used to convert from GTFS to Shapefile, GeoJSON, and other formats through GDAL.
- hafas-generate-gtfs (work-in-progress) – A Javascript tool to generate GTFS dumps from HAFAS endpoints.
- Hafas2GTFS - Hafas2GTFS converter written in Python, optimized for SBB HAFAS feeds.
- kml-to-gtfs-shapes - Javascript tool to convert polylines from a KML file into a GTFS shapes.txt file. Hosted on GitHub here.
- NeTEx-to-GTFS Converter Java - Converts NeTEX datasets into GTFS datasets. The input NeTEx datasets are required to follow the Nordic NeTEx Profile.
- o2g - A simple tool to extract GTFS feed from OpenStreetMap.
- Open-Transport SYNTHESE Convertors - Converts French-Transmodel, SIRI, NETeX, HAFAS, HASTUS, VDV452, and more.
- onebusaway-gtfs-to-barefoot - A Java tool to create a Barefoot mapfile from a GTFS file.
- onebusaway-vdv-modules - A Java library for working with transit data in the VDV format, including converting VDV-452 schedule data into GTFS.
- osm2gtfs - Turn OpenStreetMap data and schedule information into GTFS.
- transit_model - A Rust library to convert to/from the following formats: GTFS, NTFS (for Navitia, see Software for Creating APIs), TransXChange (UK standard format), KV1 (Netherland standard format) or NeTEx (European standard format).
- transloc-gtfs-rectifier - Python application that attempts to assign GTFS stop_ids to TransLoc IDs using TransLoc's API (TransLoc doesn't provide GTFS
stop_ids
in their API). - 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.
- bus-router - Python script that generates missing shapes.txt for GTFS using routing from Google Maps Directions API or OSRM.
- gtfs-blocks-to-transfers - A Python tool to convert GTFS blocks, defined by setting trip.block_id into a series of trip-to-trip transfers (proposal).
- GTFS Display - View the content of a GTFS feed
- GTFS Editor - A (self-hosted) web-based GTFS editing framework. (Note: this project has been deprecated in favor of IBI Data Tools.)
- GTFS Editor for Vagrant - Quickly set up the GTFS editor (above) using Vagrant
- static-GTFS-manager - A (self-hosted) browser-based user interface for creating, editing, exporting static GTFS (see related post). Live demo here.
- 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.
- IBI Data Tools - A web application that handles GTFS editing, validating, quality checking, and deploying to OpenTripPlanner. (Combines and builds upon the functionality of the deprecated Gtfs Data Manager and GTFS Editor.)
- GTFS.html - An entirely browser-based tool to view GTFS feeds. Use it to view routes, stops, timetables, etc.
- pfaedle - Precise map-matching for GTFS using OpenStreetMap data
- GTFS shape mapfit - Python tool that fits GTFS shape files and stops to a given OSM map file. Uses pymapmatch for the matching.
- GTFS Builder - A free web-based application to help you create GTFS files. Maintained by the National Rural Transit Assistance Program (RTAP).
- gtfs-station-builder - UI tool to help build the internal structure of stations (including pathways.txt)
- GTFS Text-to-Speech Tester - A command-line tool that reads GTFS stop names out loud using Text-to-Speech to determine which need Text-to-Speech values for tts_stop_name in stops.txt.
- transit_service_analyst - A Python library to support transit service analysis.
- Peartree - A Python library for converting transit data into a directed graph for network analysis.
- R5: Rapid Realistic Routing on Real-world and Reimagined networks - A Java-based routing engine developed by Conveyal for multimodal (transit/bike/walk/car) networks. It currently plans many trips over a time window for scenario planning and analytics purposes. A related R wrapper package (r5r) is developed independently by IPEA. See also the performance comparison from Higgins et al. (2022), linked below.
- tidytransit - An R package to read GTFS data into tibbles and simple features dataframes to map transit stops and routes, calculate travel times and transit frequencies, and validate transit feeds.
- transitr - An R package for constructing and modelling a transit network in real time to obtain vehicle ETAs
- Busbuzzard - Inference of probabilistic schedules from empirical data about transit vehicles.
- ESRI ArcGIS Public Transit Tools (GTFS) - Tools for working with public transit data in ArcGIS
- GTFS-to-Chart - Creates stringline charts showing all vehicles on a transit route from GTFS data.
- GTFS-to-HTML - Generate human-readable timetables in HTML or PDF format directly from GTFS.
- TimeTablePublisher (TTPUB) - A web publishing system developed by TriMet that allows a transit agency to examine, modify, and transform raw scheduling data into easy-to-read timetables for customer information purposes
- Conveyal's gtfs-validator - A Java-based GTFS validator based on the OneBusAway GTFS Modules, runs in Java and is faster than the Google provided one.
- Conveyal's gtfs-lib - Conveyal's successor to their own gtfs-validator, a Java-based library for loading and saving GTFS feeds of arbitrary size with disk-backed storage.
- Google's feedValidator - Google-supported Python-based GTFS validator.
- 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.
- GTFS Meta-Validator (hosted by Omni) - A web-based GTFS validator that runs both the Google Python feedValidator and Conveyal's gtfs-validator on uploaded GTFS files.
- gtfstidy - A Go-based tool to tidy and validate GTFS feeds.
- gtfs-validator-api - This Python package is a thin wrapper around MobilityData/gtfs-validator that handles intermediate files produced and finds gtfs-validator's output file so it can be given a specific name or returned as a string.
- GTFSVTOR - An open-source GTFS validator implemented in Java licensed under GPLv3 maintained by Mecatran.
- MobilityData's gtfs-validator - A open-source GTFS validator canonically following the GTFS spec implemented in Java licensed under Apache v2.0 maintained by MobilityData.
- Reflect GTFS Validator (hosted by Foursquare ITP) - Transit schedule and GTFS validation platform by Foursquare ITP that includes a free, web-based GTFS validator based on gtfs-lib.
- Transit App's gtfs-fares-v2-validator - A Python tool that validators GTFS-Fares-v2 data based on the draft specification.
- Transport Validator - An open-source validator implemented in Rust. Used by the French National Access Point.
- GTFS-realtime documentation. Also available in Español.
- 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 originally developed by the Center for Urban Transportation Research at the University of South Florida and now maintained by MobilityData.
- GTFS-realtime to SQL - Parses a GTFS-RealTime feed into an SQL database (used in OpenMobilityData.org)
- gtfsrdb - A Python tool that supports reading and archiving GTFS-realtime feeds into a database
- retro-gtfs - A Python application that collects real-time data from the Nextbus API and archives it into the GTFS format (i.e., retrospective GTFS).
- 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-realtime VehiclePositions to GTFS-realtime TripUpdates (TransitClock) - Java application that can consume raw vehicle positions and generate prediction times in formats such as GTFS-realtime. Formerly known as "Transitime".
- gtfs-realtime-translators - A Python-based tool to translate custom arrival API formats to GTFS-realtime. As of July 2019 it supports LA Metro and SEPTA.
- Transloc API to GTFS-realtime - A Node.js based tool to convert the Transloc API to GTFS-realtime.
- hafas-gtfs-rt-feed – A Javascript tool to generate a GTFS Realtime feed from a HAFAS endpoint.
- GTFS-realtime to SIRI-Lite - A Rust webserver to convert multiple GTFS-RT feeds to a SIRI-Lite API.
- bus_kalman - A Kalman Filter used to interpolate bus travel times using NYC MTA real-time data.
- Concentrate - Combines realtime transit information from multiple sources into single output files. Maintained by Massachusetts Bay Transportation Authority (MBTA).
- gtfs-realtime-test-service - A tool for mocking GTFS-realtime feed content (e.g., for use in testing a GTFS-realtime consuming application).
- 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 Printer - Java-based utility to print out information from a GTFS-realtime file or URL.
- gtfs-rt-admin - An admin tool for managing GTFS-RT service alerts (JavaScript and Java).
- gtfs-rt-differential-to-full-dataset – Javascript tool to transform a continuous GTFS Realtime stream of
DIFFERENTIAL
incrementality data into aFULL_DATASET
dump. - 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-rt-inspector – Web app to inspect & analyze any (CORS-enabled) GTFS Realtime feed. Open-source on GitHub.
- GTFS Data Pipeline for TfNSW Bus Datasets - A data pipeline developed for the TfNSW's GTFS Static and Realtime datasets. The datasets generated using the pipeline have been used to validate the performance of TfNSW's Transit Signal Priority Request via Public Transport Information and Priority System (PTIPS).
- manual-gtfsrt - A Go-based tool that serves a GTFS-RT feed created from editable JSON.
- print-gtfs-rt-cli – Javascript tool to read a GTFS Realtime feed from stdin, print human-readable or as JSON.
- transitcast - Uses GTFS and GTFS-RT vehicle position feed generating an estimated transition time it takes for each vehicle to move from scheduled stop to scheduled stop recording these an "observed_stop_time" table. These records can later be used to train a machine learning model to make vehicle travel predictions. Created by TriMet as part of an FTA IMI project.
- transit-feed-quality-calculator - A Java project that uses the gtfs-realtime-validator to assess the quality of a large number of transit feeds, fetching the feed URLs from a global directory (TransitFeeds.com/OpenMobilityData.org).
- Transit Network Model - A tool to generate predictions using GTFS-realtime VehiclePositions, a particle filter, and a Kalman Filter.
- 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.
- pysiri2validator - Simple validator for SIRI 2.0 written in Python 3.
- Edwig - A golang server for real-time public transport data exchange, using the SIRI protocol.
- Alliance for Parking Data Standards (APDS) - Formed by the International Parking Institute (IPI), the British Parking Association (BPA), and the European Parking Association (EPA), APDS is a not-for-profit organization with the mission to develop, promote, manage, and maintain a uniform global standard that will allow organizations to share parking data across platforms worldwide. APDS Version 1.0 documents are here.
- CurbLR - A specification for curb regulations.
- Dyno-Demand - A GTFS-based travel demand data format focusing on individual passenger demand suitable for dynamic network modeling developed by San Francisco County Transportation Authority, LMZ LLC, and UrbanLabs LLC.
- Dyno-Path - (Under development - see this post) Data for individual passenger trajectories.
- General Bikeshare Feed Specification (GBFS) - Open data standard for real-time bikeshare information developed by members of the North American Bikeshare Association (NABSA).
- gbfs-validator - 3rd party tool to validate GBFS feeds.
- gbfs R package - Functions to interface with GBFS feeds in R, allowing users to save and accumulate tidy .rds datasets for specified cities/bikeshare programs.
- GBFS Documentation Platform - Documentation platform for the General Bikeshare Feed Specification, maintaned by MobilityData. View the GBFS specification, change proposals, policy guides, and technical tools.
- GTFS-flex - A data format that models flexible public transportation services as an extension to GTFS.
- GTFS-plus - A GTFS-based transit network format for vehicle and capacity data suitable for dynamic transit modeling developed by Puget Sound Regional Council, UrbanLabs LLC, LMZ LLC, and San Francisco County Transportation Authority.
- GTFS-ride - An open, fixed-route transit ridership data standard developed through a partnership between the Oregon Department of Transportation and Oregon State University.
- GTFS-stat - An extension to a GTFS transit network with additional files that contain performance data developed by UrbanLabs LLC and San Francisco County Transportation Authority.
- General Modeling Network Specification (GMNS) - A format for sharing routable road network files designed to be used in multi-modal static and dynamic transportation planning and operations models. Volpe/FHWA partnership with Zephyr Foundation.
- General Travel Network Specification - A planned data specification for sharing travel demand model networks.
- Managed and Tolled Lanes Feed Specification (MTLFS) - Proposal for a schema that comprise the Managed and Tolled Lanes Tolling Feed Specification (MTLFS) and defines the fields used in all of those files developed by Santa Clara Valley Transportation Authority.
- Mobility as a Service API - A set of open documents and test suite that defines a MaaS-compatible API (e.g., a MaaS Transport Service Provider Booking API).
- Mobility Data Specification (MDS) - A format to implement realtime data sharing, measurement and regulation for municipalities and mobility as a service providers. It is meant to ensure that governments have the ability to enforce, evaluate and manage providers. Maintained by the Open Mobility Foundation.
- NCHRP 08-119 Developing Data Standards and Guidance for Transportation Planning and Traffic Operations - Phase 1 (Anticipated) - The objective of this research is to develop standards and/or guidance to be used and adopted by the transportation community in collecting, managing, and sharing static and real-time data for transportation planning and operations.
- NeTex - A general purpose XML format designed for the exchange of complex static transport data among distributed systems managed by the CEN standards process.
- OMX: The Open Matrix data file format - A structured collection of two-dimensional array objects and associated metadata, for possible use in the transportation modeling industry.
- Open Sales and Distribution Model (OSDM) - Aims to substantially simplify the booking process for customers of rail trips and to lower complexity and distribution costs for distributors and railway carriers. Contains a specification of an offline model and on-line API. Maintained by the International Union of Railways (UIC).
- SAE Shared and Digital Mobility Committee - Appears to be working on a data standard for car share and transportation network companies (TNCs) / rideshare.
- shared-row - A specification for right-of-way (ROW) for a SharedStreets Reference.
- TCRP G-16 Development of Transactional Data Specifications for Demand-Responsive Transportation (In progress) - The objective of this research is to develop technical specifications for transactional data for entities involved in the provision of demand-responsive transportation. Expected completion date is late 2018.
- TIDES project - Transit ITS Data Exchange Specification (TIDES) is a proposed effort to create standard data structures, APIs, and data management tools for historical transit ITS data including AVL, APC and AFC Data.
- Cal-ITP Operational Data Standard (ODS) - Intended to address the lack of a standard format for representing transit schedules used by drivers, dispatchers, and planners to carry out transit operations.
- Transport Operator Mobility-as-a-service Provider (TOMP)-API - Working group in the Netherlands with a goal to develop an API for use by Transport Operators and Mobility-as-a-service Providers for operator discovery, trip planning, end user interaction, booking, and payment.
On-line courses, blog posts, and reports related to open transit data.
- World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
- Open Transit Data Toolkit - A series of lessons to help people utilize open transit data.
- MBTA GTFS Onboarding - An interactive tutorial created by MBTA for GTFS static. A stand-alone Docker image is available on GitHub as well as a hosted/no-install version of the Jupyter notebook.
- Planetizen "Building a Transit Map Web App" course - A video tutorial on setting up your own web-based mapping application, with no coding experience required.
- GTFS-books - Comprehensive guides to GTFS and GTFS Realtime. These books were written by Quentin Zervaas, and have been donated to MobilityData and made open access.
- 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 - Discussion of options for transforming legacy AVL system data into the GTFS-realtime format.
- "GTFS Best Practices now available!" by Sean Barbeau - Discusses some of the challenges of an open data format like GTFS and the GTFS Best Practices that were launched in early 2017 to help address data quality.
- "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.
- "AVL, CAD, and Real-Time Passenger Info for Beginners" by Tony Laidig - Provides a general introduction to technology used to track vehicles.
- "Visualizing Better Transportation: Data & Tools" by Steve Pepple - A collection of transportation-related data and tools for the San Francisco Bay Area and other cities in North America, originally collected and discussed at a 2018 Transit Week Event at ARUP in San Francisco.
- "How to use GTFS data to track transit vehicles in realtime" by Tom Camp - Using GTFS and GTFS Realtime to provide continuous realtime updates.
- Tang et al. - "Ridership effects of real-time bus information system: A case study in the City of Chicago" - Experiment in Chicago, IL showed modest increase in ridership when riders had access to real-time info via text message or email.
- Kay et al. - "When(ish) is my bus? User-centered Visualizations of Uncertainty in Everyday, Mobile Predictive Systems" - Paper attempts to answr the question of "how do we communicate uncertainty in transit predictions?" Explains the problem, existing solutions and designs a better interface for letting users know when to arrive at the bus stop.
- Watkins et al. - "Where Is My Bus? Impact of mobile real-time information on the perceived and actual wait time of transit riders" - Experiments in Seattl,e WA showed that riders perceived shorter bus wait times when they had access to real-time info via mobile apps.
- Brakewood et al. - “An experiment evaluating the impacts of real-time transit information on bus riders in Tampa, Florida” - Controlled experiment in Tampa, FL showed that riders with access to real-time info via mobile apps perceived nearly 2 minute reduction in wait times compared to riders without real-time info. Riders with real-time info also had decreases in anxiety and frustration and better reception of agency.
- Brakewood et al. - "The impact of real-time information on bus ridership in New York City" - Experiment in NYC showed that ridership increased on long routes when real-time info was made available to riders.
- Brakewood and Watkins - "A literature review of the passenger benefits of real-time transit information" (2018) - An overview of many different research studies looking at the benefits of real-time transit information.
- Gramacki et al. - "gtfs2vec - Learning GTFS Embeddings for comparing Public Transport Offer in Microregions" - Methology using Uber's H3 spatial index and machine learning to identify areas of "similar" public transit service quality in cities. Source code available on GitHub.
- Higgins et al. - "Calculating place-based transit accessibility: Methods, tools and algorithmic dependence" (2022) - Compares software tools for calculating accessibility by walking and public transit including ArcGIS Pro, Emme, R5R, and OpenTripPlanner.
- Aemmer et al. - "Measurement and classification of transit delays using GTFS-RT data" - Presents a method for extracting transit performance metrics from a General Transit Feed Specification’s Real-Time (GTFS-RT) component and aggregating them to roadway segments. Used with Transit Vis, viewable here.
- 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 (2015) - A comprehensive report looking at the benefits and challenges of open transit data.
- TCRP Research Report 213: Data Sharing Guidance for Public Transit Agencies – Now and in the Future (2020) - A report designed to help agencies make decisions about sharing their data, including how to evaluate benefits, costs, and risks.
- TCRP G-16 Development of Transactional Data Specifications for Demand-Responsive Transportation (In progress) - The objective of this research is to develop technical specifications for transactional data for entities involved in the provision of demand-responsive transportation. Expected completion date is late 2018.
- Vendors Providing GTFS Creation/Maintenance services - Add new vendors here.
- Entities Providing Transportation Software Development Consulting Services - Add new entities here.
To the extent possible under law, Luqmaan Dawoodjee and the Center for Urban Transportation Research at the University of South Florida have waived all copyright and related or neighboring rights to this work.
Originally created by Luqmaan Dawoodjee, now maintained by the Center for Urban Transportation Research at the University of South Florida.
This list is intended as a community resource for informational use only - listing of a project/product does not imply endorsement.