Feed status · checked 2026-09-02
York Region Transit (YRT)
Based on the official feed source on file
Service mode Bus
up 15.9 since 2026-09-01 · F → C
Catalogued in Ontario, Canada.
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 59 minutes ago; last changed 6 hours ago.
Measured 3 of 4 score categories from the official feed URL on file.
How we measured this
Confidence in this measurement: medium.
- Realtime quality was not measured this run. It does not count against the grade.
- The feed was downloaded from the official feed URL on file.
Confidence describes how much the pipeline could measure this run, not the feed itself. It never changes the grade.
Top things to fix
Set timepoint=1 on stops that are real time checks and 0 on the rest. If every published time is a scheduled one, mark them all 1.Likely your export tool
Some rows in stop_times.txt leave the timepoint column blank. That column says whether a time is a real checkpoint or an estimate. Blank leaves apps guessing, and they may show your estimates as promises.
⏱ Usually one export setting.worth about +8 points in its category
Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE').Likely your export tool
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.
⏱ Often a bulk fix in your scheduling software.worth about +8 points in its category
Check the flagged stops' shape_dist_traveled against the route shape, and re-generate it on export if they disagree.Likely your export tool
Some stops sit far from the route line, going by the feed's own distance values. Trip planners may draw the route down the wrong streets or point riders to the wrong corner.
⏱ Usually an export-tool fix, not hand editing.worth about +8 points in its category
Finding handoff
Move one finding to a recheck
Select one finding. Copy the request, make the change in the feed-producing tool, then compare the next complete run.
- Feed evidence
- Some rows in stop_times.txt leave the timepoint column blank.
- Next action
- Set timepoint=1 on stops that are real time checks and 0 on the rest. If every published time is a scheduled one, mark them all 1.
- 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
- Some rider-facing names are in ALL CAPS or all lowercase.
- Next action
- Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE').
- 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
- Some stops sit far from the route line, going by the feed's own distance values.
- Next action
- Check the flagged stops' shape_dist_traveled against the route shape, and re-generate it on export if they disagree.
- 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 timepoint=1 on stops that are real time checks and 0 on the rest. If every published time is a scheduled one, mark them all 1. · 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.
Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE'). · 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.
Check the flagged stops' shape_dist_traveled against the route shape, and re-generate it on export if they disagree. · 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 59 days.
- Published accessibility data
- Accessibility information is stated for 100% of stops and 100% of trips. This measures published data, not whether stops or vehicles are physically usable.
- Fare information
- Fare information is published using GTFS Fares v1.
- 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 12 kinds of issue across 1073723 instances (0 error, 1073711 warning, 12 informational).
Service data covers the next 59 days.
100% of stops state wheelchair accessibility (80% marked accessible, 20% marked not accessible). This measures what the feed publishes, not whether a stop is physically usable. Fare data is published.
100% of stops state accessibility (80% marked accessible). Reflects what the feed states, not verified physical usability.
3 accessibility depth signals
33 route badge(s) pair a color and text color below the WCAG 4.5:1 contrast bar (083A, 165, 024, 025, 026, 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.
4650 stop name(s) use abbreviations or symbols a screen reader may mispronounce, with no spoken form set ("WILLIAM BERCZY BLVD / WEATHERILL RD", "ISLINGTON AV / HAYHOE LANE", "BLOOMINGTON RD / YONGE ST", and more).
Consider: Add tts_stop_name with the spoken form, e.g. 'Main Street and Second Avenue', for the affected stops.
This feed models stations or entrances but has no pathways.txt and levels.txt.
Consider: Add pathways.txt connecting entrances, platforms, and elevators, and levels.txt for each floor, so the step-free route is described.
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.
Fares are applied to trips.
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.
This feed has 4828 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.
- 001 (gray)
- 010 (gray)
- 105 (gray)
- 107 (green)
- 107B (green)
- 012 (gray)
- 013 (gray)
- 014 (gray)
- 016 (blue)
- 165 (yellow)
- 018 (gray)
- 002 (yellow)
- 020 (brown)
- 021 (teal)
- 023 (orange)
- 024 (teal)
- 025 (pink)
- 026 (teal)
- 003 (purple)
- 300 (red)
- 301 (teal)
- 302 (teal)
- 303 (brown)
- 304 (green)
- 305 (purple)
- 032 (teal)
- 320 (purple)
- 033 (teal)
- 360 (purple)
- 361 (purple)
- 391 (purple)
- 004 (teal)
- 040 (brown)
- 401 (gray)
- 402 (gray)
- 403 (purple)
- 404 (purple)
- 405 (gray)
- 408 (purple)
- 410 (gray)
- 411 (gray)
- 412 (gray)
- 413 (gray)
- 414 (purple)
- 415 (gray)
- 416 (gray)
- 417 (gray)
- 418 (gray)
- 419 (purple)
- 420 (gray)
- 423 (gray)
- 424 (gray)
- 425 (gray)
- 426 (gray)
- 427 (gray)
- 428 (gray)
- 429 (gray)
- 430 (gray)
- 431 (purple)
- 432 (gray)
- 433 (purple)
- 434 (purple)
- 437 (purple)
- 438 (purple)
- 044 (gray)
- 440 (gray)
- 442 (gray)
- 443 (gray)
- 444 (gray)
- 445 (gray)
- 446 (gray)
- 447 (gray)
- 448 (gray)
- 449 (gray)
- 450 (gray)
- 452 (gray)
- 460 (gray)
- 461 (gray)
- 462 (gray)
- 463 (purple)
- 464 (gray)
- 465 (gray)
- 466 (gray)
- 467 (purple)
- 469 (purple)
- 470 (purple)
- 471 (purple)
- 473 (purple)
- 005 (gray)
- 050 (purple)
- 051 (pink)
- 052 (purple)
- 522 (pink)
- 054 (brown)
- 055 (teal)
- 056 (yellow)
- 057 (teal)
- 006 (purple)
- blue (teal)
- blue B (purple)
- purple (purple)
- purple A (purple)
- orange (yellow)
- yellow (yellow)
- 007 (teal)
- 077 (teal)
- 008 (blue)
- 080 (orange)
- 081 (brown)
- 082 (teal)
- 083 (gray)
- 083A (gray)
- 085 (purple)
- 086 (red)
- 087 (yellow)
- 088 (teal)
- 009 (orange)
- 090 (orange)
- 090B (orange)
- 091 (gray)
- 091B (gray)
- 096 (gray)
- 098 (green)
- 098|099 (green)
- 099 (purple)
| Route | Type | Line color |
|---|---|---|
| 001 HIGHWAY 7 | Bus | gray |
| 010 WOODBRIDGE | Bus | gray |
| 105 DUFFERIN | Bus | gray |
| 107 KEELE | Bus | green |
| 107B KEELE | Bus | green |
| 012 PINE VALLEY | Bus | gray |
| 013 ISLINGTON | Bus | gray |
| 014 14TH AVENUE | Bus | gray |
| 016 16TH AVENUE | Bus | blue |
| 165 WESTON | Bus | yellow |
| 018 BUR OAK | Bus | gray |
| 002 MILLIKEN | Bus | yellow |
| 020 JANE | Bus | brown |
| 021 VELLORE | Bus | teal |
| 023 THORNHILL WOODS | Bus | orange |
| 024 WOODBINE | Bus | teal |
| 025 MAJOR MACKENZIE | Bus | pink |
| 026 MAPLE | Bus | teal |
| 003 THORNHILL | Bus | purple |
| 300 BUSINESS EXPRESS | Bus | red |
| 301 MARKHAM EXPRESS | Bus | teal |
| 302 UNIONVILLE EXPRESS | Bus | teal |
| 303 BUR OAK EXPRESS | Bus | brown |
| 304 MOUNT JOY EXPRESS | Bus | green |
| 305 BOX GROVE EXPRESS | Bus | purple |
| 032 AURORA SOUTH | Bus | teal |
| 320 JANE EXPRESS | Bus | purple |
| 033 WELLINGTON - LESLIE | Bus | teal |
| 360 VAUGHAN MILLS / WONDERLAND | Bus | purple |
| 361 NASHVILLE EXPRESS | Bus | purple |
| 391 BAYVIEW EXPRESS | Bus | purple |
| 004 MAJOR MACKENZIE | Bus | teal |
| 040 UNIONVILLE | Bus | brown |
| 401 ST BROTHER ANDRE SS VIA BOX GROVE | Bus | gray |
| 402 BUR OAK / PIERRE ELLIOTT TRUDEAU SS | Bus | gray |
| 403 ST BROTHER ANDRE SS VIA RAYMERVILLE | Bus | purple |
| 404 MARKVILLE SS | Bus | purple |
| 405 ST AUGUSTINE SS | Bus | gray |
| 408 OUR LADY QUEEN OF THE WORLD SS | Bus | purple |
| 410 MARKHAM DISTRICT SS VIA CARLTON | Bus | gray |
| 411 MARKHAM DISTRICT SS VIA BOX GROVE | Bus | gray |
| 412 THORNLEA SS | Bus | gray |
| 413 ST ROBERT SS VIA JOHN | Bus | gray |
| 414 ST KATHARINE DREXEL SS | Bus | purple |
| 415 STOUFFVILLE DISTRICT SS | Bus | gray |
| 416 MARKHAM DISTRICT SS VIA NINTH LINE | Bus | gray |
| 417 BILL HOGARTH SS | Bus | gray |
| 418 PIERRE ELLIOTT TRUDEAU SS | Bus | gray (no shape in feed) |
| 418 PIERRE E. TRUDEAU SS VIA 16TH AVE | Bus | gray |
| 419 PIERRE E. TRUDEAU SS VIA MAJOR MAC | Bus | purple |
| 420 NEWMARKET SS VIA SAVAGE | Bus | gray |
| 423 NEWMARKET SS VIA BRISTOL | Bus | gray |
| 424 KESWICK SS | Bus | gray |
| 425 HURON HEIGHTS SS | Bus | gray |
| 426 DR G.W. WILLIAMS SS VIA STONE | Bus | gray |
| 427 SACRED HEART SS VIA STONEHAVEN | Bus | gray |
| 428 DR G.W. WILLIAMS SS VIA HENDERSON | Bus | gray |
| 429 CARDINAL CARTER SS VIA BAYVIEW | Bus | gray |
| 430 SACRED HEART SS VIA MAIN | Bus | gray |
| 431 AURORA SS VIA MCCLELLAN | Bus | purple |
| 432 AURORA SS | Bus | gray (no shape in feed) |
| 432 AURORA SS VIA MAVRINAC | Bus | gray |
| 433 CARDINAL CARTER SS VIA KINGSHILL | Bus | purple |
| 434 CARDINAL CARTER SS VIA WELLINGTON | Bus | purple |
| 437 ST MAXIMILIAN KOLBE SS VIA MAVRINAC | Bus | purple (no shape in feed) |
| 437 ST MAX. KOLBE SS VIA MAVRINAC | Bus | purple |
| 438 ST MAX. KOLBE SS VIA ORCHARD HTS. | Bus | purple |
| 044 BRISTOL | Bus | gray |
| 440 ST THERESA SS VIA MILL | Bus | gray |
| 442 RICHMOND HILL SS VIA GAMBLE | Bus | gray |
| 443 LANGSTAFF SS VIA SHAFTSBURY | Bus | gray |
| 444 LANGSTAFF SS VIA VALLEYMEDE | Bus | gray |
| 445 ST ROBERT SS VIA SPADINA | Bus | gray |
| 446 ST THERESA SS VIA MCCALLUM | Bus | gray |
| 447 ST THERESA SS VIA JEFFERSON FOREST | Bus | gray |
| 448 RICHMOND HILL SS VIA VALLEYMEDE | Bus | gray |
| 449 RICHMOND GREEN SS VIA HILLMOUNT | Bus | gray |
| 450 ST THERESA SS VIA TOWER HILL | Bus | gray |
| 452 RICHMOND GREEN SS VIA HAZELTON | Bus | gray |
| 460 HOLY CROSS SS | Bus | gray |
| 461 EMILY CARR SS VIA ROYALPARK | Bus | gray |
| 462 MAPLE SS | Bus | gray |
| 463 ST. JOAN OF ARC SS VIA KEELE | Bus | purple (no shape in feed) |
| 463 ST JOAN OF ARC SS VIA KEELE | Bus | purple |
| 464 ST JOAN OF ARC SS VIA AMERICA | Bus | gray |
| 465 ST JOAN OF ARC SS VIA MELVILLE | Bus | gray (no shape in feed) |
| 465 ST JOAN OF ARC SS VIA PETER RUPERT | Bus | gray |
| 466 TOMMY DOUGLAS SS VIA FOSSIL HILL | Bus | gray |
| 467 TOMMY DOUGLAS SS VIA CITYVIEW | Bus | purple |
| 468 EMILY CARR SS VIA KLEINBURG | Bus | purple (no shape in feed) |
| 469 FATHER BRESSANI SS | Bus | purple |
| 470 WESTMOUNT SS | Bus | purple |
| 471 STEPHEN LEWIS SS VIA TEN OAKS | Bus | purple (no shape in feed) |
| 471 STEPHEN LEWIS SS VIA DUFFERIN | Bus | purple |
| 473 STEPHEN LEWIS SS VIA THOMAS COOK | Bus | purple |
| 005 CLARK | Bus | gray |
| 050 QUEENSWAY | Bus | purple |
| 051 KESWICK | Bus | pink |
| 052 HOLLAND LANDING | Bus | purple |
| 522 MARKHAM LOCAL | Bus | pink |
| 054 BAYVIEW | Bus | brown |
| 055 DAVIS | Bus | teal |
| 056 GORHAM - EAGLE | Bus | yellow |
| 057 MULOCK | Bus | teal |
| 006 MAJOR MACKENZIE | Bus | purple |
| blue VIVA BLUE | Bus | teal |
| blue B VIVA BLUE B | Bus | purple |
| purple VIVA PURPLE | Bus | purple |
| purple A VIVA PURPLE A | Bus | purple |
| orange VIVA ORANGE | Bus | yellow |
| yellow VIVA YELLOW | Bus | yellow |
| 007 MARTIN GROVE | Bus | teal |
| 077 HIGHWAY 7 | Bus | teal |
| 008 KENNEDY | Bus | blue |
| 080 ELGIN MILLS | Bus | orange |
| 081 INSPIRATION | Bus | brown |
| 082 VALLEYMEDE | Bus | teal |
| 083 TRENCH | Bus | gray |
| 083A TRENCH | Bus | gray |
| 085 RUTHERFORD | Bus | purple |
| 086 NEWKIRK - RED MAPLE | Bus | red |
| 087 AUTUMN HILL | Bus | yellow |
| 088 BATHURST | Bus | teal |
| 009 NINTH LINE | Bus | orange |
| 090 LESLIE | Bus | orange |
| 090B LESLIE | Bus | orange |
| 091 BAYVIEW | Bus | gray |
| 091B BAYVIEW | Bus | gray |
| 096 KEELE - YONGE | Bus | gray |
| 098 YONGE | Bus | green |
| 098|099 YONGE (LATE NIGHT) | Bus | green |
| 099 YONGE | Bus | purple |
List every stop
- RICHMOND HILL CENTRE
- RED MAPLE RD / ONEIDA CRES
- RED MAPLE RD / BANTRY AV
- LESLIE ST / COMMERCE VALLEY DR
- RED MAPLE RD / SILVER LINDEN DR
- LESLIE ST / MINTHORN BLVD
- RED MAPLE RD / MACGREGOR AV
- LESLIE ST / HIGHWAY 7
- RED MAPLE RD / BANTRY AV
- COMMERCE VALLEY DR / MINTHORN BLVD
- RED MAPLE RD / ONEIDA CRES
- COMMERCE VALLEY DR STOP # 1011
- RED MAPLE RD / HIGH TECH RD
- COMMERCE VALLEY DR STOP # 1013
- COMMERCE VALLEY DR STOP # 1014
- COMMERCE VALLEY DR / LESLIE ST
- COMMERCE VALLEY DR / SOUTH PARK RD
- SOUTH PARK RD / COMMERCE VALLEY DR
- SOUTH PARK RD / POND DR
- SOUTH PARK RD / PARK COMMON BLVD
- SOUTH PARK RD STOP # 1026
- TIMES AV / GALLERIA PKWY
- HIGH TECH RD / RED MAPLE RD
- TIMES AV / HIGHWAY 7
- DONCASTER AV STOP # 1031
- VALLEYMEDE DR / SAMANTHA CIR
- DONCASTER AV STOP # 1033
- VALLEYMEDE DR / RED OAK DR
- DONCASTER AV STOP # 1035
- VALLEYMEDE DR / LEICESTER RD
- DONCASTER AV STOP # 1037
- VALLEYMEDE DR / CHALMERS RD
- DONCASTER AV / HENDERSON AV
- VALLEYMEDE DR / HAZELMERE DR
- HENDERSON AV / PROCTOR AV
- VALLEYMEDE DR / BRIGGS AV
- HENDERSON AV / CLARK AV
- VALLEYMEDE DR / BLACKMORE AV
- HENDERSON AV / ELGIN ST
- VALLEYMEDE DR / SHEILA CRES
- HENDERSON AV / JOHN ST
- VALLEYMEDE DR / STRATHEARN AV
- JOHN ST / CANDICE GATE
- VALLEYMEDE DR STOP # 1050
- JOHN ST / BAYVIEW AV
- VALLEYMEDE DR / MEADOWCLIFFE AV
- JOHN ST / PORTERFIELD CRES
- VALLEYMEDE DR / 16TH AV
- JOHN ST STOP # 1055
- SPADINA RD / BOAKE TRL
- JOHN ST / AILEEN RD
- SPADINA RD / LYTTON BLVD
- JOHN ST / BAYVIEW FAIRWAYS DR
- SPADINA RD / BROOKSHILL CRES
- JOHN ST / DAWN HILL TRL
- SPADINA RD / WELDRICK RD
- SPADINA RD / STRATHEARN AV
- JOHN ST / COTTONWOOD CRT
- SPADINA RD / CRESCENTVIEW RD
- JOHN ST / CHESTNUT GATE
- FRANK ENDEAN RD / FARMSTEAD RD
- JOHN ST / ROCKINGHAM CRT
- FARMSTEAD RD / KIMONO CR
- JOHN ST / DON MILLS RD
- FARMSTEAD RD / SHIRLEY DR
- JOHN ST STOP # 1072
- SHIRLEY DR / BAYFIELD DR
- JOHN ST / STEELCASE RD
- SHIRLEY DR / FUTURA AV
- JOHN ST STOP # 1076
- SHIRLEY DR / REDSTONE RD
- JOHN ST / WOODBINE AV
- SHIRLEY DR / VENTURE AV
- ESNA PARK DR STOP # 1080
- SHIRLEY DR / ROMANCE DR
- ESNA PARK DR STOP # 1082
- SHIRLEY DR / ELGIN MILLS RD
- ESNA PARK DR STOP # 1084
- ELGIN MILLS RD / MELBOURNE DR
- ESNA PARK DR / ALDEN RD
- ELGIN MILLS RD / GOODE ST
- ESNA PARK DR / ALDEN RD
- ELGIN MILLS RD / REDSTONE RD
- ESNA PARK DR STOP # 1090
- ELGIN MILLS RD / LESLIE ST
- DENISON ST STOP # 1092
- ELGIN MILLS RD / LESLIE ST
- DENISON ST STOP # 1094
- ELGIN MILLS RD / GOODE ST
- DENISON ST / HOOD RD
- ELGIN MILLS RD / MELBOURNE DR
- DENISON ST / WARDEN AV
- ELGIN MILLS RD / SHIRLEY DR
- BERNARD TERMINAL
- DENISON ST STOP # 1100
- DENISON ST / BIRCHMOUNT RD
- DENISON ST STOP # 1104
- DENISON ST / CLAYTON DR
- DENISON ST / GORVETTE RD
- SHIRLEY DR / WAYSIDE AV
- DENISON ST / KENNEDY RD
- DENISON ST STOP # 1111
- SHIRLEY DR / BAYFIELD DR
- DENISON ST / TEDDINGTON AV
- FARMSTEAD RD / SHIRLEY DR
- DENISON ST STOP # 1115
- FARMSTEAD RD / SHELL CRT
- DENISON ST / ALDERGROVE DR
- FARMSTEAD RD / FRANK ENDEAN RD
- DENISON ST / BRIMLEY RD
- FARMSTEAD RD / RUSHINGBROOK DR
- DENISON ST / CARTMEL DR
- FARMSTEAD RD / INDIGO ST
- DENISON ST STOP # 1123
- FARMSTEAD RD / BAYVIEW AV
- DENISON ST / HILLCROFT DR
- CENTRE ST / BEAVERTON RD
- DENISON ST / TOWNLEY AV
- HENDERSON DR / POPLAR CRES
- CENTRE ST / BEAVERTON RD
- HENDERSON DR / POPLAR CRES
- CENTRE ST / BAYVIEW AV
- HENDERSON DR / LEE GATE
- FARMSTEAD RD / FRANK ENDEAN RD
- HENDERSON DR / BALDWIN RD
- FRANK ENDEAN RD / CASSATA AV
- MCCLELLAN WAY / TAMARAC TRAIL
- FRANK ENDEAN RD / MAJOR MACKENZIE D
- MCCLELLAN WAY / BRIARDALE PL
- SPADINA RD / STRATHEARN AV
- MCCLELLAN WAY / BROOKEVIEW DR
- SPADINA RD / WELDRICK RD
- CHISWICK CRES / MCCLELLAN WAY
- SPADINA RD / BROOKSHILL CRES
- MCCLELLAN WAY / ALLENVALE DR
- SPADINA RD / MARLBOROUGH ST
- MCCLELLAN WAY / BATHURST ST
- SPADINA RD / BOAKE TRL
- SPADINA RD / 16TH AV
- 15TH SDRD / DUFFERIN ST
- FOOD BASICS STOP # 1152
- EDWARD ST / ALLAURA BLVD
- FOOD BASICS STOP # 1154
- ALLAURA BLVD STOP # 1155
- VALLEYMEDE DR / HORIZON CRT
- ALLAURA BLVD / YONGE ST
- VALLEYMEDE DR STOP # 1158
- MURRAY DR / NISBET DR
- VALLEYMEDE DR / STRATHEARN AV
- MURRAY DR / CORBETT CRES
- VALLEYMEDE DR / EMMANUEL DR
- MURRAY DR / GLASS DR
- VALLEYMEDE DR / BLACKMORE AV
- MURRAY DR / SEATON DR
- VALLEYMEDE DR / BRIGGS AV
- MURRAY DR / GOLF LINKS DR
- VALLEYMEDE DR / QUEENS COLLEGE DR
- MURRAY DR / KENNEDY ST
- VALLEYMEDE DR / CHALMERS RD
- VALLEYMEDE DR / LEICESTER RD
- VALLEYMEDE DR / RED OAK DR
- VALLEYMEDE DR / LEICESTER RD
- MURRAY DR / GOLF LINKS DR
- MURRAY DR / SEATON DR
- TIMES AV / GALLERIA PKWY
- MURRAY DR / GLASS DR
- SOUTH PARK RD / TIMES AV
- MURRAY DR / NISBET DR
- SOUTH PARK RD / PARK COMMON BLVD
- MURRAY DR / MOSAICS AV
- SOUTH PARK RD / POND DR
- WELLINGTON ST / YONGE ST
- SOUTH PARK RD / COMMERCE VALLEY DR
- WELLINGTON ST / GEORGE ST
- COMMERCE VALLEY DR / SOUTH PARK RD
- WELLINGTON ST / HAIDA DR
- COMMERCE VALLEY DR / LESLIE ST
- WELLINGTON ST / MURRAY DR
- LESLIE ST STOP # 1194
- WELLINGTON ST / HAIDA DR
- LESLIE ST STOP # 1196
- WELLINGTON ST / GEORGE ST
- COMMERCE VALLEY DR STOP # 1198
- WELLINGTON ST / YONGE ST
- NEWMARKET TERMINAL
- COMMERCE VALLEY DR STOP # 1200
- COMMERCE VALLEY DR STOP # 1202
- COMMERCE VALLEY DR / MINTHORN BLVD
- RICHMOND HILL GO STATION PLATFORM 6
- DENISON ST / MCCOWAN RD
- DENISON ST / COPPARD AV
- DENISON ST / FEATHERSTONE AV
- DENISON ST / MIDDLEFIELD RD
- DENISON ST / COXWORTH AV
- DENISON ST STOP # 1238
- DENISON ST / MARKHAM RD
- MARKHAM RD / ELSON ST
- ELSON ST / MARYDALE AV
- ORCHARD HEIGHTS BLVD / CYPRESS CT
- ELSON ST / JORDANA DR
- ORCHARD HEIGHTS BLVD / BANFF DR
- ELSON ST / COXWORTH AV
- ORCHARD HEIGHTS BLVD / HILL DR
- ELSON ST / IRENEMOUNT CRES
- ORCHARD HEIGHTS BLVD / MEADOWOOD DR
- ELSON ST / MARY PEARSON DR
- ORCHARD HEIGHTS BLVD / FIELDING DR
- ELSON ST / MIDDLEFIELD RD
- ORCHARD HEIGHTS BLVD / PINENEEDLE D
- MIDDLEFIELD RD STOP # 1256
- ORCHARD HEIGHTS BLVD / WHISPERING P
- MIDDLEFIELD RD / DENISON ST
- AURORA HEIGHTS DR / MCLEOD DR
- EASTVALE DR / BILLINGSLEY CRES
- AURORA HEIGHTS DR / CRAWFORD ROSE DR
- EASTVALE DR / STEELES AV
- AURORA HEIGHTS DR / HAIDA DR
- STEELES AV / MARKHAM RD
- YONGE ST / AURORA HEIGHTS DR
- DENISON ST / MIDDLEFIELD RD
- CARRVILLE RD / AVENUE RD
- DENISON ST / FEATHERSTONE AV
- CARRVILLE RD / MYERS BLVD
- DENISON ST / COPPARD AV
- CARRVILLE RD / AYR RD
- DENISON ST / MCCOWAN RD
- CARRVILLE RD / OKANAGAN DR
- DENISON ST / TOWNLEY AV
- CARRVILLE RD / BATHURST ST
- DENISON ST / HILLCROFT DR
- RUTHERFORD RD / THOMAS COOK AV
- DENISON ST STOP # 1284
- BUR OAK AV / RIVERLANDS AV
- DENISON ST / CARTMEL DR
- BUR OAK AV / THE MEADOWS AV
- DENISON ST / BRIMLEY RD
- DENISON ST / EDEN AV
- BUR OAK AV / DONALD SIM AV
- DENISON ST STOP # 1291
- BUR OAK AV / ALMIRA AV
- DENISON ST / MALLORY AV
- BUR OAK AV / WHITE'S HILL AV
- DENISON ST / FRESNO CRT
- WHITE'S HILL AV / COUNTRY GLEN RD
- DENISON ST / KENNEDY RD
- WHITE'S HILL AV / NINTH LINE
- DENISON ST / MILLIKEN MEADOWS DR
- HIGHWAY 407 STATION
- DENISON ST / CLAYTON DR
- DENISON ST STOP # 1303
- and 4578 more (see the full list on the map or in the GeoJSON)
Over time
Overall score across the last 4 checks — up 15.9 since 2026-09-01.
Show the numbers
| Check | Score | Change |
|---|---|---|
| 2026-08-06 | 65.7 | first check |
| 2026-08-07 | 65.3 | down 0.4 |
| 2026-09-01 | 54.9 | down 10.4 |
| 2026-09-02 | 70.8 | up 15.9 |
What changed since your last check
- Correctness down 16.0
- Freshness up 91.6
- Rider experience no change
What changed in this feed
Grade improved from F to C since 2026-09-01.
The feed file was re-published since 2026-09-01 (+6208 KB).
New since 2026-09-01 (3 findings)
- Warning1067253 instances
Some rows in stop_times.txt leave the timepoint column blank.
Finding code: missing_timepoint_value · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning2 instances
Some files leave out fields that GTFS asks for but does not require.
Finding code: missing_recommended_field · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning2 instances
On some trips the stops fall along the route line in a different order than the schedule lists.
Finding code: stops_match_shape_out_of_order · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
Changed counts
- up Some stops sit far from the route line, going by the feed's own distance values. (572 → 1500) (stop_too_far_from_shape_using_user_distance)
- up Some rider-facing names are in ALL CAPS or all lowercase. (4358 → 4944) (mixed_case_recommended_field)
- up Some service calendars have no days of the week switched on. (2 → 4) (service_has_no_active_day_of_the_week)
- up Some service calendars in the feed have already ended. (1 → 3) (expired_calendar)
- up Some stops sit far from the route line they belong to. (1 → 2) (stop_too_far_from_shape)
- up About 4820 stop names are written in ALL CAPS. (4253 → 4820) (scorecard_stop_names_all_caps)
No longer reported since 2026-09-01 (1 finding)
- Service data runs out in 4 day(s). (scorecard_feed_expiring_soon)
This records the later feed state. It does not establish who made a change or why.
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-09-01 the grade moved from D to F. On 2026-09-02 the grade moved from F to C. On 2026-09-02 the check no longer reported: service data runs out in 4 day(s). As of 2026-09-02 it holds grade C.
A plain-language history of this feed, newest first.
- 2026-09-02 Grade went F to C, freshness rose 92 points.
- 2026-09-01 Grade went D to F, freshness fell 42 points.
Everything we checked
15 findings, ordered by severity.
Show every finding
- Warning1067253 instances
Some rows in stop_times.txt leave the timepoint column blank.
That column says whether a time is a real checkpoint or an estimate. Blank leaves apps guessing, and they may show your estimates as promises.
Fix: Set timepoint=1 on stops that are real time checks and 0 on the rest. If every published time is a scheduled one, mark them all 1. (Usually one export setting.)
Finding code: missing_timepoint_value · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning4944 instances
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.)
Finding code: mixed_case_recommended_field · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1500 instances
Some stops sit far from the route line, going by the feed's own distance values.
Trip planners may draw the route down the wrong streets or point riders to the wrong corner.
Fix: Check the flagged stops' shape_dist_traveled against the route shape, and re-generate it on export if they disagree. (Usually an export-tool fix, not hand editing.)
Finding code: stop_too_far_from_shape_using_user_distance · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning4 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)
- 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.)
Finding code: expired_calendar · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning2 instances
Some files leave out fields that GTFS asks for but does not require.
Recommended fields like agency_phone or stop descriptions make the feed more useful to riders and trip planners.
Fix: Review the flagged fields and fill in the ones your riders would use. (A field at a time; not urgent.)
Finding code: missing_recommended_field · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning2 instances
Some stops sit far from the route line they belong to.
Trip planners may draw the bus route through the wrong streets or point riders to the wrong corner.
Fix: Check the flagged stops' coordinates and the route shape in your scheduling software; re-snap whichever is misplaced. (A few minutes per flagged stop.)
Finding code: stop_too_far_from_shape · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning2 instances
On some trips the stops fall along the route line in a different order than the schedule lists.
Trip planners can draw the bus doubling back or skipping ahead, which confuses riders reading the map.
Fix: Check the stop order and the shape direction in your scheduling software; the shape is often drawn backwards. (A few minutes per flagged trip.)
Finding code: stops_match_shape_out_of_order · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
feed_info.txt lists no contact email and no contact URL.
Without a contact, apps like Google Maps can't reach you when they find a problem in the feed.
Fix: Add feed_contact_email or feed_contact_url to feed_info.txt. (One field, set once in export settings.)
Finding code: missing_feed_contact_email_and_url · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Warning1 instance
This feed models stations or entrances but has no pathways.txt.
Trip planners can't guide riders through the station, and there is no step-free route information for wheelchair users.
Fix: Add pathways.txt to link entrances, platforms, and elevators. Give each one a level. (Worth it for multi-level or large stations; flat stops don't need it.)
Finding code: scorecard_station_no_pathways · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)
- Info4820 instances
About 4820 stop names are written in ALL CAPS.
Mixed-case names are easier to read in apps and are read more naturally by screen readers.
Fix: Rename stops to mixed case where the language has letter case (for example, 'Central Station'). (Often a bulk fix in your scheduling software.)
Finding code: scorecard_stop_names_all_caps · Read the fix guide · See GTFS Best Practices (opens GTFS Best Practices on an external site)
- Info9 instances
Platform without parent station (flagged by the MobilityData validator).
See the linked rule for what this affects.
Fix: Review the rule documentation for 'platform_without_parent_station' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)
Finding code: platform_without_parent_station · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Info2 instances
Unused station (flagged by the MobilityData validator).
See the linked rule for what this affects.
Fix: Review the rule documentation for 'unused_station' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)
Finding code: unused_station · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
- Info1 instance
Some files contain columns that are not part of the GTFS spec.
Harmless to riders, but apps ignore these columns and they can hide typos in real column names.
Fix: Check the flagged column names for misspellings of standard GTFS fields; remove them if they are vendor extras. (A quick look at the flagged files.)
Finding code: unknown_column · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules 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. Small errors then sit in the feed for months.
Fix: Add feed_contact_email to feed_info.txt. (One field.)
Finding code: scorecard_no_feed_contact · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)
Conformance mark Awarded
This feed earns the conformance mark: valid, current, and stating wheelchair access on nearly every stop and trip.
- Valid Met
- Passes validation with no errors.
- Current Met
- Service data covers the next 59 days.
- Accessible Met
- States wheelchair access on 100% of stops and 100% of trips.
In plain words: earn this mark when your feed passes validation, has not expired, and says whether nearly every stop and trip is wheelchair accessible.
A pass credential for a feed that is valid, current, and states wheelchair access on nearly every stop and trip. Accessibility here measures what the feed publishes, not whether a stop is physically usable. How the conformance mark works.
Clears the Google and Apple Maps four-week coverage bar. This feed has 59 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. Read the full standards crosswalk.
- Correctness 50 / 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.
- Freshness 98 / 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.
- Rider experience 78 / 100
- GTFS Best Practices for rider-facing fields. MobilityData grading covers 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/york-region-transit/2026-09-02.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-02. 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.