← All agencies

Feed status · checked 2026-09-13

King County Metro

Based on the feed source on file; publisher ownership is not verified

Service mode Tram + Bus + Ferry

92.2 / 100

up 0.1 since 2026-09-12 · A → A

Catalogued in Washington.

Covers 194 days

A data-quality and completeness lens to help an agency improve its GTFS feed. Not an official compliance determination from any transit program. New to this? How to read your scorecard. Interactive view of this scorecard. Rubric v1.3, validator 8.0.1.

Checked for changes 30 hours ago; last changed 3 days ago.

Measured 4 of 4 score categories from the feed URL on file (publisher not verified).

How we measured this

Confidence in this measurement: high.

  • All four score categories were measured this run.
  • Realtime was sampled in one bounded window of 9 snapshots.
  • The feed was downloaded from the configured feed URL. Publisher ownership of that URL is not verified.

Confidence describes how much the pipeline could measure this run, not the feed itself. It never changes the grade.

Top things to fix

Fix 01

Remove past service periods the next time you export the feed.Likely your export tool

Some service calendars in the feed have already ended. Expired calendars are dead weight and can hide real schedule problems from your staff and vendors.

⏱ One setting in most export tools.worth about +6 points in its category

Fix 02

Delete the empty calendars or set their service days.Likely your export tool

Some service calendars have no days of the week switched on. Trips tied to these calendars never run; they are dead data that can mask real schedule problems.

⏱ A few minutes in your scheduling software.worth about +6 points in its category

Fix 03

Review the rule documentation for 'route_short_name_too_long' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.

Route short name too long (flagged by the MobilityData validator). See the linked rule for what this affects.

⏱ Varies.worth about +6 points in its category

Finding handoff

Move one finding to a recheck

Select one finding. Copy the request, make the change in the feed-producing tool, then compare the next complete run.

Feed evidence
Some service calendars in the feed have already ended.
Next action
Remove past service periods the next time you export the feed.
Recheck
Publish the changed feed at the same URL. On the next complete, comparable scorecard run, confirm that this finding is no longer reported.
Copy handoff text
How to make and check these changes

Check the result on the published feed. Read the guide, make the change in your tool, and use the next comparable run to see whether the finding is still reported. Only an action or ticket record can attribute who made the change.

  1. Remove past service periods the next time you export the feed. · Read the fix guide for expired_calendar

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. See this feed's finding-clearance log.

  2. Delete the empty calendars or set their service days. · Read the fix guide for service_has_no_active_day_of_the_week

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. See this feed's finding-clearance log.

  3. Review the rule documentation for 'route_short_name_too_long' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. See this feed's finding-clearance log.

Rider view: what this feed publishes

A quick read of rider-facing information in this feed.

Schedule visibility
The feed's last published service date is in 194 days.
Published accessibility data
Accessibility information is stated for 99% of stops and 100% of trips. This measures published data, not whether stops or vehicles are physically usable.
Fare information
Fare information is published using GTFS Fares v2.
Realtime information
Live-arrival data covered 90% of scheduled trips in the sampled window.

Important: This does not rate service reliability. Riders should confirm current service alerts, fares, and accessibility accommodations with the transit operator before traveling.

Ungraded capability read

Ferry data profile

A ferry-specific view of what this GTFS feed publishes. Schedule measurements use ferry routes and trips only; fare and realtime facts are labelled as whole-feed. Unknown values are not treated as no.

Ferry service
2 routes · 192 trips
Terminal structure
4 ferry boarding locations; no parent-station hierarchy is published.
Terminal access
Not applicable: no ferry boarding location is linked to a parent station, so stop_access is not permitted here.
Published accessibility
75% of ferry boarding locations publish a value; 75% of all ferry boarding locations explicitly say allowed (3 of 4). Unstated values remain unknown. 100% of ferry trips publish a value; 100% of all ferry trips explicitly say allowed (192 of 192). Unstated values remain unknown. This reports published values, not verified physical usability.
Bicycles
100% of ferry trips publish a value; 100% of all ferry trips explicitly say allowed (192 of 192). Unstated values remain unknown.
Cars
Unknown: none of the 192 ferry trips publish cars_allowed.
Fares
Whole feed: applied fare data is published using GTFS Fares v2.
Realtime
Whole feed: configured GTFS-Realtime endpoints are Trip Updates, Vehicle Positions, Service Alerts.

Descriptive only. This profile does not change the grade or verify vessels, terminal facilities, vehicle carriage, fares, or accessibility in the real world. Field meanings follow the GTFS Schedule reference.

Send your vendor a fix request

You may not control the GTFS export yourself. Copy this and send it to whoever runs your scheduling software export. It names each fix with the validator notice and a guide link.

Score by category

Correctness80.0 / 100

The MobilityData validator flagged 6 kinds of issue across 51 instances (0 error, 25 warning, 26 informational).

Freshness100.0 / 100

Service data covers the next 194 days.

Rider experience99.7 / 100

99% of stops state wheelchair accessibility (96% marked accessible, 3% marked not accessible). This measures what the feed publishes, not whether a stop is physically usable. Fare data is published.

Accessibility99.4 / 100

99% of stops state accessibility (96% marked accessible). Reflects what the feed states, not verified physical usability.

1 accessibility depth signal

  • 4 route badge(s) pair a color and text color below the WCAG 4.5:1 contrast bar (973, 975, South Lake Union Streetcar, First Hill Streetcar).

    Consider: Adjust route_color or route_text_color so each pair clears 4.5:1. Often switching the text between black and white is enough.

Opportunities to strengthen the data, not deductions from the sub-score above. States what the second accessibility lens can check from the feed, not verified physical usability.

FaresFares v2

Fares are applied to trips.

Realtime quality96.1 / 100

Sampled 9 times: 3 of 3 configured feeds healthy; 90.0% of scheduled trips had live predictions; 97.4% of vehicles on their route; predictions ran a median of 0s behind schedule.

Routes and stops

Each route is drawn once, using the longest shape its trips follow; stops are the dots.

This feed has 6286 stops.

Skip to route and stop data

The route and stop data is ready below. Load the map only when you want the geographic view. It uses additional data.

Basemap: OpenFreeMap, © OpenStreetMap contributors. Routes and stops: this agency's GTFS feed.

  • 1 (yellow)
  • 10 (yellow)
  • 101 (yellow)
  • 105 (yellow)
  • 106 (yellow)
  • 107 (yellow)
  • 11 (yellow)
  • 111 (yellow)
  • 113 (yellow)
  • 118 (yellow)
  • 119 (yellow)
  • 12 (yellow)
  • 121 (yellow)
  • 124 (yellow)
  • 125 (yellow)
  • 128 (yellow)
  • 13 (yellow)
  • 131 (yellow)
  • 132 (yellow)
  • 14 (yellow)
  • 148 (yellow)
  • 150 (yellow)
  • 153 (yellow)
  • 164 (yellow)
  • 166 (yellow)
  • 168 (yellow)
  • 17 (yellow)
  • 181 (yellow)
  • 182 (yellow)
  • 183 (yellow)
  • 2 (yellow)
  • 21 (yellow)
  • 22 (yellow)
  • 24 (yellow)
  • 240 (yellow)
  • 245 (yellow)
  • 255 (yellow)
  • 269 (yellow)
  • 27 (yellow)
  • 28 (yellow)
  • 3 (yellow)
  • 303 (yellow)
  • 31 (yellow)
  • 32 (yellow)
  • 33 (yellow)
  • 331 (yellow)
  • 345 (yellow)
  • 346 (yellow)
  • 348 (yellow)
  • 36 (yellow)
  • 4 (yellow)
  • 43 (yellow)
  • 44 (yellow)
  • 45 (yellow)
  • 48 (yellow)
  • 5 (yellow)
  • 50 (yellow)
  • 522 (green)
  • 545 (green)
  • 56 (yellow)
  • 57 (yellow)
  • 60 (yellow)
  • 62 (yellow)
  • 65 (yellow)
  • 67 (yellow)
  • 7 (yellow)
  • 70 (yellow)
  • 75 (yellow)
  • 77 (yellow)
  • 773 (green)
  • 8 (yellow)
  • 9 (yellow)
  • 903 (green)
  • 914 (green)
  • 917 (green)
  • 973 (teal)
  • 975 (green)
  • South Lake Union Streetcar (orange)
  • 982 (yellow)
  • 986 (yellow)
  • 987 (yellow)
  • 988 (yellow)
  • 989 (yellow)
  • 49 (yellow)
  • 556 (green)
  • 218 (yellow)
  • 981 (yellow)
  • 775 (green)
  • 102 (yellow)
  • 156 (yellow)
  • 193 (yellow)
  • 930 (green)
  • 542 (green)
  • A Line (red)
  • B Line (red)
  • 226 (yellow)
  • 915 (green)
  • 931 (green)
  • 907 (green)
  • 40 (yellow)
  • C Line (red)
  • D Line (red)
  • 906 (green)
  • E Line (red)
  • F Line (red)
  • 630 (green)
  • 631 (green)
  • First Hill Streetcar (orange)
  • Trailhead Direct Issaquah Alps (white)
  • 635 (green)
  • Trailhead Direct Mt. Si (brown)
  • 204 (green)
  • 224 (green)
  • Duvall-Monroe Shuttle (green)
  • Valley Shuttle (green)
  • 225 (yellow)
  • 239 (yellow)
  • 231 (yellow)
  • 250 (yellow)
  • 230 (yellow)
  • 184 (yellow)
  • 161 (yellow)
  • 160 (yellow)
  • 322 (yellow)
  • 79 (yellow)
  • 566 (green)
  • H Line (red)
  • 365 (yellow)
  • G Line (red)
  • 333 (yellow)
  • 61 (yellow)
  • 223 (yellow)
  • 222 (yellow)
  • 256 (yellow)
  • 203 (yellow)
  • 249 (green)
  • 187 (yellow)
  • Waterfront Shuttle (green)
  • 220 (yellow)
  • 902 (green)
  • 270 (yellow)
  • 547 (green)
  • 72 (yellow)
  • 215 (yellow)
  • Easy Loop (green)
Routes in King County Metro's feed
RouteTypeLine color
1Busyellow
10Busyellow
101Busyellow
105Busyellow
106Busyellow
107Busyellow
11Busyellow
111Busyellow
113Busyellow
118Busyellow
119Busyellow
12Busyellow
121Busyellow
124Busyellow
125Busyellow
128Busyellow
13Busyellow
131Busyellow
132Busyellow
14Busyellow
148Busyellow
150Busyellow
153Busyellow
164Busyellow
166Busyellow
168Busyellow
17Busyellow
181Busyellow
182Busyellow
183Busyellow
2Busyellow
21Busyellow
22Busyellow
24Busyellow
240Busyellow
245Busyellow
255Busyellow
269Busyellow
27Busyellow
28Busyellow
3Busyellow
303Busyellow
31Busyellow
32Busyellow
33Busyellow
331Busyellow
345Busyellow
346Busyellow
348Busyellow
36Busyellow
4Busyellow
43Busyellow
44Busyellow
45Busyellow
48Busyellow
5Busyellow
50Busyellow
522Busgreen
545Busgreen
56Busyellow
57Busyellow
60Busyellow
62Busyellow
65Busyellow
67Busyellow
7Busyellow
70Busyellow
75Busyellow
77Busyellow
773Busgreen
8Busyellow
9Busyellow
903Busgreen
914Busgreen
917Busgreen
973Ferryteal
975Ferrygreen
South Lake Union StreetcarTram / light railorange
982Busyellow
986Busyellow
987Busyellow
988Busyellow
989Busyellow
49Busyellow
556Busgreen
218Busyellow
981Busyellow
775Busgreen
102Busyellow
156Busyellow
193Busyellow
930Busgreen
542Busgreen
A Line A-Line Rapid RideBusred
B Line B-Line Rapid RideBusred
226Busyellow
915Busgreen
931Busgreen
907Busgreen
40Busyellow
C Line C-Line Rapid RideBusred
D Line D-Line Rapid RideBusred
906Busgreen
E Line E-Line Rapid RideBusred
F Line F-Line Rapid RideBusred
630Busgreen
631Busgreen
First Hill StreetcarTram / light railorange
Trailhead Direct Issaquah AlpsBuswhite
635Busgreen
Trailhead Direct Mt. SiBusbrown
204Busgreen
224Busgreen
Duvall-Monroe ShuttleBusgreen
Valley ShuttleBusgreen
225Busyellow
239Busyellow
231Busyellow
250Busyellow
230Busyellow
184Busyellow
161Busyellow
160Busyellow
322Busyellow
79Busyellow
566Busgreen
H Line H-Line Rapid RideBusred
365Busyellow
G Line G-Line Rapid RideBusred
333Busyellow
61Busyellow
223Busyellow
222Busyellow
256Busyellow
203Busyellow
249Busgreen
187Busyellow
Waterfront ShuttleBusgreen
220Busyellow
902Busgreen
270Busyellow
547Busgreen
72Busyellow
215Busyellow
Easy LoopBusgreen
List every stop
  • 1st Ave & Spring St
  • 40th Ave NE & NE 51st St
  • NE 55th St & 39th Ave NE
  • NE 55th St & 37th Ave NE
  • NE 55th St & 35th Ave NE
  • NE 55th St & 33rd Ave NE
  • NE 55th St & 30th Ave NE
  • NE 55th St & 27th Ave NE
  • NE 55th St & 25th Ave NE
  • Ravenna Ave NE & Ravenna Pl NE
  • Spring St & 3rd Ave
  • NE Ravenna Blvd & Park Rd NE
  • 20th Ave NE & NE 55th St
  • 20th Ave NE & NE 52nd St
  • NE 50th St & 19th Ave NE
  • NE 50th St & 16th Ave NE
  • Fairview Ave E & E Nelson Pl
  • Fairview Ave N & Aloha St
  • Spring St & 4th Ave
  • Fairview Ave N & Mercer St
  • Fairview Ave N & Thomas St
  • Boren Ave & Virginia St
  • Fairview Ave & Denny Way
  • Spring St & 8th Ave
  • Fairview Ave N & Harrison St
  • Fairview Ave N & Valley St
  • Valley St & Fairview Ave N
  • Fairview Ave E & Yale Ave N
  • NE 50th St & University Way NE
  • NE 50th St & 16th Ave NE
  • Madison St & Terry Ave
  • Olive Way & 6th Ave
  • 20th Ave NE & NE 50th St
  • 20th Ave NE & NE 52nd St
  • 20th Ave NE & NE 54th St
  • NE Ravenna Blvd & 21st Ave NE
  • Ravenna Ave NE & NE 54th St
  • NE 55th St & 25th Ave NE
  • NE 55th St & 27th Ave NE
  • NE 55th St & 30th Ave NE
  • NE 55th St & 33rd Ave NE
  • Madison St & Boylston Ave
  • Olive Way & 8th Ave
  • NE 55th St & 35th Ave NE
  • NE 55th St & 36th Ave NE
  • 40th Ave NE & NE 46th St
  • 40th Ave NE & NE 50th St
  • NE 55th St & 40th Ave NE
  • NE 55th St & 45th Ave NE
  • NE 55th St & Princeton Ave NE
  • Sand Point Way NE & 38th Ave NE
  • Sand Point Way NE & 40th Ave NE
  • Sand Point Way NE & NE 50th St
  • Sand Point Way NE & NE 52nd St
  • Sand Point Way NE & Princeton Ave NE
  • Sand Point Way NE & NE Windermere Rd
  • E Madison St & 12th Ave
  • Sand Point Way NE & NE 61st St
  • Sand Point Way NE & NE 65th St
  • Sand Point Way NE & NE 70th St
  • Sand Point Way NE & NE 74th St
  • Sand Point Way NE & NE 74th St
  • Sand Point Way NE & NE 77th St
  • NOAA & Building 1
  • NE NOAA Dr
  • NE NOAA Dr & Guard Shack
  • NOAA & Building 3
  • Sand Point Way NE & Inverness Dr NE
  • E Madison St & 17th Ave
  • Olive Way & Terry Ave
  • Sand Point Way NE & Matthews Pl NE
  • Sand Point Way NE & NE 93rd St
  • Sand Point Way NE & NE 95th St
  • Sand Point Way NE & NE 97th St
  • Sand Point Way NE & NE 103rd St
  • Sand Point Way NE & NE 106th St
  • Sand Point Way NE & NE 110th St
  • E Madison St & 22nd Ave E
  • Sand Point Way NE & NE 115th St
  • Sand Point Way NE & NE 120th St
  • Sand Point Way NE & NE 123rd St
  • NE 125th St & 39th Ave NE
  • Pine St & 9th Ave
  • NE 125th St & 35th Ave NE
  • NE 125th St & 33rd Ave NE
  • E Madison St & 24th Ave E
  • 12th Ave NE & NE 47th St
  • U District Station - Bay 3
  • 15th Ave NE & NE 43rd St
  • 15th Ave NE & NE Campus Pkwy
  • Harvard Ave E & Eastlake Ave E
  • Harvard Ave E & Eastlake Ave E
  • 15th Ave NE & NE 40th St
  • Harvard Ave E & E Shelby St
  • 10th Ave E & E Roanoke St
  • 10th Ave E & E Miller St
  • 10th Ave E & E Newton St
  • 10th Ave E & E Galer St
  • 10th Ave E & E Prospect St
  • Broadway E & E Roy St
  • E Aloha St & Broadway E
  • Boren Ave & Jefferson St
  • E Roy St & Broadway E
  • Boren Ave & Marion St
  • Boren Ave & Madison St
  • Broadway E & E Republican St
  • Broadway E & E Thomas St
  • Broadway & E Denny Way - Bay 4
  • Broadway & E Pine St
  • Boren Ave & Seneca St
  • E Pine St & Broadway
  • Boren Ave & Madison St
  • Boren Ave & Columbia St
  • E Pine St & Belmont Ave
  • E Madison St & Martin L King Jr Way E
  • Pine St & 5th Ave
  • E Pine St & Bellevue Ave
  • Pike St & Minor Ave
  • E Pine St & Summit Ave
  • E Pine St & Harvard Ave
  • Broadway And Denny
  • Broadway E & E John St - Bay 3
  • Broadway E & E Harrison St
  • 10th Ave E & E Mercer St
  • Pine St & 4th Ave
  • Broadway E & E Mercer St
  • 10th Ave E & E Prospect St
  • 10th Ave E & E Galer St
  • 10th Ave E & E Howe St
  • 10th Ave E & E Miller St
  • E Roanoke St & Broadway E
  • Harvard Ave E & E Shelby St
  • 15th Ave NE & NE 42nd St
  • NE 45th St & 17th Ave NE
  • NE 45th St & 20th Ave NE
  • U District Station - Bay 2
  • 15th Ave E & E Galer St
  • 15th Ave E & E Prospect St
  • 15th Ave E & E Aloha St
  • 15th Ave E & E Roy St
  • 15th Ave E & E Republican St
  • E Pine St & 15th Ave
  • E Pine St & 13th Ave
  • E Pine St & 12th Ave
  • E Pine St & 15th Ave
  • 15th Ave E & E Thomas St
  • 15th Ave E & E Thomas St
  • 15th Ave E & E Denny Way
  • 15th Ave & E Denny Way
  • 15th Ave & E Pine St
  • 15th Ave E & E Republican St
  • 15th Ave E & E Roy St
  • 15th Ave E & E Aloha St
  • 15th Ave E & E Prospect St
  • 15th Ave E & E Highland Dr
  • Grandview Pl E & E Galer St
  • Grandview Pl E & E Garfield St
  • Mount Rainier Dr S & S Hanford St
  • Mount Rainier Dr S & S Ridgeway Pl
  • S Mcclellan St & Lake Park Dr S
  • S Mcclellan St & 31st Ave S
  • 31st Ave S & S Lander St
  • 31st Ave S & S College St
  • 31st Ave S & S Plum St
  • 31st Ave S & S Massachusetts St
  • Pike St & 4th Ave
  • 31st Ave S & S Day St
  • 31st Ave S & S Norman St
  • 31st Ave S & S Dearborn St
  • 31st Ave S & S King St
  • S Jackson St & 30th Ave S
  • S Jackson St & 28th Ave S
  • S Jackson St & Martin L King Jr Way S
  • Pike St & 6th Ave
  • S Jackson St & 23rd Ave S
  • S Jackson St & 20th Pl S
  • S Jackson St & 18th Ave S
  • Pike St & 7th Ave
  • S Jackson St & Rainier Ave S
  • S Jackson St & 18th Ave S
  • S Jackson St & 20th Ave S
  • E Madison St & Martin L King Jr Way E
  • S Jackson St & 23rd Ave S
  • S Jackson St & 28th Ave S
  • S Jackson St & 30th Ave S
  • 31st Ave S & S King St
  • 31st Ave S & S Dearborn St
  • 31st Ave S & S Norman St
  • 31st Ave S & S Irving St
  • E Madison St & 23rd Ave E
  • 31st Ave S & S Massachusetts St
  • 31st Ave S & S Plum St
  • 31st Ave S & S Walker St
  • 31st Ave S & S Lander St
  • S Mcclellan St & 31st Ave S
  • S Mcclellan St & S Mount Baker Blvd
  • E Madison St & 22nd Ave E
  • Mount Rainier Dr S & 37th Pl S
  • E Mcgilvra St & 42nd Ave E
  • 42nd Ave E & E Lynn St
  • 42nd Ave E & E Newton St
  • 42nd Ave E & E Madison St
  • E Madison St & 41st Ave E
  • E Madison St & E Garfield St
  • E Madison St & 38th Ave E
  • E Madison St & 36th Ave E
  • E Madison St & 34th Ave E
  • E Madison St & 17th Ave
  • E Madison St & Lake Washington Blvd
  • E Madison St & 25th Ave E
  • E Madison St & 19th Ave
  • E Madison St & 18th Ave
  • E Madison St & 29th Ave E
  • E Madison St & 12th Ave
  • E Madison St & Lake Washington Blvd
  • E Madison St & 33rd Ave E
  • E Madison St & 36th Ave E
  • E Madison St & 38th Ave E
  • E Madison St & 39th Ave E
  • E Madison St & 41st Ave E
  • 43rd Ave E & E Blaine St
  • 43rd Ave E & E Madison St
  • Martin L King Jr Way S & S Irving St
  • 43rd Ave E & E Lynn St
  • Martin L King Jr Way S & S Hill St
  • S Walker St & 25th Ave S
  • Martin L King Jr Way S & S Bayview St
  • Martin L King Jr Way S & S Massachusetts St
  • S Massachusetts St & 26th Ave S
  • S Plum St & 25th Ave S
  • Martin L King Jr Way S & S Massachusetts St
  • Madison St & Boylston Ave
  • Seneca St & 4th Ave
  • 26th Ave S & S Norman St
  • S Dearborn St & 26th Ave S
  • 23rd Ave S & S Lane St
  • 23rd Ave S & S Jackson St
  • 23rd Ave & E Yesler Way
  • Madison St & Terry Ave
  • Seneca St & 6th Ave
  • 23rd Ave & E Jefferson St
  • 23rd Ave S & E Yesler Way
  • 23rd Ave S & S Jackson St
  • S Dearborn St & 24th Ave S
  • 24th Ave S & S Norman St
  • 34th Ave & E Union St
  • Madison St & 8th Ave
  • 34th Ave & E Marion St
  • 34th Ave & E Cherry St
  • E Cherry St & 32nd Ave
  • and 6036 more (see the full list on the map or in the GeoJSON)

Over time

Overall score across the last 6 checks — up 0.1 since 2026-09-12.

2026-08-06: 78.02026-08-07: 77.72026-08-10: 85.42026-09-01: 82.82026-09-12: 92.12026-09-13: 92.2
Show the numbers
Overall score by check, with the change from the previous check
CheckScoreChange
2026-08-0678.0 first check
2026-08-0777.7 down 0.3
2026-08-1085.4 up 7.7
2026-09-0182.8 down 2.6
2026-09-1292.1 up 9.3
2026-09-1392.2 up 0.1

What changed since your last check

  • Correctness no change
  • Freshness no change
  • Rider experience no change
  • Realtime quality up 0.1

What changed over time

On 2026-08-06 this feed started at grade C. On 2026-08-10 the grade moved from C to B. On 2026-09-12 the grade moved from B to A. On 2026-09-13 the check no longer reported: same name and description for route (flagged by the MobilityData validator); service data runs out in 21 day(s); some stops exist in the feed but no trip ever stops at them. As of 2026-09-13 it holds grade A.

A plain-language history of this feed, newest first.

  • 2026-09-12 Grade went B to A, correctness rose 27 points.
  • 2026-08-10 Grade went C to B, freshness rose 65 points.

Everything we checked

8 findings, ordered by severity.

Show every finding
  • Warning64 instances

    64 of 6286 stops don't say whether a wheelchair user can board there.

    Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all.

    Fix: Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. (A column in stops.txt; your scheduling software likely has it.)

    Finding code: scorecard_wheelchair_boarding_unknown · Read the fix guide for scorecard_wheelchair_boarding_unknown · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning23 instances

    23 of 230 trips scheduled during the sampling window had no live predictions.

    Riders on those trips get schedule times labeled as live. Caltrans asks that every trip you run shows up in TripUpdates.

    Fix: Ask your AVL vendor to check that every vehicle assignment reaches TripUpdates. School-day and tripper runs are the ones most often left out. (A vendor data-mapping question.)

    Finding code: scorecard_rt_trip_coverage · Read the fix guide for scorecard_rt_trip_coverage · See GTFS-Realtime reference (opens the GTFS-Realtime reference on an external site)

  • Warning9 instances

    Some service calendars in the feed have already ended.

    Expired calendars are dead weight and can hide real schedule problems from your staff and vendors.

    Fix: Remove past service periods the next time you export the feed. (One setting in most export tools.)

    Finding code: expired_calendar · Read the fix guide for expired_calendar · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning9 instances

    Some service calendars have no days of the week switched on.

    Trips tied to these calendars never run; they are dead data that can mask real schedule problems.

    Fix: Delete the empty calendars or set their service days. (A few minutes in your scheduling software.)

    Finding code: service_has_no_active_day_of_the_week · Read the fix guide for service_has_no_active_day_of_the_week · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning7 instances

    Route short name too long (flagged by the MobilityData validator).

    See the linked rule for what this affects.

    Fix: Review the rule documentation for 'route_short_name_too_long' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)

    Finding code: route_short_name_too_long · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info16 instances

    The feed has a stretch of two weeks or more with no service running.

    A long gap can mean dates were left out of the calendar. Apps then show no trips on those days.

    Fix: Check whether the gap is real, like a seasonal break; if not, add the missing dates to the calendar. (A review of your calendar dates.)

    Finding code: big_gap_in_service · Read the fix guide for big_gap_in_service · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info9 instances

    Some files contain columns that are not part of the GTFS spec.

    Harmless to riders, but apps ignore these columns and they can hide typos in real column names.

    Fix: Check the flagged column names for misspellings of standard GTFS fields; remove them if they are vendor extras. (A quick look at the flagged files.)

    Finding code: unknown_column · Read the fix guide for unknown_column · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info1 instance

    Some service dates fall outside the date window set in feed_info.txt.

    feed_info.txt should span every day your service runs, so apps know when the data applies.

    Fix: Widen feed_start_date and feed_end_date to cover all service dates, or fix the dates that fall outside. (Two fields in feed_info.txt, or one export setting.)

    Finding code: service_window_outside_feed_period · Read the fix guide for service_window_outside_feed_period · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

NTD GTFS readiness Ready

Published at a public URL, valid, current, and identified with agency_id: the four feed checks for RY2026 all hold here. Only your own D-10 and P-50 filings make that official; this is a heads-up, not a determination.

Published Ready
Published at a public URL.
Valid Ready
Passes validation with no errors.
Current Ready
Service data covers the next 194 days.
agency_id provided Ready
agency.txt provides agency_id. For RY2026, keep one stable value for each NTD reporter represented in the feed and crosswalk each value on the P-50 form.
agency_id equals your NTD ID (optional) Not checked yet
This feed provides agency_id. For RY2026, keep one stable value for each NTD reporter represented in the feed and crosswalk it on the P-50 form. The value does not need to equal the five-digit NTD ID; we do not have that ID on file, so the optional equality comparison is not checked yet.
shapes.txt covers your trips Ready
All 32072 trips have a shape in shapes.txt.

In plain words: if you report to the federal transit database, you have to publish a working, up-to-date feed, provide a stable agency_id for each represented reporter, and confirm the feed and P-50 crosswalk each year. This box is a heads-up; your filings are the official check.

A readiness signal mapping this feed to the FTA National Transit Database GTFS requirement (Report Year 2023 onward: a public, valid, current feed, certified annually on the D-10). For RY2026, each represented reporter needs a stable agency_id, unique within the feed and crosswalked to its five-digit NTD ID on P-50; the values do not need to be equal. FTA also requires shapes.txt in the published GTFS: Full Reporters from Report Year 2025, and Reduced, Rural, and Tribal Reporters from Report Year 2026. Not an official determination; your certification is the official check.

Conformance mark Awarded

This feed earns the conformance mark: valid, current, and stating wheelchair access on nearly every stop and trip.

GTFS conformance mark for King County Metro

Valid Met
Passes validation with no errors.
Current Met
Service data covers the next 194 days.
Accessible Met
States wheelchair access on 99% of stops and 100% of trips.

In plain words: earn this mark when your feed passes validation, has not expired, and says whether nearly every stop and trip is wheelchair accessible.

A pass credential for a feed that is valid, current, and states wheelchair access on nearly every stop and trip. Accessibility here measures what the feed publishes, not whether a stop is physically usable. How the conformance mark works.

Realtime reliability

The realtime feed responded on 100.0% of 200 checks in the 31 days to 2026-09-15, with 18s median lag.

Sampled on a schedule between full scores, so this tracks uptime and freshness over time rather than at a single moment. The window ends at the newest observation, which is not always today: if the monitor stops, this window stops with it.

Live predictions vs schedule

Arrival predictions ran right on the schedule, and stayed within 169s nine times in ten. They were on time (about a minute early to five late) 95.7% of the time. 97.4% of reported vehicle positions sat on or near the published route shape.

From the last full realtime sample: how far live arrival predictions sat from the schedule, and whether vehicle positions fell on the route. These feed the realtime score; they change no other category.

Clears the Google and Apple Maps four-week coverage bar. This feed has 192 days of service ahead, clearing the four-week (28-day) window Maps asks for. No validator errors either, so riders keep seeing this agency in their trip planners; warnings lower the grade here but do not remove a feed from Maps.

How this agency maps to the standards

The scorecard is a data-quality lens, not a compliance determination. Its universal references describe good GTFS and useful rider information. Useful references here are GTFS Schedule Best Practices, GTFS-Realtime Best Practices, MobilityData grading scheme, Google Transit publication guidance, FTA National Transit Database GTFS requirement. Read the full standards crosswalk.

A local transit-data support resource is WSDOT Transportation Data. WSDOT builds and publishes GTFS for Washington transit agencies. This resource supports agencies; it is not a scoring authority.

Correctness 80 / 100
GTFS Schedule best practices, checked by the MobilityData validator. MobilityData grading covers stop locations, route names, and colors. Google Transit requires a feed to pass validation for publication. FTA NTD readiness also checks that the published feed is valid.
Freshness 100 / 100
GTFS Schedule best practices call for a dataset that stays current. An expired calendar can remove service from Google Transit and other rider trip planners. FTA NTD readiness also checks that the published feed is current.
Rider experience 100 / 100
GTFS Best Practices for rider-facing fields. MobilityData grading covers stop names and headsigns.
Realtime quality 96 / 100
GTFS-Realtime best practices: a stable URL, high uptime, and frequent updates.

Part of the Washington portfolio: the same scorecards for every feed we track in that group, on one free page.

Show your grade

Put a badge on your agency site or feed README. It updates after each completed scoring check and links back to this scorecard.

King County Metro GTFS data quality grade: A

Prefer a shields.io style? Point a dynamic endpoint badge at the published badge.json.

Cite this record

This page updates on every check. The record below does not: it is the dated file this grade came from, published at https://gtfsscorecard.org/data/artifacts/king-county-metro/2026-09-13.json and never overwritten, pinning the grade, category scores, rubric version, validator version, reader archive profile, and the scored feed's sha256 as they stood on 2026-09-13. Use it in a board packet, a regulatory filing, or a research citation instead of linking the live page, whose content will differ on your next visit.

Citing the tool itself rather than one agency's record? Use the repo's CITATION.cff.