Transportation — entry 053 of 69
Transport for Philadelphia, US
SEPTA's real-time data is spread across a family of small JSON endpoints under www3.septa.org/api (TrainView, TransitView, NextToArrive, Alerts, BusDetours) plus separate GTFS-RT protobuf feeds, and is now indexed through a Swagger UI at api.septa.org rather than the old Code-for-America hackathon reference page. None of the endpoints tested require a key, but SEPTA doesn't publish rate limits or uptime guarantees.
SEPTA runs trains, buses, subway, and trolleys around Philadelphia. Its public API returns live data as JSON. The TrainView endpoint lists every Regional Rail train that is now running, with position, next stop, and delay.
GreatAPIs Score
Auth quickstart
- No API key is needed. The endpoints are open and keyless.
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
List live Regional Rail trains
GEThttps://www3.septa.org/api/TrainView/index.php
[{"lat":"39.95282972","lon":"-75.15885418","trainno":"2397","service":"LOCAL","dest":"Penn Medicine","currentstop":"Jefferson Station","nextstop":"Jefferson Station","line":"Media/Wawa","consist":"126,125,168,167","heading":"260.40754794104","late":0,"SOURCE":"Norristown","TRACK":"4","TRACK_CHANGE":""}]The array is truncated to its first train. The live call returned 26 trains. The train object is unchanged.
Developer reference
Gotchas & limits
- Most numbers are JSON strings. In the response,
lat,lon,trainno, andheadingare quoted. Onlylate(minutes late) is a real number. Convert the strings before you do any math. - The response has no wrapper object. The top level is a bare array, and it changes with each call because it shows trains now in service.
- Field names are not consistent in case:
lat,trainno, anddestare lower case, butSOURCE,TRACK, andTRACK_CHANGEare upper case. TRACKandTRACK_CHANGEcan be empty strings when SEPTA has no track data for the train.- The response sets
Cache-Control: no-storeand theExpiresdate is 1997, so each call is fresh. Cache on your side if you poll.