← All agencies

Feed status · checked 2026-08-23

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

61.3 / 100

down 0.4 since 2026-08-22

Catalogued in District of Columbia.

Expires in 20 daysAccessibility gapsRealtime access needed

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 47 minutes 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

Fix 01

Re-export with a validity window that reaches at least 60 days out.Likely your export tool

Service data runs out in 20 day(s). When the calendar runs out, trip planners stop showing this agency. Fixing it now is calmer than after riders notice.

⏱ One export setting.worth about +60 points in its category

Fix 02

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

7532 of 7532 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

Fix 03

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

183928 of 183928 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

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
Service data runs out in 20 day(s).
Next action
Re-export with a validity window that reaches at least 60 days out.
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. Re-export with a validity window that reaches at least 60 days out. · Read the fix guide

    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. 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

    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. 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

    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 20 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.

Send the agency a note

Supporting this agency? Copy this and email it to them. It names what lapsed, why it matters to riders, and the one setting to change.

Score by category

Correctness89.0 / 100

The MobilityData validator flagged 4 kinds of issue across 16 instances (0 error, 12 warning, 4 informational).

Freshness33.3 / 100

Service data runs out in 20 day(s). Publish an updated feed soon or riders will lose trip planning.

Rider experience45.0 / 100

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.

Accessibility0 / 100

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.

  • 7525 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.

Realtime qualityNot yet measured

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 7532 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.

  • 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)
  • EXP (gray)
  • 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)
  • LCL (gray)
  • 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)
Routes in Washington Metropolitan Area Transit Authority (WMATA) Bus's feed
RouteTypeLine color
A11 Pentagon-HuntingtonBusteal
A12 Ballston-Hunting PointBusteal
A1X Pentagon City-Braddock RdBusteal
A25 Pentagon-S Fairlington-LandmarkBusteal
A27 Pentagon-Shirlington-Van Dorn StBusteal
A28 Pentagon-Holmes Run-LandmarkBusteal
A29 Metro Ctr-Alexandria WBusteal
A40 Columbia Pike-National LandingBusred
A49 Columbia Pike-Metro CenterBusteal
A58 Wilson Blvd-Farragut SqBusteal
A66 Pentagon-Shirlington-CulmoreBusteal
A70 Glebe RdBusteal
A71 Ballston-King StBuspurple
A76 Carlin Springs RdBuspurple
A90 Pentagon-Mark CenterBusteal
C11 S Capitol StBusteal
C13 MLK Av-Washington HighlandsBusred
C15 MLK Av-Southern AvBusteal
C17 MLK Av-BellevueBusteal
C21 Alabama Av-Benning RdBusred
C23 Alabama Av-Division AvBusteal
C25 Pomeroy Rd-SkylandBusteal
C26 Stanton Rd-SkylandBusteal
C27 Naylor Rd-Shepherd PkwyBusteal
C29 Anacostia-Southern AvBusteal
C31 Minnesota AvBusred
C33 Sheriff RdBusteal
C35 Deanwood-Naylor RoadBusteal
C37 Lincoln Hts-Potomac AvBusteal
C41 Bladensburg RdBusred
C43 Maryland AvBuspurple
C51 U St-AnacostiaBusteal
C53 U St-Congress HtsBusred
C55 Union Station-L'Enfant PlazaBusteal
C57 U St-Capitol HtsBusteal
C61 Brookland-TenleytownBusred
C63 Deanwood-Georgia AvBusteal
C71 18 StBusteal
C75 Takoma-Georgia AvBusteal
C77 Takoma-Fort TottenBusteal
C81 Military RdBusteal
C83 Barnaby Woods-Friendship HtsBusteal
C85 Nebraska Av-Foggy BottomBusteal
C87 Silver Spring-TenleytownBusteal
C91 LeDroit Park-GeorgetownBusteal
D10 Pennsylvania AvBusteal
D1X Pennsylvania Av LimitedBusteal
D20 H StBusred
D24 E Capitol StBusteal
D2X H St LimitedBusteal
D30 N Capitol StBusteal
D32 Rhode Island Av-Fort LincolnBusteal
D34 W Hyattsville-Edgewood-Metro CtrBusteal
D36 K St-Ivy CityBusteal
D40 7 St-Georgia AvBusteal
D44 11 StBusteal
D4X 7 St-Georgia Av LimitedBusred
D50 14 StBusteal
D5X 14 St LimitedBusred
D60 16 StBusteal
D6X 16 St LimitedBusred
D70 Connecticut AvBusteal
D72 Connecticut Av-Mt PleasantBusred
D74 Rhode Island Av-Foggy BottomBusteal
D80 Wisconsin Av-Union StationBusred
D82 Wisconsin Av-Foggy BottomBusteal
D90 Massachusetts Av-TenleytownBusteal
D94 Gallery Place-Sibley HospitalBusteal
D96 Massachusetts Av-BethesdaBusteal
EXP Friendship Hts-N Bethesda ExpBusgray
F19 Mt Vernon Estate ExpBusteal
F1X Richmond HwyBusteal
F20 Leesburg PikeBusred
F23 Little River Tpk-George MasonBuspurple
F24 Little River Tpk-ViennaBuspurple
F26 E Falls Church-AnnandaleBuspurple
F28 Kings Park W ExpBusteal
F29 Braddock RdBusteal
F44 Columbia Pike-PentagonBusteal
F50 Washington BlvdBuspurple
F60 Arlington Blvd-Fair OaksBuspurple
F61 Arlington Blvd-Jermantown RdBusteal
F62 Rosslyn-Arlington Blvd-Dunn LoriBusteal
F81 Burke Centre ExpBusteal
F83 Cardinal Forest ExpBusteal
F85 Little River Tpk-PentagonBusteal
LCL Friendship Hts-N Bethesda LocalBusgray
M12 University BlvdBusred
M20 Wheaton-Silver SpringBusred
M22 Olney-BethesdaBusteal
M42 Randolph Rd-College ParkBuspurple
M44 Randolph Rd-Hyattsville CrossingBuspurple
M52 Colesville Rd-BurtonsvilleBusteal
M54 Colesville Rd-GreencastleBusteal
M60 New Hampshire AvBusred
M6X New Hampshire Av LimitedBusteal
M70 East West HwyBusred
M82 River Rd-Falls RdBusteal
P10 Baltimore AvBusteal
P12 Laurel-GreenbeltBuspurple
P14 Kenilworth AvBusteal
P15 Riggs Rd-AdelphiBusteal
P16 Riggs Rd-White OakBusteal
P1X Baltimore Av LimitedBusteal
P20 Greenbelt Rd-New CarrolltonBusteal
P21 Hanover Pkwy-New CarrolltonBuspurple
P24 Good Luck RdBuspurple
P30 New Carrollton-Silver SpringBusred
P31 New Carrollton-Takoma LangleyBusteal
P32 Greenbelt-Fort TottenBuspurple
P33 Queens Chapel RdBusteal
P35 New Carrollton-Fort TottenBuspurple
P40 Annapolis RdBusred
P41 Landover RdBusteal
P42 Chillum Rd-New CarrolltonBuspurple
P60 MLK Hwy-SuitlandBusred
P61 Glenarden-SuitlandBusteal
P62 Deanwood-Branch AvBuspurple
P63 Central Av-Naylor RdBuspurple
P66 Forestville-SuitlandBusteal
P72 Central Av-BowieBuspurple
P73 Central Av-Trade ZoneBuspurple
P87 Brinkley RdBuspurple
P90 St Barnabas RdBusteal
P93 Suitland-BirchwoodBusteal
P94 Suitland-National HarborBusteal
P96 Suitland-Oxon HillBusteal
P97 Southern Av-Ft WashingtonBuspurple
List every stop
  • Old Fort Rd+Old PiscataWy Rd
  • Birchwood Dr+Fountain Rd
  • 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
  • Jones Mill Rd+Coquelin Ter
  • Georgia Av+Cameron St
  • University Bl+Seek Ln
  • University Bl+Seek Ln
  • Jones Mill Rd+Coquelin Ter
  • 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
  • Jones Bridge Rd+Altimont Ln
  • Jones Bridge Rd+Jones Bridge Ct
  • Rhode Island Av+MD 193
  • Colesville Rd+Spring St
  • Lakeside Dr+Westway
  • Ridge Rd+18 Ct
  • Rockville Pk+South Dr
  • Colesville Rd+Spring St
  • Jones Bridge Rd+Brierly Rd
  • Jones Bridge Rd+Brierly Ct
  • University Bl+Piney Branch Rd
  • Edmonston Rd+Breezewood Dr
  • Riggs Rd+Saranac St
  • Archives II Bldg Rdwy+Main Entrance
  • Georgia Av+Spring St
  • River Rd+Fenwy Dr
  • Ridge Rd+21 Ct
  • Yoakum Pkwy+Edsall Rd
  • Jones Bridge Rd+Montgomery Av
  • Jones Bridge Rd+Montgomery Av
  • Cherrywood Ln+Greenbelt Rd
  • New Hampshire Av+Ruatan St
  • Jones Bridge Rd+University Rd
  • Cherrywood Ln+#5510
  • Westway+Ridge Rd
  • New Hampshire Av+Ruatan St
  • S Reynolds St+#375 Brent Place Apt
  • Georgia Av+Spring St
  • Colesville Rd+S Noyes Dr
  • Jones Bridge Rd+University Rd
  • Rhode Island Av+University Bl
  • Jones Bridge Rd+Connecticut Av
  • MD 190+Congressional C C
  • Colesville Rd+S Noyes Dr
  • Edmonston Rd+Edmonston Ct
  • Birchwood Dr+Dunwoody Av
  • Jones Bridge Rd+Connecticut Av
  • Jones Bridge Rd+Platt Ridge Dr
  • Southway+Crescent Rd
  • Edmonston Rd+Edmonston Ct
  • Jones Bridge Rd+Hawkins Ln
  • Southway+Crescent Rd
  • University Bl+Piney Branch Rd
  • Jones Bridge Rd+Platt Ridge Dr
  • Old Fort Rd+#12309
  • Jones Bridge Rd+Hawkins Ln
  • Laurel-Bowie Rd+Rustic Hill Dr
  • Georgia Av+Ballard St
  • Georgia Av+Ballard St
  • 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
  • Southampton Dr+Ames Rd
  • 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
  • Colesville Rd+Rowen Rd
  • Springhill Dr+Lakeside Dr
  • Southampton Dr+Ames Rd
  • Georgia Av+Highland Dr
  • Colesville Rd+Rowen Rd
  • 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
  • Old Fort Rd+#12309
  • Zion Dr+Sideburn Rd
  • Cherrywood Ln+Cherrywood Ct
  • Riggs Rd+Adelphi Rd
  • River Rd+Durham Dr
  • Georgia Av+Grace Church Rd
  • Colesville Rd+Dale Dr
  • Southampton Dr+Ames Rd
  • Colesville Rd+Dale Dr
  • Southampton Dr+Ames Rd
  • Georgia Av+Grace Church 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
  • Colesville Rd+Sligo Creek Pkwy
  • Cherrywood Ln+Springhill Dr
  • Ridge Rd+Northway
  • Kenilworth Av+Crescent Rd
  • Rolling Rd+Lyngate Ct
  • Northampton Dr+Beacon Rd
  • Northampton Dr+Avenel Rd
  • 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
  • New Hampshire Av+Fox St
  • Northampton Dr+Colony Rd
  • Colesville Rd+St Andrews Wy
  • University Bl E+E Schuyler Rd
  • N Washington St+Oronoco St
  • Ivy Ln+Crowne Plaza
  • New Hampshire Av+Fox St
  • Ivy Ln+#6404
  • University Bl E+E Schuyler Rd
  • Connecticut Av+Beach Dr
  • 9 St+Chapel Av
  • 9 St+Railroad Av
  • River Rd+Belle Terre Wy
  • Rhode Island Av+Kenesaw St
  • Old Georgetown Rd+Spruce Tree Av
  • Baltimore Av+Indian Ln
  • Colesville Rd+Franklin Av
  • 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 Dr
  • 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 St
  • Old Georgetown Rd+Wyngate Dr
  • 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
  • and 7282 more (see the full list on the map or in the GeoJSON)

Over time

Overall score across the last 4 checks — down 0.4 since 2026-08-22.

2026-08-06: 68.42026-08-07: 68.02026-08-22: 61.72026-08-23: 61.3
Show the numbers
Overall score by check, with the change from the previous check
CheckScoreChange
2026-08-0668.4 first check
2026-08-0768.0 down 0.4
2026-08-2261.7 down 6.3
2026-08-2361.3 down 0.4

What changed since your last check

  • Correctness no change
  • Freshness down 1.7
  • Rider experience no change

What changed in this feed

Overall score fell 0.4 points since 2026-08-22.

Same feed file as 2026-08-22; the published zip did not change.

Subscribe to this feed’s changes (Atom) to hear about grade drops and export changes in a reader, with no sign-up.

What changed over time

On 2026-08-06 this feed started at grade D. On 2026-08-22 feed entered the expiry window (21 days of service left). As of 2026-08-23 it holds grade D.

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

  • 2026-08-22 Feed entered the expiry window (21 days of service left).

Everything we checked

8 findings, ordered by severity.

Show every finding
  • Warning183928 instances

    183928 of 183928 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 · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning7532 instances

    7532 of 7532 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 · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning10 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 · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning2 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 · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning1 instance

    Service data runs out in 20 day(s).

    When the calendar runs out, trip planners stop showing this agency. Fixing it now is calmer than after riders notice.

    Fix: Re-export with a validity window that reaches at least 60 days out. (One export setting.)

    Finding code: scorecard_feed_expiring_soon · Read the fix guide · See GTFS Best Practices (opens GTFS Best Practices 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 · See GTFS Best Practices (opens GTFS Best Practices on an external site)

  • Info2 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 · 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 · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

NTD GTFS readiness Needs attention

This feed is close to NTD-ready. Service data runs out in 20 days; renew before you certify.

Published Ready
Published at a public URL.
Valid Ready
Passes validation with no errors.
Current Needs attention
Service data runs out in 20 days; renew before you certify.
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 183928 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

Two requirements remain for this feed to earn the conformance mark. Service data runs out in 20 days; renew to qualify. 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 Not yet
Service data runs out in 20 days; renew to qualify.
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.

At risk for the Google and Apple Maps four-week coverage bar. This feed has 20 days of service left. Maps needs at least four weeks (28 days) of upcoming service, so your agency will fall out of trip planners soon. Re-export with a longer calendar.

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 89 / 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 33 / 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.

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.

Washington Metropolitan Area Transit Authority (WMATA) Bus GTFS data quality grade: D

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/washington-metropolitan-area-transit-authority-wmata/2026-08-23.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-08-23. 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.