For Agents
Download the MTA's published GTFS schedule archives for NYC subway, LIRR, Metro-North, and per-borough bus services to power transit routing and schedule apps.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the MTA Developer API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with MTA Developer API.
Download the latest NYC subway GTFS schedule via GET /gtfs_subway.zip
Pull the supplemented subway feed reflecting near-term service changes via GET /gtfs_supplemented.zip
Retrieve the Long Island Rail Road schedule via GET /gtfslirr.zip
GET STARTED
Use for: I need to download the latest NYC subway schedule, Get the GTFS feed for Long Island Rail Road, Retrieve the Metro-North schedule for routing, Pull the Brooklyn bus schedule archive
Not supported: Does not handle real-time arrivals, fare payment, or service alerts — use for downloading static MTA GTFS schedule archives only.
The Metropolitan Transportation Authority developer API provides static GTFS schedule data for New York City's subway, Long Island Rail Road, Metro-North, and bus services. Developers download the published GTFS archives — gtfs_subway.zip, gtfslirr.zip, gtfsmnr.zip, and the borough-specific bus archives — to feed routing engines, schedule lookups, and accessibility tools. The API is a thin distribution layer over the MTA's authoritative schedule files, kept current with the latest service changes.
Retrieve the Metro-North Railroad schedule via GET /gtfsmnr.zip
Download borough-specific bus schedules — Bronx, Brooklyn, Manhattan, Queens, Staten Island — via GET /gtfs_bx.zip and siblings
Pull the MTA Bus Company (express and select bus) schedule via GET /gtfs_busco.zip
Patterns agents use MTA Developer API for, with concrete tasks.
★ Power a NYC Transit Routing App
Trip planning apps consume the MTA's GTFS archives to compute station-to-station itineraries with realistic transfer times and operating hours. Pulling /gtfs_subway.zip and the borough bus zips builds a multi-modal graph that covers subway plus the surface bus network. Apps refresh nightly so service changes propagate without manual data entry.
Download GET /gtfs_subway.zip and the five borough bus zips, unzip each into a working directory, and load the stops.txt and stop_times.txt into the routing graph.
Schedule Lookup for an Internal Tool
Operations teams in NYC need to surface the next train at a specific station for staff or visitor wayfinding. Loading /gtfs_subway.zip produces a stop-times dataset that answers 'next 6 train at Bleecker Street' lookups locally without per-query API calls. The supplemented feed adds short-term service changes from /gtfs_supplemented.zip.
Pull GET /gtfs_subway.zip and GET /gtfs_supplemented.zip, merge the stop_times tables, and answer 'next train at stop X' from the merged dataset.
LIRR and Metro-North Commuter Tools
Commuter tools serving the Long Island and Hudson Valley markets ingest /gtfslirr.zip and /gtfsmnr.zip to surface train times, track assignments where exposed, and service patterns. The static feeds supply the schedule baseline while real-time GTFS-RT alert feeds — published separately by the MTA — overlay disruptions on top.
Download GET /gtfslirr.zip and GET /gtfsmnr.zip, unzip both, and surface the next northbound departure from Stamford or the next eastbound from Penn Station.
Agent-Driven Daily GTFS Refresh
An AI agent maintains a transit dataset by refreshing every MTA archive nightly. Through Jentic the agent searches for 'download nyc subway gtfs', loads the schema, and iterates through each GTFS zip URL the API exposes. The unauthenticated surface means no credential handling — only download orchestration and validation that the archives parse cleanly.
Search Jentic for 'download nyc subway gtfs', execute each MTA archive endpoint, and validate that stops.txt and trips.txt parse with no errors before swapping the new dataset into production.
10 endpoints — the metropolitan transportation authority developer api provides static gtfs schedule data for new york city's subway, long island rail road, metro-north, and bus services.
METHOD
PATH
DESCRIPTION
/gtfs_subway.zip
Download static NYC subway GTFS
/gtfs_supplemented.zip
Download subway GTFS with near-term service changes
/gtfslirr.zip
Download Long Island Rail Road GTFS
/gtfsmnr.zip
Download Metro-North Railroad GTFS
/gtfs_bx.zip
Download Bronx bus GTFS
/gtfs_busco.zip
Download MTA Bus Company GTFS
/gtfs_subway.zip
Download static NYC subway GTFS
/gtfs_supplemented.zip
Download subway GTFS with near-term service changes
/gtfslirr.zip
Download Long Island Rail Road GTFS
/gtfsmnr.zip
Download Metro-North Railroad GTFS
/gtfs_bx.zip
Download Bronx bus GTFS
Three things that make agents converge on Jentic-routed access.
Credential isolation
The MTA static GTFS endpoints are unauthenticated, so Jentic scopes the agent to the read-only download operations and prevents accidental misuse against any other surface.
Intent-based discovery
Agents search Jentic with intents like 'download nyc subway gtfs' and Jentic returns the specific archive endpoint with the right zip path, removing guesswork about which archive covers which mode.
Time to first call
Direct integration: half a day to enumerate the archive URLs, schedule downloads, and parse GTFS. Through Jentic: under 30 minutes for an agent to discover the archives and run the first refresh.
Alternatives and complements available in the Jentic catalogue.
Specific to using MTA Developer API through Jentic.
What authentication does the MTA Developer API use?
The static GTFS download endpoints exposed in this spec are unauthenticated — they serve public schedule archives. Through Jentic the agent calls them with no credential setup at all, which makes orchestrating a multi-archive refresh trivial.
Can I get realtime arrival data through these endpoints?
No. The endpoints in this spec return static GTFS archive zips for schedule planning. The MTA publishes separate GTFS-Realtime feeds for live arrivals and alerts, which are not exposed here — combine those feeds with these schedules for full real-time routing.
What are the rate limits for the MTA Developer API?
The MTA hosts the GTFS archives on a CDN-fronted bucket and does not publish a strict per-IP rate limit, but courtesy use means a daily refresh rather than per-request polling. Each archive is large — pull each zip once per day and reuse the local copy.
How do I refresh all GTFS data through Jentic?
Search Jentic for 'download nyc subway gtfs', execute each archive endpoint listed in the spec, and persist the zips to local storage. The agent runs the calls without credentials and validates the archives parse before swapping them into production.
Is the MTA Developer API free?
Yes. The MTA publishes the schedule archives as public open data and there is no per-call charge or quota for downloading the GTFS zips.
/gtfs_busco.zip
Download MTA Bus Company GTFS