Add a feed

What is a GTFS feed?

A GTFS feed is a downloadable set of files that adhere to the General Transit Feed Specification

A GTFS Schedule feed that includes static information about a transit service is a collection of text (.txt) files that are contained in a single ZIP file.

A GTFS Realtime feed that provides realtime updates to riders is formatted as Protocol Buffer data and shared as a proto file. A GTFS Realtime feed can include a mix of Trip Updates, Vehicle Positions, and Service Alerts or there can be separate feeds for each type of realtime information. 

Each direct download URL for a GTFS feed has to open a file. For example, a URL that points to an agency's GTFS explainer page such as https://www.bctransit.com/open-data is not a valid GTFS feed URL. However, https://www.bctransit.com/data/gtfs/powell-river.zip is a valid GTFS feed download link because it directly opens the GTFS feed. The same principle is used for GTFS feeds that are accessible via an API: a generic link to the API, such as http://api.511.org/transit/datafeeds, is invalid. A valid download URL would need to include an API query that returns a GTFS feed, such as http://api.511.org/transit/datafeeds?operator_id=3D

Why would I want to add or update a feed?

Adding a feed means that more journey planning apps can discover the data and share it with travelers. Service planning tools and researchers also rely on data aggregators like the Mobility Database catalogs to evaluate services and plan future ones. 

To ensure that travelers have access to the most up-to-date information, transit providers should add a new feed on the catalogs when their feed URL changes. Transit providers should review the spreadsheet of feeds already in the Mobility Database to see if an old URL of their feed is in the Mobility Database and request that its status be set to deprecated under Issue Type in the form below. 

Deprecated is a manually set status within the Mobility Database that indicates that a feed has been replaced with a new URL. MobilityData staff will deprecate the old feed and set a redirect to indicate that the new feed should be used instead of the deprecated one. 

If transit providers would like to share old feed URLs for researchers and analysts to use, please add the feed to the form below and request that its status be set to deprecated. 

How do I add or update feed?

There are two ways to update a feed

1. If you're not comfortable with GitHub or only have a few feeds to add: use the form below to request a feed change. The feed will be added as a pull request in GitHub viewable to the public within a week of being submitted. You can verify the change has been made to the catalogs by reviewing this CSV file

In the future, this process will be automated so the PR is automatically created once submitted and merged when tests pass. 

2. If you want to add feeds directly: you can follow the CONTRIBUTING.MD file in GitHub to add sources. 

If you have any questions or concerns about this process, you can email emma@mobilitydata.org for support in getting your feed added. 

Who can add or update a feed?

Anyone can add or update a feed, and it is currently merged manually into the catalogs by the MobilityData team.  The name of the person requesting the feed is captured in the PR, either via their GitHub profile or based on the information shared in the form below.  

In order to verify the validity of a GTFS schedule source, an automated test is also run to check if the direct download URL provided opens a functional ZIP file. 

What if I want to remove a feed?

Feeds are only removed in instances when it is requested by the producer of the data because of licensing issues. In all other cases, feeds are set to a status of deprecated so it's possible to include their historical data within the Mobility Database.