Reference · built on requestCommons signalTransit, roads & mobility

MTA GTFS-Realtime & Bus Time Feeds

GTFS-Realtime for the New York City subway, LIRR and Metro-North, service alerts, elevator outages, and Bus Time bus positions.

About

The Metropolitan Transportation Authority publishes GTFS-Realtime feeds for the New York City subway, Staten Island Railway, Long Island Rail Road and Metro-North Railroad on api-endpoint.mta.info, alongside service alert feeds for every agency and JSON feeds of elevator and escalator outages. Accounts and API keys are no longer required for these feeds. Bus positions and stop predictions come from MTA Bus Time, a separate system with SIRI and GTFS-Realtime endpoints that do need a free developer key.

An operator watches the lines that serve your sites, reads the status rank inside each alert, and proposes a shift-coverage or shuttle change for your approval.

This is a reference listing. It documents what Fibric would read from MTA GTFS-Realtime & Bus Time Feeds and what it could propose, based on the publisher's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Subway GTFS-Realtime trip updates and vehicle positions in line-group feeds: nyct/gtfs (1-7, S), gtfs-ace, gtfs-bdfm, gtfs-g, gtfs-jz, gtfs-nqrw, gtfs-l, gtfs-si
  • Long Island Rail Road (lirr/gtfs-lirr) and Metro-North Railroad (mnr/gtfs-mnr) GTFS-Realtime feeds
  • Service alerts as protobuf or .json: camsys/all-alerts, subway-alerts, bus-alerts, lirr-alerts, mnr-alerts
  • A status rank from 1 (No Scheduled Service) to 35 (Suspended) appended to each alert entity id after a colon
  • Elevator and escalator outages: nyct_ene.json (current), nyct_ene_upcoming.json, nyct_ene_equipments.json
  • Bus Time SIRI VehicleMonitoring and StopMonitoring, plus GTFS-Realtime tripUpdates, vehiclePositions and alerts on gtfsrt.prod.obanyc.com
  • Static GTFS: regular subway (a few times a year), supplemented subway (hourly), LIRR, Metro-North, and six bus files (four times a year)

Proposed actions

Read-only. This feed informs operators; it changes nothing.

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Explain a cluster of late arrivals

    Read subway-alerts for the lines that reach your building. When an alert's status rank is 30 or above, the operator proposes coverage for the affected shift and records the alert id behind it.

    With Shift Coverage, No-Show Response

  • Put subway status in the morning brief

    Each morning the operator reads all-alerts and the current elevator outages at your nearest stations, and lists them in the brief with the alert text.

    With Morning Brief

  • Hold a hotel shuttle for a delayed railroad

    Watch lirr-alerts and mnr-alerts. When a line into Penn Station or Grand Central shows Delays or Suspended, the operator proposes a later shuttle departure for your approval.

    With Shuttle Timing

Requirements

  • A protobuf client with the NYCT Subway proto extensions (nyct-subway.proto) compiled in
  • A Bus Time developer key for any bus request; the wiki says you receive one within half an hour
  • Your own server to store and serve the feeds; the terms prohibit apps that read directly from MTA servers
  • The static GTFS for the lines you watch, to resolve trip and stop ids
Authentication
No key for the subway, railroad, alert and elevator feeds on api-endpoint.mta.info. Bus Time SIRI and GTFS-Realtime calls need a free MTA Bus Time developer API key from register.developer.obanyc.com, passed as key=.

Limits

  • Bus Time VehicleMonitoring calls without VehicleRef or LineRef load the system; requests under 30-second intervals risk key revocation
  • The terms require a lag notice to users when your copy is more than 1 minute behind MTA real time
  • Port Jervis and Pascack Valley Line data comes from NJ TRANSIT developer tools, not from MTA feeds
  • The feed list and proto file live on a single-page developer site, not in a static document

Access and pricing

Reference listing. Public feed access is separate from Fibric integration. If you request this feed, your quote covers the build, usage, and support.

Request MTA GTFS-Realtime & Bus Time Feeds ↗

Questions and answers

Do I need an API key for MTA feeds?
Not for the subway, LIRR, Metro-North, alert and elevator feeds; the developer site says accounts and API keys are no longer required. Bus Time is different: its SIRI and GTFS-Realtime endpoints require a developer key from register.developer.obanyc.com.
How do I tell how serious an alert is?
Every alert entity id ends with a colon and a status rank from 1 to 35. Ranks above 24 cover live disruptions such as Delays (26), Severe Delays (30), Detour (31) and Suspended (35). Lower ranks are notices and planned work.
How do cancelled bus trips appear?
In SIRI version 2 the MonitoredVehicleJourney VehicleStatus reads cancelled; in version 1 ArrivalStatus and DepartureStatus do. The GTFS-Realtime trip updates use ScheduleRelationship CANCELLED, and alerts carry effect REDUCED_SERVICE with the trip in description_text.
Ask about MTA GTFS-Realtime & Bus Time Feeds

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.