Prep for a call: printable one-page brief · For your board packet: printable one-pager · Compare with another agency · Watch this feed: get an email before it expires
Feed status · checked 2026-07-09
Ben Franklin Transit
Based on the feed this agency publishes
unchanged since 2026-07-08
Ahead of 45% of all tracked agencies and 42% of mid-size agencies. Operates in Washington.
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.1, validator 8.0.1.
Checked for changes 7 hours ago; last fetch returned HTTP 404.
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 agency's own feed URL was unreachable, so the Mobility Database's hosted mirror copy was scored instead.
Confidence describes how much the pipeline could measure this run, not the feed itself. It never changes the grade.
Top things to fix
Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.Likely your export tool
Service data ended 830 day(s) ago. When the calendar runs out, trip planners stop showing this agency even though the buses are still running. Riders are told the service does not exist.
⏱ Usually one export setting; export on a schedule so it never lapses again.worth about +100 points
Agencies here usually clear this within about 1 week (based on 18 observed fixes).
Set wheelchair_accessible on every trip (most small-agency fleets are 100% accessible, so this is often a single default).Likely your export tool
2424 of 2424 trips don't say whether the vehicle is wheelchair accessible. Even with accessible stops, riders need to know the bus itself can take them.
⏱ Often one default setting in your export.worth about +15 points
Agencies here usually clear this within about 1 week (based on 5 observed fixes).
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
Close the loop on each fix. Read the guide, make the change in your tool, and let the next run verify it — the scorecard shows the fix; the agency publishes it.
Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change. · Read the fix guide
Make the change. Make this change in whatever tool produces your feed, then re-export.
Prove it cleared. The next scorecard run re-checks this automatically and, once it is gone, mints a dated receipt. Self-check a feed before you publish.
Set wheelchair_accessible on every trip (most small-agency fleets are 100% accessible, so this is often a single default). · Read the fix guide
Make the change. Make this change in whatever tool produces your feed, then re-export.
Prove it cleared. The next scorecard run re-checks this automatically and, once it is gone, mints a dated receipt. Self-check a feed before you publish.
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
Make the change. Make this change in whatever tool produces your feed, then re-export.
Prove it cleared. The next scorecard run re-checks this automatically and, once it is gone, mints a dated receipt. Self-check a feed before you publish.
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
The MobilityData validator flagged 4 kinds of issue across 6 instances (0 error, 6 warning, 0 informational).
Service data ended 830 day(s) ago. Trip planners have likely already dropped this feed.
95% of stops state wheelchair accessibility (87% marked accessible, 8% marked not accessible). This measures what the feed publishes, not whether a stop is physically usable. Fare data is not published.
95% of stops state accessibility (87% marked accessible). Reflects what the feed states, not verified physical usability.
Not scored 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.
Skip to route and stop dataBasemap: OpenFreeMap, © OpenStreetMap contributors. Routes and stops: this agency's GTFS feed.
- 225 (pink)
- 26 (green)
- 1 (purple)
- 3 (teal)
- 40 (red)
- 42 (blue)
- 41 (purple)
- 48 (green)
- 65 (orange)
- 268 (red)
- 64 (pink)
- 170 (yellow)
- 20 (red)
- 25 (pink)
- 67 (blue)
- 123 (orange)
- 110 (blue)
- 47 (orange)
| Route | Type | Line color |
|---|---|---|
| 225 Route 225 | Bus | pink |
| 26 Route 26 | Bus | green |
| 1 Metro Route 1 | Bus | purple |
| 3 Metro Route 3 | Bus | teal |
| 40 Route 40 | Bus | red |
| 42 Route 42 | Bus | blue |
| 41 Route 41 | Bus | purple |
| 48 Route 48 | Bus | green |
| 65 Route 65 | Bus | orange |
| 268 Route 268 | Bus | red |
| 64 Route 64 | Bus | pink |
| 170 Route 170 | Bus | yellow |
| 20 Route 20 | Bus | red |
| 25 Route 25 | Bus | pink |
| 67 Route 67 | Bus | blue |
| 123 Route 123 | Bus | orange |
| 110 Route 110 | Bus | blue |
| 47 Route 47 | Bus | orange |
This feed has 952 stops.
List every stop
- Van Giesen St at 58th Ave
- Stevens Dr at Van Giesen St
- Court St at 7th Ave
- Center Pkwy at Klamath Ct
- (FLAG STOP)Jadwin Ave at Falley St
- Thayer Dr at Long Ave
- 20th Ave at Pearl St
- 7th Ave at Anderson St
- Wehe Ave at Parkview Blvd
- Canal Dr at Crosswind Blvd
- Meade Ave at 7th St
- (FLAG STOP)9th St at Edith Ave
- 10th Ave at Vancouver St
- Keene Rd at Kensington Way
- 10th Ave at Washington St
- GW Way at Hanford St
- Columbia St at 6th Ave
- Helena St at Sycamore Ave
- St Thomas Dr at St Francis Ln
- 4th Ave at Garfield St
- Court St at Rd 34
- Tierra Vida Lane at Harvest Ct
- Olympia St at 30th Ave
- Vancouver St at 7th Ave
- 4th Ave at Kent St
- Argent Rd at Rd 76
- Thayer Dr at Lee Blvd
- Clearwater Ave at Taft St
- Hood Ave at Neel St
- Columbia Center Blvd at Deschutes Ave
- GW Way at Hanford St
- Canal Dr at Young St
- Olympia St at 36th Ave
- Fruitland St at Grand Ronde Ave
- Rd 76 at Cordero Dr
- Union St at 7th Ave
- 4th Ave at Zillah St
- (FLAG STOP)Sylvester St at 4th Ave
- GW Way at Symons St
- Adelia St at Douglas Ave
- 45th Ave at Palouse Pl
- Washington St at 15th Ave
- Riverwood St at Edgewood Dr
- Jadwin Ave at Berkshire St
- 20th Ave at Irving St
- Keene Rd at Elementary St
- Jadwin Ave at McMurray St
- South Highland Blvd at Crane Dr
- Burden Blvd at Rd 68
- Union St at 24th Ave
- Ely Pl at Imnaha Ave
- Columbia Center Blvd at 4th Ave
- (FLAG STOP)Argent Rd at Rd 40
- Metaline Ave at Arthur St
- (FLAG STOP)5th Ave at Meade Ave / Bennett Ave
- 4th Ave at Grant St
- Paradise Way at Eagle St / 50th Ave
- Helena St at Anaconda Ave
- Gage Blvd at Steptoe St
- Metaline Ave at Volland St
- Burden Blvd at Lansing Ln
- Babs Ave at 2nd St
- (FLAG STOP)Kennedy Rd at Arena Rd / Harvest Ln PR
- Keene Rd at Country Ridge Dr
- Canyon Lakes Dr at Hildebrand Blvd
- Williams Blvd at Goethals Dr
- Jadwin Ave at Catskill St
- Clark St at 14th Ave
- Duportail St at Kennedy Rd
- 14th Ave at Irving St
- Thayer Dr at Torbett St
- Gage Blvd at Leslie Rd
- Wellsian Way at Elliot St
- Columbia Park Trail at Fowler St
- Kellogg St at Lincoln St
- 20th Ave at Hopkins St
- Court St at Rd 36
- Vista Way at Conway St
- Court St at 14th Ave
- 20th Ave at Sylvester St
- Sylvester St at 3rd Ave
- Hood Ave at Neel St
- Gage Blvd at Meadows Dr
- 9th St at Della Ave
- Elm Ave at Highland St
- Washington St at 12th Pl
- Duportail St at Kennedy Rd
- 19th Ave at Ely St
- Ferguson St at GW Way
- Jadwin Ave at Coast St
- 10th Ave at Kellogg St
- Keene Rd at Queensgate Dr
- 10th Ave at Huntington St
- Court St at Rd 40
- Chapel Hill Blvd at Muris Ln
- 10th Ave at Newport St
- 4th Ave at Yelm St
- Court St at 3rd Ave
- 10th Ave at Alder Pl
- Hood Ave at Perry Pl
- Edison St at Canal Dr
- 27th Ave at Quincy St
- Crimson Way at University Dr
- Paradise Way at Ala Moana Way
- Wellsian Way at Lee Blvd
- Columbia Point Dr at Bradley Blvd
- 19th Ave at Newport St
- Deschutes Ave at Georgia St
- Gage Blvd at Peach Tree Ln
- Bombing Range Rd at Norma St
- Jadwin Ave at Benham St
- Chapel Hill Blvd at Suffolk Ln
- Paradise Way at Bombing Range Rd
- Cottonwood Dr at Alice St / Agnes St
- Cottonwood Dr at Dallas St / Dover St
- Rd 84 at Messara Ln
- Sandifur Pkwy at Bedford St / Dunbarton Ave
- Clearwater Ave at Colorado St
- Canyon St at Bellerive Dr
- 4th Ave at Morain St
- Saraceno Way at CBC Roundabout
- 4th Ave at Tweedt St
- Jadwin Ave at Van Giesen St
- Washington St at 19th Ave
- Stevens Dr at Christ the King Church
- Swift Blvd at Gilmore St
- Burden Blvd at Rd 44
- Vancouver St at 37th Ave
- Sylvester St at 18th Ave
- Alton St at Owen Ave
- 45th Ave at Vancouver St
- Dale Ave at 8th St
- Keene Rd at Tomich Ave
- Spengler St at GW Way/Carriage Ave
- 4th Ave at Rainier St
- 4th Ave at Zinser St
- Stevens Dr at Woodbury St
- Hood Ave at Reed St
- Horn Rapids Rd at Innovation Blvd
- Elm Ave at Alvina St
- Vancouver St at Tacoma St
- Vancouver St at 22nd Ave
- 20th Ave at Henry St
- (FLAG STOP)Abbot St at Cullum Ave
- Garfield St at 18th Ct
- 10th Ave at 9th Pl
- Bombing Range Rd at Silverlake Ct
- Columbia Dr at Jean St
- Thayer Dr at Swift Blvd
- Argent Rd at Saratoga Ln
- Olympia St at 43rd Ct
- Babs Ave at 7th St
- Rd 84 at Bell St
- Rd 44 at Riverhill Dr
- 27th Ave at Jean St
- Gage Blvd at Bellerive Dr
- Washington St at Canal Dr
- Garfield St at 5th Ave
- Leslie Rd at Mountain View Ln
- Van Giesen St at Canal Dr
- (FLAG STOP)Crimson Way at Sprout Rd
- Hood Ave at Johnson St
- Fruitland St at Deschutes Ave
- Sandifur Pkwy at Hudson Dr
- Rd 68 at Wrigley Dr
- Kennewick Ave at Rainier St
- Clearwater Ave at Taft St
- Canal Dr at Grant St
- Van Giesen St at 40th Ave
- Vancouver St at 31st Ave
- Rd 44 at Bermuda Dunes / Meadowsweet St
- (FLAG STOP)Argent Rd at Rd 40
- Kennewick Ave at Vancouver St
- Volland St at Imnaha Ave
- GW Way at Newcomer St
- Vancouver St at 10th Ave
- Gage Blvd at Grandridge Blvd
- Kennewick Ave at Reed St
- 10th Ave at Heatherstone Apts
- Vancouver St at 26th Ave
- Rd 44 at Desert Pl
- Canal Dr at Fruitland St
- Burden Blvd at Madison Dr
- (FLAG STOP)Benton St at Kennewick Ave
- Stevens Dr at Railroad Ave
- 19th Ave at Dayton Pl
- Sandifur Pkwy at Midland Ln
- 6th Ave at Dayton St
- Van Giesen St at 38th Ave
- Canal Dr at Quinault St
- Jadwin Ave at Lee Blvd
- Argent Rd at Tech Way
- Argent Rd at Rd 44
- Sylvester St at 19th Ave
- Burden Blvd at Robert Wayne Dr
- Lewis St at Franklin Ave / Idaho Ave
- West Richland Transit Center
- Jadwin Ave at Stanley St
- (FLAG STOP)1st St at Abby Ave
- 3rd Ave at Fir St
- Kennewick Ave at Johnson St
- Deschutes Ave at Georgia St
- (FLAG STOP)Riverwood St at Hillwood St
- Vancouver St at 31st Ave
- Olympia St at 26th Ave
- Columbia Park Trail at Steptoe St
- Edison St at Clearwater Ave
- Washington St at 8th Ave
- 3rd Ave at Date St
- 14th Ave at Hopkins St
- Goethals Dr at Swift Blvd
- Hood Ave at Ely Pl
- Burden Blvd at Kalahari Dr
- Argent Rd at Rd 76
- Cedar Ave at Lewis St / Alvina St
- Kennewick Ave at Hwy 395
- 20th Ave at Pearl St
- Lewis St at 20th Ave
- South Highland Blvd at Diamond Head Way
- Thayer Dr at Long Ave
- (FLAG STOP)Wine Country Rd at Alexander Ct
- Canyon Lakes Dr at 32nd Ave
- Holly Way at Rose St
- Olympia St at 38th Pl
- Union St at 9th Ave
- Court St at Rd 40
- 45th Ave at Vancouver St
- Hood Ave at Tweet St
- 4th Ave at Morain St
- Center Pkwy at Hood Pl / Deschutes Ave
- GW Way at Catskill St
- Duportail St at Kennedy Rd
- Young St at Canal Dr
- Rd 44 at Desert Pl
- Burden Blvd at Robert Wayne Dr
- A St at Tierra Vida Ln
- Knight St Transit Center
- Court St at 18th Ave
- Jadwin Ave at Adams St
- 4th Ave at Mayfield St
- Southridge Blvd at Southridge High School
- Union St at 4th Ave
- Wellsian Way at Wyman St
- Riverwood St at Riverwood Ct
- Columbia Center Blvd at Grandridge Blvd
- Clark St at 3rd Ave
- Ely St at 21st Pl
- 27th Ave at Tacoma St
- Van Giesen St at Hall Rd
- (FLAG STOP)Clark St at 14th Ave
- and 702 more (see the full list on the map or in the GeoJSON)
Over time
Overall score across the last 20 checks — unchanged since 2026-07-08.
Show the numbers
| Check | Score | Change |
|---|---|---|
| 2026-06-19 | 55.9 | first check |
| 2026-06-20 | 55.9 | no change |
| 2026-06-21 | 55.9 | no change |
| 2026-06-22 | 55.9 | no change |
| 2026-06-23 | 55.9 | no change |
| 2026-06-24 | 55.9 | no change |
| 2026-06-25 | 55.9 | no change |
| 2026-06-26 | 55.9 | no change |
| 2026-06-27 | 55.9 | no change |
| 2026-06-28 | 55.9 | no change |
| 2026-06-29 | 55.9 | no change |
| 2026-06-30 | 55.9 | no change |
| 2026-07-01 | 55.9 | no change |
| 2026-07-02 | 55.9 | no change |
| 2026-07-04 | 55.9 | no change |
| 2026-07-05 | 55.9 | no change |
| 2026-07-06 | 55.9 | no change |
| 2026-07-07 | 55.9 | no change |
| 2026-07-08 | 55.9 | no change |
| 2026-07-09 | 55.9 | no change |
What changed since your last check
- Correctness no change
- Freshness no change
- Rider experience no change
What changed in this feed
Overall grade and score held steady since 2026-07-08.
Same feed file as 2026-07-08; the published zip did not change.
Subscribe to this feed’s changes (Atom) to hear about grade drops in a reader, with no sign-up.
Everything we checked
- Error1 instance
Service data ended 830 day(s) ago.
When the calendar runs out, trip planners stop showing this agency even though the buses are still running. Riders are told the service does not exist.
Fix: Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change. (Usually one export setting; export on a schedule so it never lapses again.)
Agencies here usually clear this within about 1 week (based on 18 observed fixes).
Validator rule: scorecard_feed_expired · Read the fix guide · See GTFS Best Practices (opens GTFS Best Practices on an external site)
- Warning2424 instances
2424 of 2424 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 (most small-agency fleets are 100% accessible, so this is often a single default). (Often one default setting in your export.)
Agencies here usually clear this within about 1 week (based on 5 observed fixes).
Validator rule: scorecard_wheelchair_accessible_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)
- Warning48 instances
48 of 952 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.)
Validator rule: scorecard_wheelchair_boarding_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)
- Warning3 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.)
Agencies here usually clear this within about 1 week (based on 61 observed fixes).
Validator rule: expired_calendar · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
A file GTFS asks for (usually feed_info.txt) is missing.
feed_info.txt tells apps who publishes the feed and when it expires; without it nobody is warned before data goes stale.
Fix: Add feed_info.txt with publisher name, URL, language, and feed_start_date/feed_end_date. (One small file, set once in export settings.)
Agencies here usually clear this within about 1 week (based on 13 observed fixes).
Validator rule: missing_recommended_file · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
Some rider-facing names are in ALL CAPS or all lowercase.
ALL-CAPS stop and headsign names are harder to read in apps and are read awkwardly by screen readers.
Fix: Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE'). (Often a bulk fix in your scheduling software.)
Validator rule: mixed_case_recommended_field · Read the fix guide · 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.)
Agencies here usually clear this within about 1 week (based on 31 observed fixes).
Validator rule: trip_coverage_not_active_for_next7_days · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
feed_info.txt is missing its start/end dates (the file itself is absent)
Apps and this scorecard can't warn anyone before the feed goes stale without stated validity dates.
Fix: Add feed_info.txt with feed_start_date and feed_end_date to your export. (Two fields, set once in export settings.)
Agencies here usually clear this within about 1 week (based on 16 observed fixes).
Validator rule: scorecard_missing_feed_info_dates · Read the fix guide · 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.)
Validator rule: scorecard_no_fare_data · Read the fix guide · See GTFS Best Practices (opens GTFS Best Practices on an external site)
- Info1 instance
feed_info.txt has no technical contact (feed_contact_email or feed_contact_url).
App makers and state data programs have nobody to email when they spot a problem with your feed, so problems linger.
Fix: Add feed_contact_email to feed_info.txt. (One field.)
Agencies here usually clear this within about 1 week (based on 10 observed fixes).
Validator rule: scorecard_no_feed_contact · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
Beyond the grade
Opportunities that do not change your grade today: fare detail, on-demand service, and deeper accessibility data.
8 route badge(s) pair a color and text color below the WCAG 4.5:1 contrast bar (42, 67, 268, 48, 20, 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.
942 stop name(s) use abbreviations or symbols a screen reader may mispronounce, with no spoken form set ("(FLAG STOP)1st Ave at Auburn St", "Washington St at Canal Dr", "Columbia Dr at Beech St", and more).
Consider: Add tts_stop_name with the spoken form, e.g. 'Main Street and Second Avenue', for the affected stops.
Some fixes we can make for you
These are the safe mechanical fixes, applied to a copy of your feed. They change only what is certain and leave everything else untouched. Review the diff before you publish.
Recased shouting stop names 1 change
For example: DAYTON TRANSFER POINT -> Dayton Transfer Point
NTD certification readiness Not ready
Resolve this before you certify on the D-10. Service data expired 830 days ago, so FTA would find the link out of date.
- Published Ready
- Published at a public URL.
- Valid Ready
- Passes validation with no errors.
- Current Not ready
- Service data expired 830 days ago, so FTA would find the link out of date.
- agency_id matches your NTD ID Not checked yet
- Setting your GTFS agency_id to your five-digit NTD ID is an optional way to line a feed up with its National Transit Database record. FTA links the two on your P-50 form, so it is not a required feed change. We don't have your NTD ID on file, so this is not checked yet.
- shapes.txt covers your trips Ready
- All 2424 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 and confirm it once a year. This box is a heads-up on whether yours looks ready; it is not the official sign-off.
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). Aligning agency_id with your NTD ID lets the feed line up with your NTD record; the July 2025 final rule links the two on the P-50 form rather than requiring that feed change, and 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
This feed is close to the conformance mark. Service data expired 830 days ago. States wheelchair access on 95% of stops and 0% of trips; the mark needs 90% of each.
- Valid Met
- Passes validation with no errors.
- Current Not yet
- Service data expired 830 days ago.
- Accessible Not yet
- States wheelchair access on 95% 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.
Below the Google and Apple Maps four-week coverage bar. This feed's last day of service has passed, so Google and Apple Maps will stop showing your agency. Re-export with a calendar that covers at least the next four weeks.
How this agency maps to the standards
A data-quality lens, not a compliance determination. Each category shows this feed's score and the standards it relates to: the FTA National Transit Database GTFS requirement, the MobilityData grading scheme, and the Google Transit gate. Read the full standards crosswalk.
Your state runs a transit-data program that can help: WSDOT Transportation Data. WSDOT builds and publishes GTFS for Washington transit agencies. Your state publishes no quality rubric of its own, so the closest published bars a program can hold this feed to are the federal and industry ones below; the score maps to those.
- Correctness 84 / 100
- GTFS Schedule best practices, checked by the MobilityData validator. MobilityData grading: stop locations, route names and colors. Google Transit: a feed must pass validation to stay in Maps.
- Freshness 0 / 100
- The FTA National Transit Database expectation of a valid, current feed. Google Transit: an expired calendar drops the agency from Maps.
- Rider experience 61 / 100
- GTFS Best Practices for rider-facing fields. MobilityData grading: stop names and headsigns.
- Realtime quality Not yet published
- GTFS-Realtime best practices: a stable URL, high uptime, and frequent updates.
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/ben-franklin-transit/2026-07-09.json and never overwritten, pinning the grade, category scores, rubric version, validator version, and the scored feed's sha256 as they stood on 2026-07-09. Use it in a board packet, an NTD narrative, 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.