Southeastern Pennsylvania Transportation Authority Serving Bucks, Chester, Delaware, Montgomery, and Philadelphia Counties

Choose Your Service

Trip Planner

System Map

beginning location
final destination


Quick Links


New - June 5 2015 - Apps for Philly Transportation Hackathon

SEPTA and SEPTAdev is proud to be a sponsor of Apps for Philly Transit and we welcome all participants. In additiona to prizes and give-aways care of SEPTA's Sales and Marketing Departments we are pleased to release the following data for this event.

TransitView BETA (json)

Currently in BETA TransitView now displays the GTFS trip IDs.

Sample JSON:
    "trip": "4403985",
    "lat": "40.043152",
    "lng": "-75.18071",
    "label": "5479",
    "VehicleID": "5479",
    "BlockID": "7064",
    "Direction": "NorthBound",
    "destination": "Chestnut Hill",
    "Offset": "3",
    "Offset_sec": "220"

Param(s): route

GTFS-rt (pb)

GTFS-realtime, is an extension of the GTFS that adds support for realtime updates to active vehicles and routes. The format of the available feeds are based on, Protocol Buffers.

Param(s): None

Mobile Apps

SEPTA Android App

Source code to the SEPTA Android App.
SEPTA Android App source code (github)


Source code to the SEPTA iOS App.
SEPTA iOS App source code (github)

Real-Time Data

NOTE: Real-time Data is not yet available for the Broad Street Line (Subway), Market Frankford Line (EL), Norristown High Speed Line (Rt. 100), and Subway-Surface Trolley's (when they are in the tunnel).

Bus/Trolley, ALL locations (json)

Instead of fetching vehicle location data route by route, you can now get all the vehicle locations at once. Below is a rendering of the data returned in a single call.

Param(s): None

Regional Rail Station Arrivals/Departures (json)

Returns a list/queue of trains scheduled to arrive at a station in two/both directions. The direction is demarcated as either Northbound or Southbound. The directions are obviously not geographical references, but rather a reference to the old Reading and Pennsy Railroads. The key to understanding the direction is by using Suburban Station as a starting point: Any trains that that move eastbound towards Market East are all considered Northbound; trains going from Suburban to 30th St are all Southbound. The 'path' field describes more accurately the path of travel along the various branches. Station names and id's can be found here (csv). A full list of paths will be published soon.

The api has two parameters:

  • -station name or id (required - Regional Rail Stations ONLY)
  • -number of results - default is 5, max is 200/all (optional)

Web Interface
HTML interface to the data (circa 2009)

Param(s): Station Name (required) / Number of Results (optional)
Example: Next 5 trains at Suburban Station (called by Station Name) Station/5/

Param(s): Station Name (required) / Number of Results (optional)
Example: Next 10 trains at Suburban Station (called by Station ID)

Center City Regional Rail Arrivals (csv)

Regional Rail arrival times are displayed at three Center City stations. These displays will be available online in the near future. The displays refresh every 15 seconds.

Note: If you are using Internet Explorer if may be necessary to open the 'Control Panel' and go to:
'Internet Options -> Browsing History -> Settings'
and change the browser caching and checking for newer options value to 'every time'.
Market East Station Display
Suburban Station Display
30th Street Station Display

The data for the above displays is available in CSV format and is updated every 20 seconds.
Market East Station Display Data (csv)
Suburban Station Display Data (csv)
30th Street Station Display Data (csv)

Elevator Outages (json)

A list of elevators that are out of service is displayed on the Elevator Status page. This data is now available encoded in json format; it returns a list of elevators that are out of service.
Elevator Outages (json)

SEPTA System Locations (json/jsonp)

SEPTA locations API- This api takes in 4 paramters a latitude(required), longitude(required), type(optional), radius(optional) to return all SEPTA locations from a geographical point within a radius that is measured in miles. Reference: SEPTA Pass Perks website and SEPTA Sales Locations.

Types: [bus_stops , rail_stations , perk_locations , trolley_stops , sales_locations]

Note: For radius it is a decimal value so .5 is acceptable for half a mile.

JSONP OR JSON compatiable. For JSONP add &callback=?

Additonal Notes: More infomation about sales and perk locations are embedded inside the arrays. Notifed as perk_data or sales_data. The API is ordered by closest location. The distance field returned by the api will tell you how far you are from the supplied lat/lng in miles.
Sample Jquery: 
  url: "",

 dataType: "jsonp",
  success: function(data){
    $.each(data, function(i,item){
        var locname =item.location_name;
        if( item.location_type== 'perk_locations')

            if(item.location_data != null)
             alert(item.location_data.location_id + ' ' +item.location_data.location_name);


System Status: Suspensions, Alerts, Detours and Advisories (json/jsonp)

System Status Web Page

Param(s): Route/Line Name (optional)
Will show if there is an alert, advisory, or detour:

JSONP Example(s)

Adivosry, Alert, Detour Messages:

All Alerts Messages

Single Alerts Messages

JSONP Example

Regional Rail: TrainView (json, web)

TrainView Web Page

Regional Rail Trainview Feed (json)

Regional Rail Trains on a Google Map

Regional Rail Trains on a System Map. There's bugs in how a few point get rendered. The area's in orange are "Dark Territory" the data in those locations is an estimate at best and that goes for above json data as well. End users should understand that the data can be unreliable. We're wroking to get reliable data from Amtrak. Finally, a suspended train has a 'late' value of 999.

Regional Rail: Next to Arrive (json)

Next to Arrive Web Page

Param(s): Start Station / End Station / Number of Results (optional)

JSONP Example

Bus/Trolley: Locations (json)

TransitView Web Page

Param(s): Route Number or Letter. Lettered routes in caps.
JSONP Example
Bus/Trolley Locations (WITH TRIP-ID'S)

Bus: Detours (json)

Bus Detours Web Page - deprecated

Param(s): Route (optional)
All Detours for all routes:

Detour By Route:

JSONP Example

@SEPTA Twitter Posts (json)

SEPTA Twitter Accounts Web Page

@SEPTA Account Param(s): Number of posts

Current Travel Alerts (html)

Current Travel Alerts. HTML only sorry, scrape & grep on div then strong

Static Data (Schedules, Stops, GIS)

GTFS Schedules (zip/gtfs)

Regional Rail: Route Trace (kml)

Single KML file of the Regional Rail (kml)

Bus/Trolley: Route Trace (kml)

Param(s): Route Number or Letter. Lettered routes in caps.

Bus Shelter Locations (csv)

Single static CSV file that contains geo-coordinates of all the Bus Shelters on the system. Thanks to the City of Philadelphia's Mayor's Office of Transportation & Utilities.
Bus Shelter Locations (csv)

Pass Perks (json, ary)

A dump of all Pass Perks in the SEPTA Pass Perks Website in json and serialized PHP array formats.
Note: this data does not include geo-coordinates for the locations.
Pass Perks (json)
Pass Perks (ary)

Regional Rail: Schedules by Train Number (json)

Param: Train Number
JSONP Example

Bus/Trolley: Schedules (json)
Parms(s): ?req1=stop_id req2=route (optional) req3=(i or o) (for inbound/outbound)optional req=6 number of results(optional)
JSONP Example

Bus/Trolley: Stops By Route - unsorted (json)

Param(s): Route Number or Letter. Lettered routes in caps.
JSONP Example

Bus/Trolley: SMS Schedules by Stop (text /n delimited)

Param(s): StopID / RouteID (optional) / DirectionID (i=inbound, o=outbound, optional when applicable)

RSS Feeds

Press Releases

News Bites (w/ error)

Sustainability Journal Entries (with errors)

Travel Alerts (by mode)

Elevator Outages

Bus Detours


Event info, Web versions of the above, etc.

Code for Philly:
Apps For Philly:
TransitView (Bus/Trolley Locations):
Next To Arrive (Regional Rail Departures):
SMS Schedules:
Mobile Website:
Press Releases:
News Bites:
Current Travel Alerts:
Elevator Status:
Bus Detours:
TrainView: html pda mobile

Contact SEPTA Team

SEPTAdev Google Group
SEPTAdev Twitter
SEPTAdev Email