Southeastern Pennsylvania Transportation Authority: Serving Bucks, Chester, Delaware, Montgomery, and Philadelphia Counties. http://www.septa.org/
Provides access to SEPTA travel alerts via an API. All travel alerts can be viewed at https://www3.septa.org/api/Alerts/.
To retrieve travel alerts for a specific route or line, add the parameter: route/line name to the URL.
Example: https://www3.septa.org/api/Alerts/index.php?routes=bus_route_33
The API endpoint at get_alert_data.php provides more verbose messages for either the whole system or a single route
Example: https://www3.septa.org/api/Alerts/get_alert_data.php?route_id=bus_route_33
Provides access to current SEPTA bus detours via an API. All detours for all routes can be accessed at https://www3.septa.org/api/BusDetours/.
To specify detours for a specific route, add the parameter: route number to the URL.
Example: https://www3.septa.org/api/BusDetours/23
Visual dashboards that describe ridership and performance metrics.
Returns a list of all elevator outages. The API does not require any paramters.
SEPTA publishes real-time alerts, updates, and vehicle positions as GTFS-RT data feeds in protocol buffer (protobuf) format. A human-readable version is available from each end-point using /print.php but will only have the most recent 5 records.
SEPTA schedule and location information in GTFS format. Additional informatoion can be found on GitHub (https://github.com/septadev/GTFS/) or Google group (https://groups.google.com/forum/#!forum/septadev)
The SEPTA Real-time Map combines the results of several APIs, including bus, trolley and regional rail locations and alerts.
The TrainView API returns information on all current regional rail trains.
The NextToArrive API returns departure and arrival times between two different stations. Please refer to the Regional Rail Inputs page (see below) to see all valid inputs. <ul> <li>req1 is the starting Regional Rail station</li> <li>req2 is the ending Regional Rail station</li> <li>req3 is an integer with the number of results to show</li> </ul>
The Arrival/Departure API returns a list/queue of regional rail trains 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 move eastbound towards Market East are all considered Northbound; trains going from suburban t o 30th St are all Southbound. The path field describes more accurately the path of travel along various branches. Every regional stop is a valid parameter. Please refer to the Regional Rail Inputs page (see below) to see all valid inputs.
Stop summary files represent average daily ridership at the stop level over the course of the relevant period. Trolley ridership data was generated using automatic passenger counters (APCs). Bus data is calculated from a variety of sources depending on the route and year. The bus data files represent average daily fall ridership from 2014 – present. Accurate weekend bus data was not available until 2017 at which point SEPTA had more widespread APC coverage. No bus data is available for Fall 2020 due to a malware attack. APC bus data was also not available for articulated vehicles and the Boulevard Direct from August 2020 through February 2022 due to the malware attack.
Geographic data for SEPTA routes, stops, and locations is available from both APIs and GIS data.
Provides API access to SEPTA regional rail, bus, and trolley schedules.
Regional rail schedules are accessed by train number. Train numbers are in the GTFS files or the route stop API.
Example: https://www3.septa.org/api/RRSchedules/index.php?req1=458 returns rail schedule for the Aiport Line.
Bus and trolley schedules are accessed by stop ID.
Example: https://www3.septa.org/api/BusSchedules/index.php?stop_id=12345
returns scheduled stops for Ridge Av & Walnut Ln
SEPTA SMS Transit enables users to request scheduled trip information via text message. Users subscribe to the service via text. After setting up an account, users can receive schedule information by texting the Stop ID number for a bus, trolley, or subway stop to 41411. They will receive a return text with information on the four next scheduled trips from that stop. Users can include the specific route designation in the text to receive information on a certain route if the stop serves multiple routes. In addition to using the SMS, there is also a simulator which people can use to experiment at no cost.
Finally, the SMS data can be accessed from an API. The data returned by the API is currently text format, separated. The API can be accessed in the format: https://www3.septa.org/sms/var1/var2/var3/var4/var5
[var1] = stop id
[var2] = route id OR i/o for inbound/outbound
[var3] = i/o for inbound/outbound only if route id is supplied
[var4] = returns schedule times on or after specified date, format: MM/DD/YYYY. Defaults to current day.
[var5] = returns schedule times on or after specified time, format: HH:mm:ss. Defaults to current time.
Stops fall into one of three categories, here is an explanation with some sample links:
TransitView provides real-time information about SEPTA buses and trolleys. TransitViewAll returns all current bus and trolley locations. TrnasitView accepts a route number and retuns locations for all vehicles on that route.
Example: https://www3.septa.org/api/TransitView/index.php?route=33 returns all vehicles on bus route 33
Trip planner for finding SEPTA routes and times between an origin and destination.