For Agents
Get BART real-time train departure estimates, station data, schedules, and service advisories for the San Francisco Bay Area rail system.
Get started with BART Legacy API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"next BART train arrival at station"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with BART Legacy API API.
Get real-time departure estimates for any BART station via /etd.aspx
List BART stations with location and platform metadata via /stn.aspx
Plan trips and look up published schedules via /sched.aspx
Pull current service advisories and elevator outages via /bsa.aspx
Look up route information and stop sequences via /route.aspx
GET STARTED
Use for: Get the next BART train departure from Embarcadero station, List all BART stations with their abbreviations, Find a BART trip plan from one station to another, Check the latest BART service advisories
Not supported: Does not handle fare payment, Clipper card data, or non-BART Bay Area transit — use for BART rail real-time, schedule, and advisory data only.
The BART Legacy API gives access to Bay Area Rapid Transit data, including real-time departure estimates, station information, schedule planning, and service advisories for the San Francisco Bay Area rail network. The same endpoints accept either XML or JSON via a format query parameter. BART recommends GTFS and GTFS-RT feeds for new integrations, but the legacy REST endpoints remain operational and are well-suited to lightweight commuter dashboards, chatbots, and station signage. An API key is required and is passed in the key query parameter.
Check the API version and last data refresh through /version.aspx
Patterns agents use BART Legacy API API for, with concrete tasks.
★ Real-time train arrival board
Build a digital signage or in-app arrival board showing the next several BART trains for a chosen station. /etd.aspx returns each train's destination, platform, and minutes-to-departure, which is exactly what a commuter wants on the platform or in a transit app. Combined with /bsa.aspx for advisories, an agent can show whether the line has any current disruptions alongside the schedule.
Call /etd.aspx with cmd=etd, orig=EMBR, key={api_key}, json=y and return the next three train departures with destination and minutes.
Trip planning across BART
Power a trip planner that suggests routes from origin to destination using the BART scheduled timetable through /sched.aspx with the cmd=routesched and cmd=arrive/depart commands. Useful for tourist guides, commuter dashboards, and travel chat assistants that need authoritative published schedules rather than third-party scrapes.
Call /sched.aspx with cmd=depart, orig=POWL, dest=DBRK, time=now, key={api_key} and return the next departure window.
Service alert monitoring
Run an automation that polls /bsa.aspx for advisories and elevator outages and posts new advisories to a Slack channel or service-status page. /bsa.aspx returns active disruptions; an agent can hash the advisory text to detect new ones between polls. Replaces manual checking of the BART status page for a small operations team.
Poll /bsa.aspx every 60 seconds, diff the advisory list against the previous response, and post any new entries to #transit-alerts.
Agent integration via Jentic
Expose BART data inside a chat or voice assistant by giving the agent search-tool access through Jentic. The agent calls /etd.aspx for arrival queries and /sched.aspx for trip-planning intents, with the BART API key kept inside the Jentic vault. Suitable for assistants that answer 'when is the next BART to SFO?' from a smart speaker or messaging app.
Search Jentic for 'next BART train at station', load /etd.aspx, and execute it with orig=POWL to return the next departures.
6 endpoints — the bart legacy api gives access to bay area rapid transit data, including real-time departure estimates, station information, schedule planning, and service advisories for the san francisco bay area rail network.
METHOD
PATH
DESCRIPTION
/etd.aspx
Real-time train departure estimates by station
/stn.aspx
Station metadata and access information
/sched.aspx
Published schedules and trip planning
/bsa.aspx
Current service advisories and elevator outages
/route.aspx
Route definitions and stop sequences
/version.aspx
API version and data refresh time
/etd.aspx
Real-time train departure estimates by station
/stn.aspx
Station metadata and access information
/sched.aspx
Published schedules and trip planning
/bsa.aspx
Current service advisories and elevator outages
/route.aspx
Route definitions and stop sequences
Three things that make agents converge on Jentic-routed access.
Credential isolation
The BART API key is stored in the Jentic vault and appended to the key query parameter at execution time. Agents call BART operations without ever holding the key in their own context window.
Intent-based discovery
Agents search by intent (e.g. 'next BART train at station') and Jentic returns the right /etd.aspx operation with cmd preset to etd, so the agent does not need to learn the cmd-based BART URL conventions.
Time to first call
Direct BART integration: half a day to wrangle the cmd-based query interface, dual XML/JSON responses, and station code dictionaries. Through Jentic: under 30 minutes — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
MBTA V3 API
Boston-area equivalent for real-time and schedule transit data
Choose MBTA when the user is in Greater Boston; choose BART for the San Francisco Bay Area.
Transport for London Unified API
London transit equivalent for tube, bus, and rail
Choose TfL for any London transit query; BART covers only the San Francisco Bay Area rail network.
Transit App API
Aggregated multi-agency transit data including BART
Use Transit App when an agent needs cross-agency Bay Area data (BART plus Muni and AC Transit); use BART directly for the freshest train-only data.
Specific to using BART Legacy API API through Jentic.
What authentication does the BART Legacy API use?
The BART Legacy API uses an API key passed in the key query parameter on every request. A default public key is published by BART for low-volume use; production agents should request their own key from BART. Through Jentic the key sits in the Jentic vault and is appended automatically at execution time.
Can I get real-time BART train departures with this API?
Yes. /etd.aspx with cmd=etd and orig set to a station abbreviation returns the next several train departures for that station, including destination, platform, and minutes-to-departure. Pass json=y to receive JSON instead of the default XML.
Does the BART API include service advisories?
Yes. /bsa.aspx returns current service advisories and /elev cmd returns elevator outage information. Each advisory includes a posted time and free-text description suitable for posting to a status page or Slack channel.
What are the rate limits for the BART Legacy API?
BART does not publish hard rate limits, but the service is best-effort and intended for civic and developer use. Agents that poll /etd.aspx for many stations should space requests by at least a second per request and back off on any non-200 response.
How do I look up the next BART train through Jentic?
Search Jentic for 'next BART train arrival', load the /etd.aspx operation, and execute it with cmd=etd, orig set to the station abbreviation (for example POWL for Powell Street), and json=y. The response lists each upcoming train with destination, platform, and minutes.
Should I use the BART Legacy API or GTFS feeds?
BART recommends GTFS and GTFS-RT for new integrations because they are standardised across transit agencies. The Legacy API remains operational and is convenient for small integrations that need only one or two endpoints, station signage, and quick chatbot answers without parsing GTFS-RT protobufs.
/version.aspx
API version and data refresh time