← All agencies

Feed status · checked 2026-10-07

Port Authority of Allegheny County

Based on a Mobility Database mirror copy of the feed source on file; publisher ownership is not verified

Service mode Rail + Bus + Funicular

57.3 / 100

down 0.3 since 2026-10-06

Cataloged in Pennsylvania.

Expires in 7 daysAccessibility gaps

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.4, validator 8.0.1.

Checked for changes 32 minutes ago; last changed 92 days ago; last fetch returned HTTP 404.

Measured 4 of 4 score categories from the Mobility Database's mirror copy of the feed.

How we measured this

Confidence in this measurement: medium.

  • All four score categories were measured this run.
  • Realtime was sampled in one bounded window of 9 snapshots.
  • 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.

About this feed

Port Authority of Allegheny County’s published feed lists 102 routes (rail, bus and funicular), 18,817 scheduled trips and 6,388 stops. Its service dates run from 2026-06-28 through 2026-10-14. It publishes realtime trip updates, vehicle positions and service alerts; when we checked, all of them answered. The published file last changed on 2026-07-07.

Top things to fix

Fix 01

Correct feed_end_date in feed_info.txt. Set it to 2026-10-24, the last day in your calendar, or to the last day your schedule is reliable.Likely your export tool

feed_info.txt says this feed ends on 2026-10-14. Your service calendar runs to 2026-10-24. The GTFS standard tells apps to trust a feed only up to its end date. So apps may stop showing your service on the earlier date, even though the calendar goes on.

This one is about the feed as a whole, so there is no share of it to count.

⏱ One field in feed_info.txt, often an export setting.worth about +73 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

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

Fixing this covers all 6,388 stops in the feed.

⏱ A column in stops.txt; your scheduling software likely has it.worth about +25 points in its category

Riders and need behind these fixes

  • This feed carries no National Transit Database ID, so annual rider-trips are not known for it.
  • Pennsylvania as a whole measures lower on transit need. That is a statewide reading, not one for this feed's service area. Source: US Census ACS 5-year 2022, statewide overlay, as of 2026-10-05.

These describe this feed only. They do not rank agencies, and they do not change the grade or the order of the fixes.

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.

Finding
Fix 01 in Top things to fix: its feed evidence and the requested change.
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. Fix 01 · Read the fix guide for scorecard_feed_end_date_before_calendar

    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. Fix 02 · Read the fix guide for scorecard_wheelchair_boarding_unknown

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. See this feed's finding-clearance log.

  3. Fix 03 · Read the fix guide for mixed_case_recommended_field

    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 7 days.
Published accessibility data
Accessibility information is stated for 0% 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
Live-arrival data covered 81.2% of scheduled trips in the sampled window.

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

Correctness66.2 / 100

The MobilityData validator flagged 8 kinds of issue across 42683 instances (0 error, 24333 warning, 18350 informational).

Freshness11.7 / 100

Your feed_info end date, 2026-10-14, is earlier than your service calendar, which runs to 2026-10-24. The feed is read as ending on that earlier date, in 7 day(s).

Rider experience52.6 / 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 published.

Accessibility37.5 / 100

0% of stops state accessibility (0% marked accessible). Reflects what the feed states, not verified physical usability.

2 accessibility depth signals

  • 23 route badge(s) pair a color and text color below the WCAG 4.5:1 contrast bar (1, 12, 26, 28X, 29, 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.

  • 6257 stop name(s) use abbreviations or symbols a screen reader may mispronounce, with no spoken form set ("KEEPORT DR + YOUNGRIDGE", "BROWNSVILLE RD + NOBLES LN", "BROWNSVILLE RD + THE BOULEVARD", 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.

FaresLegacy fares

Fares are applied to trips.

Realtime quality93.3 / 100

Sampled 9 times: 3 of 3 configured feeds healthy; 81.2% of scheduled trips had live predictions; 98.9% of vehicles on their route; predictions ran a median of 147s behind schedule.

Routes and stops

Each route is drawn once, using the longest shape its trips follow; stops are the dots.

This feed has 6388 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.

  • 1 (blue)
  • 11 (orange)
  • 12 (pink)
  • 13 (pink)
  • 14 (yellow)
  • 15 (orange)
  • 16 (pink)
  • 17 (red)
  • 18 (gray)
  • 19L (green)
  • 2 (pink)
  • 20 (green)
  • 21 (yellow)
  • 22 (green)
  • 24 (green)
  • 26 (green)
  • 27 (teal)
  • 28X (red)
  • 29 (teal)
  • 31 (teal)
  • 36 (pink)
  • 38 (white)
  • 39 (orange)
  • 4 (pink)
  • 40 (white)
  • 41 (teal)
  • 43 (pink)
  • 44 (yellow)
  • 48 (red)
  • 51 (red)
  • 51L (blue)
  • 52L (purple)
  • 53 (pink)
  • 53L (orange)
  • 54 (pink)
  • 55 (brown)
  • 56 (red)
  • 57 (red)
  • 58 (teal)
  • 59 (purple)
  • 6 (yellow)
  • 60 (brown)
  • 61A (teal)
  • 61B (gray)
  • 61C (teal)
  • 61D (gray)
  • 64 (orange)
  • 65 (pink)
  • 67 (green)
  • 69 (teal)
  • 7 (green)
  • 71 (gray)
  • 71A (red)
  • 71B (pink)
  • 71C (pink)
  • 71D (pink)
  • 74 (pink)
  • 75 (brown)
  • 77 (teal)
  • 79 (orange)
  • 8 (green)
  • 81 (pink)
  • 82 (yellow)
  • 83 (green)
  • 86 (blue)
  • 87 (pink)
  • 88 (blue)
  • 89 (yellow)
  • 91 (blue)
  • 93 (pink)
  • BLUE (teal)
  • G2 (green)
  • G3 (yellow)
  • G31 (green)
  • O1 (orange)
  • O12 (orange)
  • O5 (orange)
  • P1 (purple)
  • P10 (purple)
  • P12 (pink)
  • P13 (pink)
  • P16 (red)
  • P17 (red)
  • P3 (pink)
  • P67 (purple)
  • P68 (pink)
  • P69 (pink)
  • P7 (purple)
  • P71 (blue)
  • P76 (blue)
  • P78 (blue)
  • RED (red)
  • SLVR (white)
  • Y1 (yellow)
  • Y45 (yellow)
  • Y46 (brown)
  • Y47 (yellow)
  • Y49 (yellow)
Routes in Port Authority of Allegheny County's feed
RouteTypeLine color
1 FREEPORT ROADBusblue
11 FINEVIEWBusorange
12 MCKNIGHTBuspink
13 BELLEVUEBuspink
14 OHIO VALLEYBusyellow
15 CHARLESBusorange
16 BRIGHTONBuspink
17 SHADELANDBusred
18 MANCHESTERBusgray
19L EMSWORTH LIMITEDBusgreen
2 MOUNT ROYALBuspink
20 KENNEDYBusgreen
21 CORAOPOLISBusyellow
22 MCCOYBusgreen
24 WEST PARKBusgreen
26 CHARTIERSBusgreen
27 FAIRYWOODBusteal
28X AIRPORT FLYERBusred
29 ROBINSONBusteal
31 BRIDGEVILLEBusteal
36 BANKSVILLEBuspink
38 GREEN TREEBuswhite
39 BROOKLINEBusorange
4 TROY HILLBuspink
40 MOUNT WASHINGTONBuswhite
41 BOWER HILLBusteal
43 BAILEYBuspink
44 KNOXVILLEBusyellow
48 ARLINGTONBusred
51 CARRICKBusred
51L CARRICK LIMITEDBusblue
52L HOMEVILLE LIMITEDBuspurple
53 HOMESTEAD PARKBuspink
53L HOMESTEAD PARK LIMITEDBusorange
54 NORTH SIDE-OAKLAND-SOUTH SIDEBuspink
55 GLASSPORTBusbrown
56 LINCOLN PLACEBusred
57 HAZELWOODBusred
58 GREENFIELDBusteal
59 MON VALLEYBuspurple
6 SPRING HILLBusyellow
60 MCKEESPORT - WALNUTBusbrown
61A NORTH BRADDOCKBusteal
61B BRADDOCK-SWISSVALEBusgray
61C MCKEESPORT-HOMESTEADBusteal
61D MURRAY SHORTBusgray
64 LAWRENCEVILLE - WATERFRONTBusorange
65 SQUIRREL HILLBuspink
67 MONROEVILLEBusgreen
69 TRAFFORDBusteal
7 SPRING GARDENBusgreen
71 EDGEWOOD TOWN CENTERBusgray
71A NEGLEY SHORTBusred
71B HIGHLAND PARKBuspink
71C POINT BREEZE SHORTBuspink
71D HAMILTON SHORTBuspink
74 HOMEWOOD-SQUIRREL HILLBuspink
75 ELLSWORTHBusbrown
77 PENN HILLSBusteal
79 EAST HILLSBusorange
8 PERRYSVILLEBusgreen
81 OAK HILLBuspink
82 LINCOLNBusyellow
83 BEDFORD HILLBusgreen
86 LIBERTYBusblue
87 FRIENDSHIPBuspink
88 PENNBusblue
89 GARFIELD COMMONSBusyellow
91 BUTLER STREETBusblue
93 LAWRENCEVILLE - HAZELWOODBuspink
BLUERailteal
DQI DUQUESNE INCLINEFunicularbrown (no shape in feed)
G2 WEST BUSWAYBusgreen
G3 MOON FLYERBusyellow
G31 BRIDGEVILLE FLYERBusgreen
MI MONONGAHELA INCLINEFunicularbrown (no shape in feed)
MISC Miscellaneous for TCH displayBuswhite (no shape in feed)
O1 ROSS FLYERBusorange
O12 MCKNIGHT FLYERBusorange
O5 THOMPSON RUN FLYERBusorange
P1 EAST BUSWAY-ALL STOPSBuspurple
P10 ALLEGHENY VALLEY FLYERBuspurple
P12 HOLIDAY PARK FLYERBuspink
P13 MOUNT ROYAL FLYERBuspink
P16 PENN HILLS FLYERBusred
P17 LINCOLN PARK FLYERBusred
P3 EAST BUSWAY-OAKLANDBuspink
P67 MONROEVILLE FLYERBuspurple
P68 BRADDOCK HILLS FLYERBuspink
P69 TRAFFORD FLYERBuspink
P7 MCKEESPORT FLYERBuspurple
P71 SWISSVALE FLYERBusblue
P76 LINCOLN HIGHWAY FLYERBusblue
P78 OAKMONT FLYERBusblue
REDRailred
SLVR SILVER LINERailwhite
TESTBuswhite (no shape in feed)
Y1 LARGE FLYERBusyellow
Y45 BALDWIN MANOR FLYERBusyellow
Y46 ELIZABETH FLYERBusbrown
Y47 CURRY FLYERBusyellow
Y49 PROSPECT FLYERBusyellow
List every stop
  • STEEL PLAZA STATION
  • WILLOW STATION
  • KEEPORT DR + YOUNGRIDGE
  • BROWNSVILLE RD + NOBLES LN
  • BROWNSVILLE RD + THE BOULEVARD
  • BROWNSVILLE RD + E MEYERS AVE
  • BROWNSVILLE RD + CRAILO AVE
  • BROWNSVILLE RD + AGNEW RD
  • BROWNSVILLE RD + WOODFORD AVE
  • BROWNSVILLE RD + PARKFIELD ST
  • BROWNSVILLE RD + OVERBROOK BLVD
  • BROWNSVILLE RD + #2336
  • BROWNSVILLE RD + BISCAYNE DR
  • BROWNSVILLE RD + CLIFTON BLVD
  • BROWNSVILLE RD + CHURCHVIEW AVE
  • BROWNSVILLE RD + MAYTIDE ST
  • LEBANON CHURCH RD + OTT DR FS
  • LEBANON CHURCH RD + REGIS AVE
  • CENTER AVE + COLUMBIA AVE FS
  • HWY RT 885 + HAMPTON RD
  • HWY RT 885 + LEWIS RUN
  • CENTER AVE + BRONX AVE
  • CENTER AVE + CHALFONTE AVE
  • WILLOW STATION
  • CENTER AVE + WAVERLY AVE
  • CENTER AVE + PERRY HWY
  • LEBANON CHURCH RD + BOMBARDIER
  • MIFFLIN RD + SLATE
  • E CARSON ST + 27TH ST
  • E CARSON ST + 26TH
  • SOUTH CAMPUS DRVWY + LIBRARY ENTRANCE
  • CENTER AVE + PERRY HWY FS (STEPS)
  • HWY RT 885 + GORDENS
  • HWY RT 885 + HUSTON
  • HWY RT 51 + PRIMANTI BROTHERS
  • FOURTH AVE + PPG ENTRANCE
  • CENTER AVE + WAVERLY AVE
  • BALDWIN ST + HOLY ANGEL SCHOOL
  • BALDWIN ST + RAMP ST BRIDGE
  • MIFFLIN RD + HAYS SCHOOL
  • CENTER AVE + CHALFONTE AVE
  • MIFFLIN RD + #669
  • CENTER AVE + COLUMBIA AVE FS
  • CENTER AVE + CORNELL AVE
  • HWY RT 885 + SPARTZ DR
  • BON AIR STATION
  • HWY RT 885 + HUSTON
  • HWY RT 885 + GORDENS
  • HWY RT 51 + PRIMANTI BROTHERS
  • WALNUT ST + LINDEN
  • WALNUT ST + #4913
  • WALNUT ST + LARCH FS
  • WALNUT ST + GRANT
  • OLYMPIA DRIVEWAY AT LIFE SPAN
  • WALNUT ST + #3800
  • WALNUT ST + EDEN PARK FS
  • WALNUT ST + 33RD FS
  • WALNUT ST + 31ST FS
  • WALNUT ST + 30TH FS
  • WALNUT ST + 28TH
  • WALNUT ST + 27TH FS
  • WALNUT ST + 25TH FS
  • WALNUT ST + SUNOCO STATION
  • WALNUT ST + 12TH
  • BON AIR STATION
  • WALNUT ST + 9TH
  • WALNUT ST + 13TH
  • WALNUT ST + 14TH
  • WALNUT ST + 15TH FS
  • WALNUT ST + SUNOCO STATION
  • WALNUT ST + 25TH
  • WALNUT ST + 28TH
  • WALNUT ST + #2906
  • WALNUT ST + 33RD
  • WALNUT ST + EDEN PARK
  • WALNUT ST + #3800
  • WALNUT ST + LONG RUN
  • WALNUT ST + GRANT
  • WALNUT ST + LARCH
  • WALNUT ST + WORTHINGTON
  • WALNUT ST + CENTER
  • WALNUT ST + LINDEN
  • OVERBROOK JUNCTION
  • BABCOCK BLVD + THOMPSON
  • THOMPSON RUN RD + RADCLIFFE
  • THOMPSON RUN RD + WOODBRIDGE DR
  • THOMPSON RUN RD + #218
  • WALNUT ST + 5TH
  • THOMPSON RUN RD + MILLER
  • THOMPSON RUN RD + LOIRE VALLEY
  • OVERBROOK JUNCTION
  • THOMPSON RUN RD + SIEBERT
  • LONG RUN RD + SUNSET
  • THOMPSON RUN RD + ABARD
  • THOMPSON RUN RD + HODIL
  • THOMPSON RUN RD + CHERRINGTON
  • EDEN PARK BLVD + MCKEESPORT HIGH SCHOOL DRVWY
  • EDEN PARK BLVD + MAYFAIR
  • THOMPSON RUN RD + BERKLEY MEADOWS
  • THOMPSON RUN RD + WHITE OAK
  • VERSAILLES AVE + CRAIG
  • VERSAILLES AVE + HAMILTON
  • VERSAILLES AVE + MAPLE
  • VERSAILLES AVE + PACKER
  • VERSAILLES AVE + EVANS
  • EVANS AVE + COLFAX
  • AMITY DR + SUTTER
  • MCKEESPORT TRANSPORTATION CENTER + BAY #4
  • LONG RUN RD + COOLSPRINGS
  • AMITY DR + BLAZE
  • AMITY DR + #212
  • AMITY DR + LINGAY
  • EDEN PARK BLVD + VICTORY DR
  • EDEN PARK BLVD + ONEIL
  • AMITY DR + CARRIAGE HILL
  • MCINTYRE DR + CHARTERWOOD
  • MCCLEARY ST + FORD
  • MCCLEARY ST + VERSAILLES
  • EVANS AVE + LAMONT
  • LAURELWOOD DR + FENWICK
  • LAURELWOOD DR + #126
  • LAURELWOOD DR + ENNERDALE
  • LINCOLN HWY + LINCOLN SQ SR CITIZEN HOME
  • REMINGTON DR + #210
  • REMINGTON DR + WALDWICK
  • REMINGTON DR + BALMORAL #1
  • REMINGTON DR + REGENCY
  • LINCOLN HWY + LINCOLN SQ SR CITIZEN HOME
  • REMINGTON DR + BALMORAL #2
  • REMINGTON DR + HAZLETT
  • REMINGTON DR + PEEBLES
  • W 5TH AVE + RAMP #1
  • WALNUT ST + 9TH
  • HEMLOCK DR + SAMPLE FS
  • WALNUT ST + 7TH
  • HEMLOCK DR + #4424
  • DUQUESNE BLVD + CENTER
  • 2ND ST + KENNEDY
  • 2ND ST + GRANT
  • GRANT AVE + 1ST
  • DUQUESNE BLVD + OAKMONT
  • DUQUESNE BLVD + FAIRMONT
  • DUQUESNE BLVD + COMMONWEALTH
  • KENNYWOOD BLVD + HOFFMAN
  • KENNYWOOD BLVD + GLEN
  • REMINGTON DR + HAZLETT
  • 8TH AVE + GRANT
  • 8TH AVE + ANDREW
  • 8TH AVE + HEISEL
  • 8TH AVE + DICKSON
  • 8TH AVE + MCCLURE
  • 8TH AVE + ANN
  • 8TH AVE + AMITY
  • 8TH AVE + WEST (HI-LEVEL BRIDGE)
  • BROWNS HILL RD + IMOGENE RD
  • MURRAY AVE + LORETTA
  • MURRAY AVE + LILAC
  • MURRAY AVE + WELFER
  • MURRAY AVE + #2825
  • MURRAY AVE + MORROWFIELD
  • REMINGTON DR + BALMORAL #1
  • MURRAY AVE + FORWARD
  • MURRAY AVE + PHILLIPS
  • MURRAY AVE + HOBART
  • MURRAY AVE + BEACON NS
  • MURRAY AVE + BARTLETT
  • REMINGTON DR + REGENCY
  • LEBANON CHURCH RD + RODEO
  • LEBANON CHURCH RD + POLK
  • LEBANON CHURCH RD + #4220
  • LEBANON CHURCH RD + #4512
  • LEBANON CHURCH RD + PLEASANT
  • REMINGTON DR + BALMORAL #2
  • RICHLAND AVE + BRIDGE STEPS
  • W 5TH AVE + RAMP #2
  • W 5TH AVE + REBECCA
  • MURRAY AVE + DARLINGTON
  • MURRAY AVE + BARTLETT
  • REMINGTON DR + WALDWICK
  • MURRAY AVE + HOBART
  • MURRAY AVE + PHILLIPS
  • MURRAY AVE + FORWARD
  • MURRAY AVE + MORROWFIELD
  • MURRAY AVE + BURCHFIELD
  • MURRAY AVE + WELFER
  • MURRAY AVE + LILAC
  • BROWNS HILL RD + IMOGENE RD
  • BROWNS HILL RD +PARKVIEW BLVD
  • ENNERDALE LN + DOUNREAY
  • 8TH AVE AT WEST ST FS
  • 8TH AVE + AMITY FS
  • 8TH AVE + ANN FS
  • 8TH AVE + MCCLURE
  • 8TH AVE + GRANT
  • 8TH AVE + RAVINE
  • LAURELWOOD DR + #125
  • KENNYWOOD BLVD + MIFFLIN
  • KENNYWOOD BLVD + GLENN
  • KENNYWOOD BLVD + GLENCAIRN
  • KENNYWOOD BLVD + HOFFMAN
  • LAURELWOOD DR + FENWICK
  • DUQUESNE BLVD + COMMONWEALTH
  • DUQUESNE BLVD + FAIRMONT
  • DUQUESNE BLVD + OAKMONT
  • DUQUESNE BLVD + OVERLAND
  • 2ND ST + GRANT
  • 2ND ST + KENNEDY FS
  • LIBRARY PL AT DUQUESNE BLVD - DUQUESNE PNR
  • DUQUESNE BLVD + CAMP
  • DUQUESNE BLVD + CENTER
  • LYSLE BLVD + 5TH
  • W 5TH AVE + REBECCA
  • WOOD STREET STATION
  • NORTH SIDE STATION
  • CHARTERWOOD DR + MCINTYRE
  • W 5TH AVE + PERRY
  • W 5TH AVE + RAMP #2
  • RICHLAND AVE + 3RD
  • LEBANON CHURCH RD + PGH-MCKEESPORT BLVD FS
  • MCINTYRE DR + THOMPSON RUN
  • LEBANON CHURCH RD + PLEASANT
  • LEBANON CHURCH RD + #4513
  • LEBANON CHURCH RD + WILSON
  • LEBANON CHURCH RD + POLK
  • LEBANON CHURCH RD + BUTTERMILK HOLLOW
  • LEBANON CHURCH RD + VINDALE RD FS
  • OLD ELIZABETH RD + BLUEMONT DR
  • MCCLURE ST + 9TH
  • 9TH AVE + ANN
  • 9TH AVE + AMITY
  • AMITY ST + 10TH
  • AMITY DR + CARRIAGE
  • WEST ST + 15TH
  • WEST ST + 17TH
  • WEST ST + 18TH
  • WEST ST + MUNHALL BORO BLDG
  • WEST ST + 21ST
  • 22ND AVE + MAIN
  • MAIN ST + HOMESTEAD-DUQUESNE
  • MAIN ST + EDNA
  • AMITY DR + LINGAY
  • MAIN ST + E JAMES
  • MAIN ST + W OLIVER FS
  • MAIN ST + MARION
  • MAIN ST + MILLER
  • MAIN ST + VIRGINIA
  • MAIN ST + EMERSON
  • MAIN ST + GRACE
  • MAIN ST + CAMBRIA
  • AMITY DR + #213
  • and 6138 more (see the full list on the map or in the GeoJSON)

Over time

Overall score across the last 2 checks — down 0.3 since 2026-10-06.

2026-10-06: 57.62026-10-07: 57.3
Show the numbers
Overall score by check, with the change from the previous check
CheckScoreChange
2026-10-0657.6 first check
2026-10-0757.3 down 0.3

What changed since your last check

  • Correctness no change
  • Freshness down 1.6
  • Rider experience no change
  • Realtime quality up 0.4

Feed history

Every check on record for this feed, grouped by the published file, newest first. A new file means the published zip changed. Grades from earlier rubric versions are shown with their rubric and are not comparable with today’s grade or the trend above.

Feed history by published file
CheckedPublished fileService dates throughGrade at the time
2026-10-06 to 2026-10-07 (2 checks)7da2f0604a782026-10-14Current rubric: see the trend above
2026-08-06 to 2026-09-13 (4 checks)7da2f0604a782026-10-14D, 65.4 under rubric 1.3, an earlier scoring contract; not comparable with today’s grade
2026-07-07 to 2026-07-10 (4 checks)7da2f0604a782026-10-14C, 75.4 under rubric 1.1, an earlier scoring contract; not comparable with today’s grade
2026-06-27 to 2026-07-06 (9 checks)3e040cbf8db32026-10-24F, 56.8 under rubric 1.1, an earlier scoring contract; not comparable with today’s grade
2026-06-19 to 2026-06-26 (8 checks)f5cabff93bca2026-06-27F, 53.3 under rubric 1.1, an earlier scoring contract; not comparable with today’s grade

What changed in this feed

Overall score fell 0.3 points since 2026-10-06.

Same feed file as 2026-10-06; the published zip did not change.

Changed counts

  • down 43 of 229 trips scheduled during the sampling window had no live predictions. (45 → 43) (scorecard_rt_trip_coverage)

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

Everything we checked

13 findings, ordered by severity.

Show every finding
  • Warning24290 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 for mixed_case_recommended_field · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning6388 instances

    6388 of 6388 stops don't say whether a wheelchair user can board there.

    Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all.

    Fix: Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. (A column in stops.txt; your scheduling software likely has it.)

    Finding code: scorecard_wheelchair_boarding_unknown · Read the fix guide for scorecard_wheelchair_boarding_unknown · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning43 instances

    43 of 229 trips scheduled during the sampling window had no live predictions.

    Riders on those trips get schedule times labeled as live. Caltrans asks that every trip you run shows up in TripUpdates.

    Fix: Ask your AVL vendor to check that every vehicle assignment reaches TripUpdates. School-day and tripper runs are the ones most often left out. (A vendor data-mapping question.)

    Finding code: scorecard_rt_trip_coverage · Read the fix guide for scorecard_rt_trip_coverage · See GTFS-Realtime reference (opens the GTFS-Realtime reference on an external site)

  • Warning29 instances

    The feed contains route shapes no trip uses.

    Harmless to riders, but it bloats the feed and suggests stale export data.

    Fix: Turn on 'remove unused shapes' (or the like) in your export tool. (One setting.)

    Finding code: unused_shape · Read the fix guide for unused_shape · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning7 instances

    Some route colors don't contrast with their text color.

    Route badges get hard to read, most of all for riders with low vision.

    Fix: Pick a darker/lighter route_text_color for the flagged routes. (One field per route.)

    Finding code: route_color_contrast · Read the fix guide for route_color_contrast · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

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

  • Warning1 instance

    feed_info.txt says this feed ends on 2026-10-14. Your service calendar runs to 2026-10-24.

    The GTFS standard tells apps to trust a feed only up to its end date. So apps may stop showing your service on the earlier date, even though the calendar goes on.

    Fix: Correct feed_end_date in feed_info.txt. Set it to 2026-10-24, the last day in your calendar, or to the last day your schedule is reliable. (One field in feed_info.txt, often an export setting.)

    Finding code: scorecard_feed_end_date_before_calendar · Read the fix guide for scorecard_feed_end_date_before_calendar · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Info18344 instances

    Unsorted stop times (flagged by the MobilityData validator).

    See the linked rule for what this affects.

    Fix: Review the rule documentation for 'unsorted_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)

    Finding code: unsorted_stop_times · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info6366 instances

    About 6366 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 for scorecard_stop_names_all_caps · See GTFS Best Practices (opens GTFS Best Practices on an external site)

  • Info6 instances

    Some service dates fall outside the date window set in feed_info.txt.

    feed_info.txt should span every day your service runs, so apps know when the data applies.

    Fix: Widen feed_start_date and feed_end_date to cover all service dates, or fix the dates that fall outside. (Two fields in feed_info.txt, or one export setting.)

    Finding code: service_window_outside_feed_period · Read the fix guide for service_window_outside_feed_period · 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 for scorecard_no_feed_contact · 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 7 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 7 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) Not checked yet
This feed provides agency_id. For RY2026, keep one stable value for each NTD reporter represented in the feed and crosswalk it on the P-50 form. The value does not need to equal the five-digit NTD ID; we do not have that ID on file, so the optional equality comparison is not checked yet.
shapes.txt covers your trips Needs attention
17870 of 18817 trips have a shape; 947 do not. Fill in shapes.txt and trips.shape_id for the remaining trips so every trip has a path. Reduced, Rural, and Tribal NTD reporters need full coverage by Report Year 2026.

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 7 days; renew to qualify. States wheelchair access on 0% of stops and 100% of trips; the mark needs 90% of each.

Valid Met
Passes validation with no errors.
Current Not yet
Service data runs out in 7 days; renew to qualify.
Accessible Not yet
States wheelchair access on 0% of stops and 100% 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.

Realtime reliability

The realtime feed responded on 100.0% of 200 checks in the 25 days to 2026-10-07, with 31s median lag.

Sampled on a schedule between full scores, so this tracks uptime and freshness over time rather than at a single moment. The window ends at the newest observation, which is not always today: if the monitor stops, this window stops with it.

Live predictions vs schedule

Arrival predictions ran a median 147s late versus the schedule, and stayed within 595s nine times in ten. They were on time (about a minute early to five late) 63.6% of the time. 98.9% of reported vehicle positions sat on or near the published route shape.

From the last full realtime sample: how far live arrival predictions sat from the schedule, and whether vehicle positions fell on the route. These feed the realtime score; they change no other category.

At risk for the Google and Apple Maps four-week coverage bar. This feed has 7 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 66 / 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 12 / 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 53 / 100
GTFS Best Practices for rider-facing fields. MobilityData grading covers stop names and headsigns.
Realtime quality 93 / 100
GTFS-Realtime best practices: a stable URL, high uptime, and frequent updates.

Part of the Pennsylvania portfolio: the same scorecards for every feed we track in that group, on one free page.

For programs that support several agencies

This scorecard and the board one-pager for Port Authority of Allegheny County are free, and they stay free. If you support several agencies, as a state program, a technical-assistance center, a feed vendor, or a consultancy, you can buy the program report bundle. It puts this agency's board report in one archive with the reports for the other agencies you support, and each cover carries your program's name, logo, and accent color.

The report for Port Authority of Allegheny County uses the same numbers as this page: grade F (57.3 out of 100) as of the check on 2026-10-07, its category scores, its top fixes, and its score at each check.

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 the program report bundle

See a sample bundle report: a real agency's current grade, with placeholder branding.

A purchase buys no influence over grades, methodology, or which agencies are listed. The grade on this page comes from the check on 2026-10-07, scored with rubric v1.4 and MobilityData gtfs-validator 8.0.1. Based on a Mobility Database mirror copy of the feed source on file; publisher ownership is not verified. Read how the grade is calculated.

Similar feeds in Pennsylvania

Other scorecards in Pennsylvania, starting with the same kind of service at a similar size. Listed for comparison, not ranked.

Show your grade

Put this badge on your agency site or feed README. It updates after each completed scoring check, shows the date of that check, and links back to this scorecard. When there is no current score it says so instead of showing an old one.

Port Authority of Allegheny County: GTFS feed quality grade F, 57.3 of 100, checked 2026-10-07. GTFS Scorecard.

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/port-authority-of-allegheny-county/2026-10-07.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-10-07. 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.