Canada
81 feed scorecards · 70.3 out of 100 average · 16 need attention
The average and grade distribution use 76 canonical, non-duplicate feed scorecards under one producer contract: rubric 1.4, scoring profile gtfs-scorecard-1.4, MobilityData gtfs-validator 8.0.1, reader archive profile raw-v1, and measured categories Correctness, Freshness, Rider experience. Every member remains listed below.
Scope: 81 reviewed feed records tracked in Canada. This page measures those records, not operators, routes, or all public transport in Canada, and it is not a claim that GTFS Scorecard covers Canada.
Grade distribution
- A 2
- B 6
- C 43
- D 18
- F 7
Realtime health 5 monitored
All 5 feed records here with a realtime endpoint configured have been sampled by the monitor. Least reliable first. Reachability, how far behind each feed's own timestamp runs, and how much of the scheduled service appears in it. Sampled on a schedule rather than continuously, and it changes no grade.
Across the monitored feeds: median uptime 100.0%, median lag 5s.
- Hamilton Street Railway (HSR)answered 100.0% of 200 checks · 56s behind
- Edmonton Transit Service (ETS)answered 100.0% of 200 checks · 18s behind
- GOVA Transit (Greater Sudbury)answered 100.0% of 200 checks · 5s behind
- Kingston Transitanswered 100.0% of 200 checks · 5s behind
- Thunder Bay Transitanswered 100.0% of 200 checks · 5s behind
Fixes shared across this group
The same fix shows up in more than one agency's top 3 here, often the same export setting or scheduling-software step. Worth raising once with every agency it touches.
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
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
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
Only change the flagged IDs if an app needs basic ASCII values. Update each place that uses the ID. Keep all names and headsigns in their original language.
Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE'). · Read the fix guide for mixed_case_recommended_field
Add feed_info.txt with feed_start_date and feed_end_date to your export. · Read the fix guide for scorecard_missing_feed_info_dates
Re-export with a validity window that reaches at least 60 days out. · Read the fix guide for scorecard_feed_expiring_soon
Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.
Add feed_info.txt with publisher name, URL, language, and feed_start_date/feed_end_date. · Read the fix guide for missing_recommended_file
Remove retired stops from the export, or add them back to the trips that should serve them. · Read the fix guide for stop_without_stop_time
3 more shared fixes not shown here; see the full list at country-ca.json.
Feed scorecards: attention first, then alphabetical
- D grade
BC Transit (Revelstoke Transit System) Service data expires in 43 day(s)
- D grade
BC Transit (Whistler Transit System) Service data expires in 38 day(s)
- C grade
Brampton Transit Service data expires in 17 day(s)
- C grade
Codiac Transpo Service data expires in 44 day(s)
- B grade
Edmonton Transit Service (ETS) Service data expires in 44 day(s)
- B grade
GO Transit (Metrolinx) Service data expires in 43 day(s)
- C grade
GOVA Transit (Greater Sudbury) Service data expires in 43 day(s)
- F grade
Halifax Transit Service data expires in 45 day(s)
- C grade
London Transit Commission (Ontario) Service data expires in 44 day(s)
- F grade
Oakville Transit Service data expires in 16 day(s)
- D grade
Red Deer Transit Service data expires in 51 day(s)
- D grade
Réseau de transport de Longueuil Service data expires in 17 day(s)
- D grade
Thunder Bay Transit Service data expires in 30 day(s)
- F grade
Toronto Transit Commission (TTC) Service data expires in 16 day(s)
- C grade
Transcollines (Régie intermunicipale de transport des Collines) Service data expires in 46 day(s)
- F grade
York Region Transit (YRT) Service data expires in 16 day(s)
- C grade
- C grade
- C grade
- D grade
- C grade
- C grade
- C grade
- C grade
- C grade
- C grade
- C grade
- C grade
- C grade
- C grade
- C grade
- D grade
- C grade
- C grade
- D grade
- C grade
- C grade
- C grade
- C grade
- C grade
- C grade
- D grade
- C grade
- C grade
- C grade
- C grade
- D grade
- C grade
- D grade
- C grade
- F grade
- F grade
- D grade
- C grade
- C grade
- C grade
- D grade
- C grade
- D grade
- D grade
- D grade
- C grade
- D grade
- F grade
- C grade
- B grade
- F grade
- C grade
- C grade
- A grade
- D grade
- B grade
- C grade
- B grade
- A grade
- B grade
- C grade
- B grade
- C grade
- C grade
- D grade
Board reports for this group
Every agency listed above has a free, printable board one-pager on its own page, and always will. A program that needs all of them at once can buy them as one archive, branded with its own name and logo and refreshed monthly if it wants. A purchase buys no influence over grades, methodology, or which agencies are listed. The archive contains the same numbers published here.
One bundle, up to 25 agencies: $149, paid once, delivered within 2 business days or refunded. Other plans, including a monthly refresh, are on the bundle page.
See a sample bundle report: a real agency's current grade, with placeholder branding.