Consolidated schedule decomissioning
What's changing
The Puget Sound Consolidated GTFS Schedule will be decommissioned at the end of 2026. It merged every regional agency's schedule data into a single download. There is no single file replacing it. Each agency publishes its own GTFS, and the links above point directly to those feeds.
If you've been using the consolidated file, you will need to update your setup to pull from each agency feed instead of the single bundle. This is a guide for developers for information on how to migrate off consolidated schedule
What to do:
Check whether your tool already accepts multiple GTFS feeds. Many trip planning and transit data tools do, and they handle overlapping IDs for you.
Update your download step to pull each agency feed you need, using the links above, instead of the consolidated regional dataset.
If your tool needs a single merged feed, add a step that prefixes IDs by feed before merging. See Combining feeds below.
Set your refresh to follow each agency's own schedule. See Feeds update on different schedules below.
Make these changes before the end of 2026.
What's in each feed:
Sound Transit: 1 Line, 2 Line, T Line, N Line, S Line, and replacement shuttles
King County Metro: Metro bus, King County Water Taxi, Seattle Streetcar, and the ST Express routes Metro operates
Pierce Transit: Pierce Transit bus, and the ST Express routes Pierce operates
Community Transit: Community Transit bus, and the ST Express routes Community Transit operates
Intercity Transit: Intercity Transit bus
Kitsap Transit: Kitsap Transit bus and passenger ferry
Everett Transit: Everett Transit bus
Washington State Ferries: Washington State Ferries routes
Seattle Center Monorail: Monorail
Combining feeds: watch for reused IDs
Each agency assigns IDs within its own system, so the same ID can mean different things in different feeds. Load them into one dataset without accounting for this and records will overwrite each other.
Stop IDs collide most often. An overlapping stop ID is not a shared stop. It's a different physical location, often in a different county.
Trip IDs collide too. Route, shape, and service IDs collide less often.
Many trip planning and transit data tools accept multiple GTFS feeds directly and namespace them for you. Check whether yours does before writing merge logic.
If you do merge, prefix every ID with something unique to its feed. The consolidated file used the agency id and a dash. The prefix must be applied everywhere an ID is referenced, not just where it's defined.
Combining feeds: the same stop appears more than once
Shared stations and transit centers appear separately in each feed that serves them, with different IDs. The busiest stations appear in three or four feeds.
This shows up as duplicate entries at major stations if your application lists nearby stops or builds transfers.
GTFS has no regional stop ID, so the feeds themselves can't tell you which records are the same stop. However, Sound Transit publishes a shared stops file that maps them, linked on the downloads page, alongside the direct agency feed URLs. Coordinates are the practical fallback, since the duplicate records usually sit within a few meters of each other.
Feeds update on different schedules
The consolidated file had one refresh schedule. Agency feeds each have their own, and they don't line up. Some agencies publish quarterly service changes, others more often. Checking for updates once a day is a reasonable practice.
HTTP headers can be used to check for changes. ETag and Last-Modified are the preferred fields to check for changes, though content-length may have to be used for some agencies.
feed_info.txt tells you more about the current version of the dataset. The fields feed_version, feed_start_date, and feed_end_date can indicate changes to the service described in that dataset.
Real time data matches differently now
Because the consolidated file rewrote stop and trip IDs, those trips didn't match real time data without modification. Agency feeds use the original values, so trip IDs in the schedule data match the agency's own real time feed directly. However, if prefixes are added in your Schedule combination process, they will also need to be added to the values from the real time feeds.
Tools for working with multiple GTFS sources:
GTFS Kit’s Combiner module