Pennsylvania transit feeds and the NTD shapes.txt requirement.
Of the 29 Pennsylvania feeds this site tracks and has checked for shapes.txt, 28 carry a shape for every trip, 1 cover some trips, and 0 have no shapes yet.
What the requirement says
FTA's July 2025 final notice makes shapes.txt part of the GTFS that NTD reporters with fixed-route service publish: Full Reporters from Report Year 2025, and Reduced, Rural, and Tribal Reporters from Report Year 2026. The same notice makes agency_id a required field from Report Year 2025, where it had been required only when a feed names several agencies. This page does not say which reporter type a feed belongs to, and filing dates are FTA's to set: check your reporter type in your own NTD filing and the due date in FTA's NTD reporting calendar. See the shapes.txt explainer for the rule and its sources.
Tracked Pennsylvania feeds
| Agency | shapes.txt | agency_id |
|---|---|---|
| Port Authority of Allegheny County | Some trips are missing a shape (17,870 of 18,817 trips have one) | Provided in agency.txt |
| Altoona Metro Transit (AMTRAN) | Every trip has a shape | Provided in agency.txt |
| Area Transportation Authority of North Central Pennsylvania | Every trip has a shape | Provided in agency.txt |
| Beaver County Transit Authority | Every trip has a shape | Provided in agency.txt |
| Berks Area Regional Transportation Authority (BARTA) | Every trip has a shape | Provided in agency.txt |
| Borough of Mt. Carmel | Every trip has a shape | Provided in agency.txt |
| Cambria County Transit Authority (CamTran) | Every trip has a shape | Provided in agency.txt |
| CATABUS | Every trip has a shape | Provided in agency.txt |
| County of Lackawanna Transit System (COLTS) | Every trip has a shape | Provided in agency.txt |
| Crawford Area Transportation Authority (CATA) | Every trip has a shape | Provided in agency.txt |
| Erie Metropolitan Transit Authority | Every trip has a shape | Provided in agency.txt |
| Fayette Area Coordinated Transportation (FACT) | Every trip has a shape | Provided in agency.txt |
| Freedom Transit (Washington County) | Every trip has a shape | Provided in agency.txt |
| Hazleton Public Transit | Every trip has a shape | Provided in agency.txt |
| Indiana County Transit Authority (IndiGO) | Every trip has a shape | Provided in agency.txt |
| Lebanon Transit | Every trip has a shape | Provided in agency.txt |
| Lehigh and Northampton Transportation Authority (LANTA) | Every trip has a shape | Provided in agency.txt |
| Luzerne County Transportation Authority (LCTA) | Every trip has a shape | Provided in agency.txt |
| Mid Mon Valley Transit Authority | Every trip has a shape | Provided in agency.txt |
| Monroe County Transportation Authority (MCTA) | Every trip has a shape | Provided in agency.txt |
| New Castle Area Transit Authority | Every trip has a shape | Provided in agency.txt |
| Philly PHLASH | Every trip has a shape | Provided in agency.txt |
| Pottstown Area Rapid Transit | Every trip has a shape | Provided in agency.txt |
| Rabbit Transit | Every trip has a shape | Provided in agency.txt |
| Red Rose Transit Authority (RRTA) | Every trip has a shape | Provided in agency.txt |
| Schuylkill Transportation System | Every trip has a shape | Provided in agency.txt |
| Shenango Valley Shuttle Service | Every trip has a shape | Provided in agency.txt |
| Southeastern Pennsylvania Transportation Authority (SEPTA) Bus | Every trip has a shape | Provided in agency.txt |
| Southeastern Pennsylvania Transportation Authority (SEPTA) Rail | Every trip has a shape | Provided in agency.txt |
FTA's notice describes shapes.txt as a file for each route. The shapes.txt column counts something simpler and stricter: whether every trip in trips.txt carries a shape_id that matches a path in shapes.txt. The agency_id column reads agency.txt only; the notice also names routes.txt and fare_attributes.txt. Each row reflects the feed's most recent scoring run. Absence from this list means a feed is not tracked here, not that it is out of compliance.
If your feed is on the list
Ask whoever builds your GTFS export for shapes.txt with trips.shape_id set to match, republish, and the next completed scoring run re-checks the feed. Two validator notices commonly follow new shapes: unused_shape and stop_too_far_from_shape.
Not tracked here? Paste your feed's URL to grade it in about a minute, or run the pre-publish check on an export you have not published yet; that one reads the zip in your browser and uploads nothing.
This page is a data-quality heads-up, not an official compliance determination or legal advice. The official record is each agency's own NTD filing and annual D-10 certification. Source: NTD reporting changes for report years 2025 and 2026.