subway-info

Query real-time NYC subway, bus, ferry, and commuter rail arrivals and alerts via REST API.

1|Updated May 6, 2026
One-click install
npx skills add https://github.com/surfingalien/FinSurfing --skill subway-info-surfingalien
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: subway-info
Source: https://github.com/surfingalien/FinSurfing/tree/main/.claude/skills/subway-info
Command: npx skills add https://github.com/surfingalien/FinSurfing --skill subway-info-surfingalien

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Getting accurate, real-time NYC transit information requires navigating multiple MTA data feeds, station ID lookups, and rate-limited APIs. This Skill gives the AI direct access to live arrivals, service alerts, station search, and trip planning across subway, bus, ferry, LIRR, and Metro-North through a single CLI or REST API. ## Core Features & Use Cases - Real-Time Arrivals & Alerts: Fetch live train, bus, ferry, and commuter rail arrival times plus active service alerts and delays filtered by line or route. - Station Search & Trip Planning: Resolve ambiguous station names to stable IDs and plan trips between any two subway stations. - Helper Scripts: Run ready-made bash scripts (arrivals.sh, alerts.sh, trip.sh, status.sh) that handle station resolution, authentication, and error handling. - Use Case: A commuter asks "when is the next L train from Union Square and are there any delays?" The Skill searches for the station ID, fetches arrivals filtered by line and direction, and cross-checks active alerts before answering. ## Quick Start Ask the AI to check the next train arrivals and any service alerts for your NYC subway station, for example "what's the next 1 train at Times Square going uptown?"

Frequently Asked Questions about subway-info

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check real-time NYC subway arrivals?

Call the /api/arrivals endpoint with a station_id, optionally filtered by line and direction, or run ./scripts/arrivals.sh with a station name. Station names are resolved to IDs automatically via the stations search endpoint.

How do I find a subway station ID by name?

Use the /api/stations endpoint with a query parameter, or run subway-info stations --query "times square". Filter by line to disambiguate stations with duplicate names like 14 St or Times Square.

Does the subway info API cover buses, ferries, and commuter rail?

Yes, the API covers 16,000+ bus stops, NYC Ferry landings, and LIRR/Metro-North stations through dedicated /api/bus, /api/ferry, and /api/rail endpoints with arrivals, alerts, and search.

What are the subwayinfo.nyc API rate limits?

Anonymous access allows 10 requests per minute by IP. Free, Standard, and Premium tiers with an X-API-Key header allow 60, 300, and 1000 requests per minute respectively. A 429 response means you should back off and retry.

Why do subway arrival times sometimes look stale or wrong?

Responses may be cached at edge servers for 5-10 seconds, and predictions revert to scheduled times during disruptions. Check the data_timestamp field and always fetch alerts separately, since arrivals do not include planned work or delays.

What dependencies are required to run the helper scripts?

The bash scripts require curl and jq installed on the system. Set SUBWAY_API_URL to override the default base URL and SUBWAY_API_KEY for authenticated higher rate limits.