RTD Open Data
RTD publishes the following data:
- Schedule data, including full schedule and route configuration as a:
- GTFS dataset for all RTD services
- Real-time data for RTD bus services, including information about arrival/departure predictions and vehicle locations as GTFS realtime feeds:
- Trip Updates
- Vehicle Positions
The release of real-time data feeds for RTD bus services is the first phase of an initiative which will make similar information available for RTD light rail and commuter rail services in the future.
Concepts and IDs are consistent across data feeds wherever possible.
Use of RTD Data
Access to the RTD data feeds is governed by the language in the RTD License Agreement in addition to the following conditions:
- RTD does not guarantee technical support of any kind to users.
- No user may execute polling commands more often than every 30 seconds. A user that polls more often than that or otherwise overtaxes RTD’s system may be suspended or terminated from the data feed.
Getting Help and Updates
RTD is happy to answer developer questions at [email protected].
Developers are encouraged to join the RTD Developers discussion forum at https://groups.google.com/forum/#!forum/rtd-developers to get the latest updates.
GTFS Schedule Dataset
RTD schedule data is available in General Transit Feed Specification (GTFS) for use in developing applications and other mobile tools for RTD riders. If you plan on using our GTFS data, please follow these rules:
- Keep your data up-to-date. Major changes to RTD schedules typically happen three times a year in January, May and August. Visit Service Changes to get more information.
- Do not use the RTD logo, RTD maps or any other RTD content found on the RTD website without permission in advance from RTD. To request permission, please email [email protected].
More information about GTFS can be found at https://developers.google.com/transit/gtfs/.
GTFS Realtime Feeds
RTD provides real-time data feeds for arrival predictions and vehicle locations in GTFS realtime format. Real-time data will currently only be available for bus services.
Accessing the Feed
Access to RTD's GTFS-RT feeds requires authenticating with a username and password specific to your application. To obtain a username and password send an email to [email protected]. Access requests will be handled as soon as possible.
GTFS-RT feeds are provided in separate protocol buffer files:
- Trip Updates – this feed includes trip progress and arrival/departure predictions.
- Vehicle Positions – this feed includes vehicle positions.
Relationship with Other RTD Data Feeds
GTFS-RT feeds have to be linked to GTFS schedule data for most applications.
The GTFS-realtime specification is detailed at https://developers.google.com/transit/gtfs-realtime/.
The Protocol Buffer format is detailed at http://code.google.com/p/protobuf/.
The GTFS-realtime feeds have the following format:
- gtfs_realtime_version. Set to “1.0”
- incrementality: FULL_DATASET
- trip_update. Included if trip_update entity is provided. See trip_update below.
- vehicle. Included if vehicle entity is provided. See vehicle below.
- schedule_relationship. SCHEDULED if trip is running as scheduled, ADDED if trip is an added trip, or CANCELED if trip has been canceled.
- time. see additional information
- time. see additional information
- schedule_relationship. SCHEDULED if stop is a scheduled stop, SKIPPED if stop is skipped.
- timestamp. the latest time this vehicle’s position was recorded.
- current_status. Will have either a 0, 1, or 2.
- 0 = INCOMING_AT
- 1 = STOPPED_AT - if vehicle is stopped at the stop_id
- 2 = IN_TRANSIT_TO - if vehicle is on its way to the stop_id
- Arrival and departure prediction information:
- Both arrival and departure prediction information will be provided for all stops in stop_time_update.
- For many trips, departure prediction information will only be provided at the origin stop and arrival prediction information will only be provided at the destination stop.
- There are cases where an origin stop will have arrival prediction information if the trip originates at a non-public stop.
- There are cases where a destination stop will have departure prediction information if the trip terminates at a non-public stop.
- Stops that are not served will have schedule_relationship set to SKIPPED.
- stop_time_update, including arrival/departure predictions, will not be provided for any replacement stops.