Feed status · checked 2026-09-13
Washington Metropolitan Area Transit Authority (WMATA) Bus
Based on a Mobility Database mirror copy of the feed source on file; publisher ownership is not verified
Service mode Bus
unchanged since 2026-09-12
Catalogued in District of Columbia.
Heads-up: The score rose 21 points in one step, from 58 on 2026-09-01 to 78 on 2026-09-12. A jump this size usually means the export changed rather than the service. Worth checking the run on this date. (checked 2026-09-12). This can be a brief vendor export glitch; watch the next update before acting.
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 33 hours ago; last fetch returned HTTP 401.
Measured 3 of 4 score categories from the Mobility Database's mirror copy of the feed.
How we measured this
Confidence in this measurement: provisional.
- Realtime quality was not measured this run. It does not count against the grade.
- The configured feed URL was unreachable, so the Mobility Database's hosted mirror copy was scored instead. Publisher ownership of the configured 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
Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.Likely your team
7540 of 7540 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.
⏱ A column in stops.txt; your scheduling software likely has it.worth about +25 points in its category
Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.Likely your export tool
98429 of 98429 trips don't say whether the vehicle is wheelchair accessible. Even with accessible stops, riders need to know the bus itself can take them.
⏱ A default or per-trip field in your export.worth about +15 points in its category
Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.
The feed contains no fare information. Riders see 'fare unknown' in trip planners and can't budget their trip; visitors are most affected.
⏱ A small file for most flat-fare systems.worth about +15 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
- 7540 of 7540 stops don't say whether a wheelchair user can board there.
- Next action
- Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.
- 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
- Feed evidence
- 98429 of 98429 trips don't say whether the vehicle is wheelchair accessible.
- Next action
- Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.
- 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
- Feed evidence
- The feed contains no fare information.
- Next action
- Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.
- 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.
Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. · Read the fix guide for scorecard_wheelchair_boarding_unknown
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.
Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip. · Read the fix guide for scorecard_wheelchair_accessible_unknown
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.
Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead. · Read the fix guide for scorecard_no_fare_data
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 195 days.
- Published accessibility data
- Accessibility information is stated for 0% of stops and 0% of trips. This measures published data, not whether stops or vehicles are physically usable.
- Fare information
- No fare information is published in the feed.
- Realtime information
- Realtime-feed availability and live-arrival coverage are not known from this scorecard.
Important: This does not rate service reliability. Riders should confirm current service alerts, fares, and accessibility accommodations with the transit operator before traveling.
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
The MobilityData validator flagged 6 kinds of issue across 21 instances (0 error, 4 warning, 17 informational).
Service data covers the next 195 days.
0% of stops state wheelchair accessibility (0% marked accessible, 0% marked not accessible). This measures what the feed publishes, not whether a stop is physically usable. Fare data is not published.
0% of stops state accessibility (0% marked accessible). Reflects what the feed states, not verified physical usability.
2 accessibility depth signals
51 route badge(s) pair a color and text color below the WCAG 4.5:1 contrast bar (A11, A12, A25, A27, A28, and more).
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.
7534 stop name(s) use abbreviations or symbols a screen reader may mispronounce, with no spoken form set ("Tantallon Dr+Asbury Dr", "Tantallon Dr+Buckmaster Ln", "Tantallon Dr+Asbury Dr", and more).
Consider: Add tts_stop_name with the spoken form, e.g. 'Main Street and Second Avenue', for the affected stops.
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.
This agency publishes realtime, but the feed needs an access key we don't have yet. Nothing here counts against the grade.
Routes and stops
Each route is drawn once, using the longest shape its trips follow; stops are the dots.
This feed has 7540 stops.
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.
- A11 (teal)
- A12 (teal)
- A1X (teal)
- A25 (teal)
- A27 (teal)
- A28 (teal)
- A29 (teal)
- A40 (red)
- A49 (teal)
- A58 (teal)
- A66 (teal)
- A70 (teal)
- A71 (purple)
- A76 (purple)
- A90 (teal)
- C11 (teal)
- C13 (red)
- C15 (teal)
- C17 (teal)
- C21 (red)
- C23 (teal)
- C25 (teal)
- C26 (teal)
- C27 (teal)
- C29 (teal)
- C31 (red)
- C33 (teal)
- C35 (teal)
- C37 (teal)
- C41 (red)
- C43 (purple)
- C51 (teal)
- C53 (red)
- C55 (teal)
- C57 (teal)
- C61 (red)
- C63 (teal)
- C71 (teal)
- C75 (teal)
- C77 (teal)
- C81 (teal)
- C83 (teal)
- C85 (teal)
- C87 (teal)
- C91 (teal)
- D10 (teal)
- D1X (teal)
- D20 (red)
- D24 (teal)
- D2X (teal)
- D30 (teal)
- D32 (teal)
- D34 (teal)
- D36 (teal)
- D40 (teal)
- D44 (teal)
- D4X (red)
- D50 (teal)
- D5X (red)
- D60 (teal)
- D6X (red)
- D70 (teal)
- D72 (red)
- D74 (teal)
- D80 (red)
- D82 (teal)
- D90 (teal)
- D94 (teal)
- D96 (teal)
- F19 (teal)
- F1X (teal)
- F20 (red)
- F23 (purple)
- F24 (purple)
- F26 (purple)
- F28 (teal)
- F29 (teal)
- F44 (teal)
- F50 (purple)
- F60 (purple)
- F61 (teal)
- F62 (teal)
- F81 (teal)
- F83 (teal)
- F85 (teal)
- M12 (red)
- M20 (red)
- M22 (teal)
- M42 (purple)
- M44 (purple)
- M52 (teal)
- M54 (teal)
- M60 (red)
- M6X (teal)
- M70 (red)
- M82 (teal)
- P10 (teal)
- P12 (purple)
- P14 (teal)
- P15 (teal)
- P16 (teal)
- P1X (teal)
- P20 (teal)
- P21 (purple)
- P24 (purple)
- P30 (red)
- P31 (teal)
- P32 (purple)
- P33 (teal)
- P35 (purple)
- P40 (red)
- P41 (teal)
- P42 (purple)
- P60 (red)
- P61 (teal)
- P62 (purple)
- P63 (purple)
- P66 (teal)
- P72 (purple)
- P73 (purple)
- P87 (purple)
- P90 (teal)
- P93 (teal)
- P94 (teal)
- P96 (teal)
- P97 (purple)
| Route | Type | Line color |
|---|---|---|
| A11 Pentagon-Huntington | Bus | teal |
| A12 Ballston-Hunting Point | Bus | teal |
| A1X Pentagon City-Braddock Rd | Bus | teal |
| A25 Pentagon-S Fairlington-Landmark | Bus | teal |
| A27 Pentagon-Shirlington-Van Dorn St | Bus | teal |
| A28 Pentagon-Holmes Run-Landmark | Bus | teal |
| A29 Metro Ctr-Alexandria W | Bus | teal |
| A40 Columbia Pike-National Landing | Bus | red |
| A49 Columbia Pike-Metro Center | Bus | teal |
| A58 Wilson Blvd-Farragut Sq | Bus | teal |
| A66 Pentagon-Shirlington-Culmore | Bus | teal |
| A70 Glebe Rd | Bus | teal |
| A71 Ballston-King St | Bus | purple |
| A76 Carlin Springs Rd | Bus | purple |
| A90 Pentagon-Mark Center | Bus | teal |
| C11 S Capitol St | Bus | teal |
| C13 MLK Av-Washington Highlands | Bus | red |
| C15 MLK Av-Southern Av | Bus | teal |
| C17 MLK Av-Bellevue | Bus | teal |
| C21 Alabama Av-Benning Rd | Bus | red |
| C23 Alabama Av-Division Av | Bus | teal |
| C25 Pomeroy Rd-Skyland | Bus | teal |
| C26 Stanton Rd-Skyland | Bus | teal |
| C27 Naylor Rd-Shepherd Pkwy | Bus | teal |
| C29 Anacostia-Southern Av | Bus | teal |
| C31 Minnesota Av | Bus | red |
| C33 Sheriff Rd | Bus | teal |
| C35 Deanwood-Naylor Road | Bus | teal |
| C37 Lincoln Hts-Potomac Av | Bus | teal |
| C41 Bladensburg Rd | Bus | red |
| C43 Maryland Av | Bus | purple |
| C51 U St-Anacostia | Bus | teal |
| C53 U St-Congress Hts | Bus | red |
| C55 Union Station-L'Enfant Plaza | Bus | teal |
| C57 U St-Capitol Hts | Bus | teal |
| C61 Brookland-Tenleytown | Bus | red |
| C63 Deanwood-Georgia Av | Bus | teal |
| C71 18 St | Bus | teal |
| C75 Takoma-Georgia Av | Bus | teal |
| C77 Takoma-Fort Totten | Bus | teal |
| C81 Military Rd | Bus | teal |
| C83 Barnaby Woods-Friendship Hts | Bus | teal |
| C85 Nebraska Av-Foggy Bottom | Bus | teal |
| C87 Silver Spring-Tenleytown | Bus | teal |
| C91 LeDroit Park-Georgetown | Bus | teal |
| D10 Pennsylvania Av | Bus | teal |
| D1X Pennsylvania Av Limited | Bus | teal |
| D20 H St | Bus | red |
| D24 E Capitol St | Bus | teal |
| D2X H St Limited | Bus | teal |
| D30 N Capitol St | Bus | teal |
| D32 Rhode Island Av-Fort Lincoln | Bus | teal |
| D34 W Hyattsville-Edgewood-Metro Ctr | Bus | teal |
| D36 K St-Ivy City | Bus | teal |
| D40 7 St-Georgia Av | Bus | teal |
| D44 11 St | Bus | teal |
| D4X 7 St-Georgia Av Limited | Bus | red |
| D50 14 St | Bus | teal |
| D5X 14 St Limited | Bus | red |
| D60 16 St | Bus | teal |
| D6X 16 St Limited | Bus | red |
| D70 Connecticut Av | Bus | teal |
| D72 Connecticut Av-Mt Pleasant | Bus | red |
| D74 Rhode Island Av-Foggy Bottom | Bus | teal |
| D80 Wisconsin Av-Union Station | Bus | red |
| D82 Wisconsin Av-Foggy Bottom | Bus | teal |
| D90 Massachusetts Av-Tenleytown | Bus | teal |
| D94 Gallery Place-Sibley Hospital | Bus | teal |
| D96 Massachusetts Av-Bethesda | Bus | teal |
| F19 Mt Vernon Estate Exp | Bus | teal |
| F1X Richmond Hwy | Bus | teal |
| F20 Leesburg Pike | Bus | red |
| F23 Little River Tpk-George Mason | Bus | purple |
| F24 Little River Tpk-Vienna | Bus | purple |
| F26 E Falls Church-Annandale | Bus | purple |
| F28 Kings Park W Exp | Bus | teal |
| F29 Braddock Rd | Bus | teal |
| F44 Columbia Pike-Pentagon | Bus | teal |
| F50 Washington Blvd | Bus | purple |
| F60 Arlington Blvd-Fair Oaks | Bus | purple |
| F61 Arlington Blvd-Jermantown Rd | Bus | teal |
| F62 Rosslyn-Arlington Blvd-Dunn Lori | Bus | teal |
| F81 Burke Centre Exp | Bus | teal |
| F83 Cardinal Forest Exp | Bus | teal |
| F85 Little River Tpk-Pentagon | Bus | teal |
| M12 University Blvd | Bus | red |
| M20 Wheaton-Silver Spring | Bus | red |
| M22 Olney-Bethesda | Bus | teal |
| M42 Randolph Rd-College Park | Bus | purple |
| M44 Randolph Rd-Hyattsville Crossing | Bus | purple |
| M52 Colesville Rd-Burtonsville | Bus | teal |
| M54 Colesville Rd-Greencastle | Bus | teal |
| M60 New Hampshire Av | Bus | red |
| M6X New Hampshire Av Limited | Bus | teal |
| M70 East West Hwy | Bus | red |
| M82 River Rd-Falls Rd | Bus | teal |
| P10 Baltimore Av | Bus | teal |
| P12 Laurel-Greenbelt | Bus | purple |
| P14 Kenilworth Av | Bus | teal |
| P15 Riggs Rd-Adelphi | Bus | teal |
| P16 Riggs Rd-White Oak | Bus | teal |
| P1X Baltimore Av Limited | Bus | teal |
| P20 Greenbelt Rd-New Carrollton | Bus | teal |
| P21 Hanover Pkwy-New Carrollton | Bus | purple |
| P24 Good Luck Rd | Bus | purple |
| P30 New Carrollton-Silver Spring | Bus | red |
| P31 New Carrollton-Takoma Langley | Bus | teal |
| P32 Greenbelt-Fort Totten | Bus | purple |
| P33 Queens Chapel Rd | Bus | teal |
| P35 New Carrollton-Fort Totten | Bus | purple |
| P40 Annapolis Rd | Bus | red |
| P41 Landover Rd | Bus | teal |
| P42 Chillum Rd-New Carrollton | Bus | purple |
| P60 MLK Hwy-Suitland | Bus | red |
| P61 Glenarden-Suitland | Bus | teal |
| P62 Deanwood-Branch Av | Bus | purple |
| P63 Central Av-Naylor Rd | Bus | purple |
| P66 Forestville-Suitland | Bus | teal |
| P72 Central Av-Bowie | Bus | purple |
| P73 Central Av-Trade Zone | Bus | purple |
| P87 Brinkley Rd | Bus | purple |
| P90 St Barnabas Rd | Bus | teal |
| P93 Suitland-Birchwood | Bus | teal |
| P94 Suitland-National Harbor | Bus | teal |
| P96 Suitland-Oxon Hill | Bus | teal |
| P97 Southern Av-Ft Washington | Bus | purple |
List every stop
- New Hampshire Av+Quebec St
- Riggs Rd+Ruatan St
- Greenbelt Rd+63 Av
- Greenbelt Rd+63 Av
- Southway+#11 Ct
- Riggs Rd+Ruatan St
- Connecticut Av+Manor Rd
- Southway+#10 Court
- River Rd+Carderock Springs Dr
- Hanover Pkwy+#7800
- Fenton St+Roeder Rd
- Georgia Av+Cameron St
- University Bl+Seek Ln
- University Bl+Seek Ln
- Mandan Rd+Hanover Pkwy
- Georgia Av+Cameron St
- Southway+#7 Court
- N Washington St+Princess St
- Hanover Pkwy+Mandan Rd
- Southway+Ridge Rd
- Greenbelt Rd+Cherrywood Ln
- Lakeside Dr+Lakecrest Dr
- Baltimore Av+Metzerott Rd
- Beltway Plz+Cunningham Dr
- Lanham-Severn Rd+Driscoll Dr
- Helmont Dr+Fenwood Av
- Greenbelt Rd+Branchville Rd
- Greenbelt Rd+48 Av
- Greenbelt Rd+48 Av
- Lakeside Dr+Westway
- Riggs Rd+Saranac St
- Rhode Island Av+University Bl
- Colesville Rd+Spring St
- Lakeside Dr+Westway
- Ridge Rd+18 Ct
- Rockville Pk+South Dr
- Colesville Rd+Spring St
- University Bl+Piney Branch Rd
- Edmonston Rd+Breezewood Dr
- Riggs Rd+Saranac St
- Georgia Av+Spring St
- River Rd+Fenway Dr
- Ridge Rd+21 Ct
- Yoakum Pkwy+Edsall Rd
- Cherrywood Ln+Greenbelt Rd
- New Hampshire Av+Ruatan St
- Cherrywood Ln+#5510
- Westway+Ridge Rd
- New Hampshire Av+Ruatan St
- S Reynolds St+#375 Brent Place Apt
- Georgia Av+Spring St
- Rhode Island Av+University Bl
- MD 190+Congressional C C
- Edmonston Rd+Edmonston Ct
- Southway+Crescent Rd
- Edmonston Rd+Edmonston Ct
- Southway+Crescent Rd
- University Bl+Piney Branch Rd
- Ridge Rd+Gardenway
- Birchwood Dr+Livingston Rd
- Baltimore Av+University Bl
- Rhode Island Av+Apache St
- Connecticut Av+Parsons Rd
- Birchwood Dr+Livingston Rd
- Crescent Rd+Gardenway
- Breezewood Dr+Cherrywood Terr
- Edmonston Rd+Springhill Ct
- Crescent Rd+Gardenway
- Connecticut Av+Montrose Dr
- Colesville Rd+N Noyes Dr
- Colesville Rd+N Noyes Dr
- University Bl+Langley Dr
- Ridge Rd+Hamilton Pl
- Ridge Rd+33 Ct
- Cherrywood Ln+Breezewood Dr
- Fisher Rd+St Moritz Dr
- River Rd+Bradley Bl
- Riggs Rd+Apache St
- Georgia Av+Noyes Dr
- Rhode Island Av+Cherokee St
- University Bl+Patton Dr
- Georgia Av+Noyes Dr
- Riggs Rd+Apache St
- Ridge Rd+35 Ct
- Guinea Rd+Bronte Dr
- Ridge Rd+38 Ct
- Rhode Island Av+Cherokee St
- Edmonston Rd+Springhill Dr
- River Rd+Harrington Dr
- Burke Lake Rd+Grantham St
- Lanham-Severn Rd+Cowan Av
- Metzerott Rd+Presidential Towers
- Edmonston Rd+Springhill Dr
- Baltimore Av+Cherokee St
- Springhill Dr+Lakeside Dr
- Baltimore Av+Cherokee St
- Springhill Dr+Lakeside Dr
- Southampton Dr+Ames Rd
- Georgia Av+Highland Dr
- Springhill Dr+Market Ln
- Springhill Dr+Market Ln
- Lanham-Severn Rd+Church La
- Metzerott Rd+New Hampshire Av
- Georgia Av+Highland Dr
- Southampton Dr+#201
- Riggs Rd+Adelphi Rd
- Zion Dr+Sideburn Rd
- Cherrywood Ln+Cherrywood Ct
- Riggs Rd+Adelphi Rd
- River Rd+Durham Dr
- Colesville Rd+Dale Dr
- Southampton Dr+Ames Rd
- Colesville Rd+Dale Dr
- Southampton Dr+Ames Rd
- Burke Lake Rd+Grantham St
- Rhode Island Av+Fox St
- Southampton Dr+Beacon Rd
- Southampton Dr+Beacon Rd
- University Bl E+E Wayne Av
- Old Georgetown Rd+Alta Vista Rd
- Galloway Dr+Colony Rd
- River Rd+Congressional Pkwy
- River Rd+Congressional Pkwy
- University Bl+Buckingham Dr
- Rhode Island Av+Fox St
- Old Georgetown Rd+Alta Vista Rd
- Baltimore Av+Erie St
- 11 St+Myrtle Av
- 11 St+Myrtle Av
- Baltimore Av+Erie St
- Northampton Dr+Avenel Rd
- Georgia Av+Luzerne Av
- Georgia Av+Luzerne Av
- Northampton Dr+Avnel Rd
- Cherrywood Ln+Springhill Dr
- Ridge Rd+Northway
- Kenilworth Av+Crescent Rd
- Rolling Rd+Fern Park Dr
- Riggs Rd+Hughes Rd
- Ridge Rd+Northway
- Riggs Rd+Hughes Rd
- River Rd+Belle Terre Wy
- Northampton Dr+Beacon Rd
- Northampton Dr+Colony Rd
- Colesville Rd+Sligo Creek Pkwy
- Connecticut Av+Beach Dr
- Northampton Dr+Beacon Rd
- Northampton Dr+Colony Rd
- Colesville Rd+St Andrews Wy
- N Washington St+Oronoco St
- Ivy Ln+Crowne Plaza
- Ivy Ln+#6404
- Connecticut Av+Beach Dr
- 9 St+Chapel Av
- 9 St+Railroad Av
- River Rd+Belle Terre Wy
- Rhode Island Av+Kenesaw St
- Baltimore Av+Indian Ln
- Ivy Ln+Turner Pl
- Ivy Ln+6303
- Baltimore Av+Indian Ln
- Guinea Rd+Bronte Dr
- Riggs Rd+Buck Lodge Rd
- Rhode Island Av+Kenesaw St
- Ivy Ln+#6301
- Georgia Av+Seminary Rd
- Ridge Rd+Plateau Pl
- Connecticut Av+Culver St X
- Ridge Rd+Plateau Pl
- Riggs Rd+Buck Lodge Rd
- Georgia Av+Seminary Pl
- Ft Washington Rd+Rexburg Av
- Connecticut Av+Culver St
- Old Georgetown Rd+Beech Av
- University Bl E+E Melbourne Av
- Old Georgetown Rd+Beech Av
- Ridge Rd+58 Ct
- Cherrywood Ln+Ivy Ln
- Adelphi Rd+19 Av
- University Bl E+E Melbourne Av
- Cherrywood Ln+Ivy Ln
- River Rd+Newbridge Dr
- Ridge Rd+#57 Court
- Colesville Rd+Leighton Av
- Cherrywood Ln+US Court House
- Rhode Island Av+Hollywood Rd
- Connecticut Av+Grace Episcopal School
- Rhode Island Av+Hollywood Rd
- Colesville Rd+Leighton Av
- New Hampshire Av+Adelphi Rd
- Connecticut Av+Grace Episcopal School
- Baltimore Av+Hollywood Rd
- Helmont Dr+Ironton Dr
- Baltimore Av+Hollywood Rd
- New Hampshire Av+Dilston Rd
- University Bl E+E Franklin Av
- Colesville Rd+Indian Spring Dr
- Riggs Rd+Heatherwood Ct
- Colesville Rd+Indian Spring Dr
- Riggs Rd+Heatherwood Ct
- Old Georgetown Rd+Ryland Dr
- Connecticut Av+Dunnel Ln
- Connecticut Av+Dunnel Ln
- Old Georgetown Rd+Ryland Dr
- Southampton Dr+Lancashire Dr
- Rhode Island Av+Muskogee St
- River Rd+Persimmon Tree Rd
- Baltimore Av+Cherry Hill Rd
- Rhode Island Av+Muskogee St
- Md-212+Buck Lodge Ter
- Riggs Rd+Buck Lodge Ter
- River Rd+Persimmon Tree Rd
- Baltimore Av+Cherry Hill Rd
- Southampton Dr+Thames St
- New Hampshire Av+Oakview Dr
- Connecticut Av+Saul Rd
- Riggs Rd+Cruze Pl
- New Hampshire Av+Oakview Dr
- Connecticut Av+Saul Rd
- Riggs Rd+Lackawanna St
- Georgia Av+Forest Glen Rd
- Edgewood Rd+49 Av
- Seven Springs Vil+#9316
- River Rd+Hall Rd
- S Reynolds St+#260 The Summit Apt
- Edgewood Rd+Rhode Island Av
- Edgewood Rd+49 Av
- River Rd+Hall Rd
- Edgewood Rd+Rhode Island Av
- Georgia Av+Forest Glen Rd
- Cherry Hill Rd+47 Av
- River Rd+Counselman Rd
- Rolling Rd+Braddock Rd
- River Rd+Counselman Rd
- University Bl+Williamsburg Dr
- Riggs Rd+Mistletoe Pl
- Bowie State U+MLK Center
- Riggs Rd+Mistletoe Pl
- University Bl+Williamsburg Dr
- Fisher Rd+Damian Dr
- Old Georgetown Rd+Kingswood Rd
- Connecticut Av+Franklin St
- Old Georgetown Rd+Kingswood Rd
- Colesville Rd+Lanark Wy
- Ft Washington Rd+Rexburg Av
- Falls Rd+River Rd
- University Bl+Lexington Dr
- Georgia Av+Belvedere Bl
- Georgia Av+Belvedere Bl
- University Bl+Lexington Dr
- and 7290 more (see the full list on the map or in the GeoJSON)
Over time
Overall score across the last 6 checks — unchanged since 2026-09-12.
Show the numbers
| Check | Score | Change |
|---|---|---|
| 2026-08-06 | 68.4 | first check |
| 2026-08-07 | 68.0 | down 0.4 |
| 2026-08-10 | 66.8 | down 1.2 |
| 2026-09-01 | 57.6 | down 9.2 |
| 2026-09-12 | 78.3 | up 20.7 |
| 2026-09-13 | 78.3 | no change |
What changed since your last check
- Correctness no change
- Freshness no change
- Rider experience no change
What changed over time
On 2026-08-06 this feed started at grade D. On 2026-09-01 the grade moved from D to F. On 2026-09-12 the grade moved from F to C. On 2026-09-13 the check no longer reported: some service calendars in the feed have already ended. As of 2026-09-13 it holds grade C.
A plain-language history of this feed, newest first.
- 2026-09-12 Grade went F to C, freshness rose 82 points.
- 2026-09-01 Grade went D to F, freshness fell 37 points.
Everything we checked
9 findings, ordered by severity.
Show every finding
- Warning98429 instances
98429 of 98429 trips don't say whether the vehicle is wheelchair accessible.
Even with accessible stops, riders need to know the bus itself can take them.
Fix: Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip. (A default or per-trip field in your export.)
Finding code: scorecard_wheelchair_accessible_unknown · Read the fix guide for scorecard_wheelchair_accessible_unknown · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)
- Warning7540 instances
7540 of 7540 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)
- Warning3 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)
- Warning1 instance
Many of the feed's trips don't run at all in the next 7 days.
It usually means old service periods are still in the export, making the feed bigger and harder to check.
Fix: Trim past service periods the next time you export. (One setting in most export tools.)
Finding code: trip_coverage_not_active_for_next7_days · Read the fix guide for trip_coverage_not_active_for_next7_days · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
The feed contains no fare information.
Riders see 'fare unknown' in trip planners and can't budget their trip; visitors are most affected.
Fix: Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead. (A small file for most flat-fare systems.)
Finding code: scorecard_no_fare_data · Read the fix guide for scorecard_no_fare_data · See GTFS Best Practices (opens GTFS Best Practices on an external site)
- Info13 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)
- Info2 instances
The feed includes a file that is not part of the GTFS spec.
Apps ignore files they don't know, and a stray file can hide a misspelled standard file name.
Fix: Check the flagged file name for a typo of a standard GTFS file. Remove it if it is a vendor extra. (A quick look at the flagged file.)
Finding code: unknown_file · Read the fix guide for unknown_file · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Info1 instance
Future calendar (flagged by the MobilityData validator).
See the linked rule for what this affects.
Fix: Review the rule documentation for 'future_calendar' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)
Finding code: future_calendar · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Info1 instance
Future feed (flagged by the MobilityData validator).
See the linked rule for what this affects.
Fix: Review the rule documentation for 'future_feed' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)
Finding code: future_feed · 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 195 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) Different (allowed)
- Your feed's agency_id is 1; your National Transit Database ID is 30030. A feed that serves several agencies (a shared regional feed) can legitimately carry more than one agency_id. The values do not need to equal the five-digit NTD ID, so this difference is allowed and carries no score. Confirm that P-50 crosswalks agency_id 1 to NTD ID 30030, and keep the feed value stable. Do not change it solely to make the two values equal.
- shapes.txt covers your trips Ready
- All 98429 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 Not yet
One requirement remains for this feed to earn the conformance mark. States wheelchair access on 0% of stops and 0% of trips; the mark needs 90% of each.
- Valid Met
- Passes validation with no errors.
- Current Met
- Service data covers the next 195 days.
- Accessible Not yet
- States wheelchair access on 0% of stops and 0% of trips; the mark needs 90% of each.
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.
Clears the Google and Apple Maps four-week coverage bar. This feed has 193 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.
- Correctness 90 / 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 45 / 100
- GTFS Best Practices for rider-facing fields. MobilityData grading covers stop names and headsigns.
- Realtime quality Access needed to measure
- GTFS-Realtime best practices: a stable URL, high uptime, and frequent updates.
Part of the District of Columbia portfolio: the same scorecards for every feed we track in that group, on one free page.
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/washington-metropolitan-area-transit-authority-wmata/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.