For Agents
Look up BART real-time departures, stations, routes, schedules, and service advisories for Bay Area public transit. Used by agents that build commute assistants and transit dashboards.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the BART Legacy 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 BART Legacy API.
Retrieve real-time estimated departures for any BART station
List all BART stations with platform, address, and coordinate metadata
Look up route definitions and the stations served on each route
GET STARTED
Use for: Get the next train departures from Embarcadero station, List all BART stations in the system, Find a route between Berkeley and SFO airport, Check the schedule for trains arriving at Civic Center
Not supported: Does not handle ticket purchase, fare payment, or BART parking reservations — use for transit data, schedules, and advisories only.
Jentic publishes the only available OpenAPI specification for the BART Legacy API, keeping it validated and agent-ready. The Bay Area Rapid Transit (BART) Legacy API exposes real-time train departure estimates, station information, route data, schedule data, and service advisories for the San Francisco Bay Area's rapid transit network. A public testing key (MW9S-E7SL-26DU-VV8V) is documented for development. Useful for transit-aware mobile apps, commute assistants, and data-driven research into Bay Area transit operations.
Pull schedule information and plan trips between two stations
Read service advisories, elevator status, and current train counts
Check the BART API version for compatibility checks
Patterns agents use BART Legacy API for, with concrete tasks.
★ Commute Assistant Notifications
Drive a personalised commute assistant that surfaces the next BART departures from the user's home or work station and warns about service advisories before they leave the office. The /etd.aspx endpoint returns real-time estimated departures by station, while /bsa.aspx exposes service advisories and elevator status. Suitable for mobile commute apps, smart-display widgets, and chat-based assistants.
Call GET /etd.aspx with orig=EMBR and key=<api_key> and return the next two southbound departures with destination and minutes.
Trip Planning for Bay Area Visitors
Power trip planning experiences for visitors and locals using BART's schedule and route endpoints. /sched.aspx supports trip planning between two stations on a given date and time, returning legs, transfer points, and durations. Pair with /stn.aspx for station addresses and coordinates so that a map UI can display the journey end to end.
Call GET /sched.aspx with orig=BERK, dest=SFIA, and a target departure time, then return the suggested itinerary with departure, arrival, and any transfer.
Transit Operations and Accessibility Dashboards
Build internal or public-facing dashboards that monitor BART operations including elevator status, service advisories, and active train counts. /bsa.aspx provides advisory text and elevator updates that are critical for accessibility-focused users. Combine with /route.aspx and /stn.aspx for a full system view, refreshing on a short interval to surface incidents quickly.
Call GET /bsa.aspx for elevator advisories and post any out-of-service elevator updates to a Slack channel within five minutes.
AI Agent Bay Area Transit Assistant via Jentic
Run an AI assistant that answers transit questions like 'when's the next train to SFO from Powell' through Jentic. The agent searches Jentic for an intent like 'get next bart departures', loads the BART operation, and executes the call with the API key held in the Jentic vault. Useful for chat copilots embedded in city guide apps or workplace assistants.
Search Jentic for 'get bart real-time departures', execute /etd.aspx with orig=POWL, and return the next train heading toward SFIA with minutes until departure.
6 endpoints — jentic publishes the only available openapi specification for the bart legacy api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/etd.aspx
Get real-time estimated departures
/stn.aspx
List stations
/route.aspx
Get route information
/sched.aspx
Get schedule information or plan a trip
/bsa.aspx
Get service advisories, elevator status, or train count
/version.aspx
Get API version metadata
/etd.aspx
Get real-time estimated departures
/stn.aspx
List stations
/route.aspx
Get route information
/sched.aspx
Get schedule information or plan a trip
/bsa.aspx
Get service advisories, elevator status, or train count
Three things that make agents converge on Jentic-routed access.
Credential isolation
BART API keys are stored encrypted in the Jentic vault and injected as the key query parameter at execution time. The key never enters the agent's context window, even when the public testing key is in use.
Intent-based discovery
Agents search by intent (for example, 'get next train from a bart station' or 'plan a bart trip') and Jentic returns the matching BART operations with their input schemas including station abbreviations and time parameters.
Time to first call
Direct BART API integration: half a day for auth, station code mapping, and trip planner parsing. Through Jentic: under 15 minutes — search, load schema, execute against the right station code.
Alternatives and complements available in the Jentic catalogue.
Specific to using BART Legacy API through Jentic.
Why is there no official OpenAPI spec for the BART Legacy API?
BART does not publish an OpenAPI specification for its legacy data API. Jentic generates and maintains this spec so that AI agents and developers can call it via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the BART Legacy API use?
The API uses an API key passed as the key query parameter on every request. BART publishes a public testing key (MW9S-E7SL-26DU-VV8V) for development. When called through Jentic, the API key is held in the Jentic vault and injected at execution time.
Can I get real-time train departures with the BART API?
Yes. Call GET /etd.aspx with the originating station abbreviation (for example, orig=EMBR) and the API key. The response includes estimated departures by destination with minutes until arrival.
What are the rate limits for the BART Legacy API?
BART does not publish formal rate limits for the legacy API; the public testing key is intended for low-volume development use. For production traffic, request a dedicated key from BART and cache station and route metadata locally to reduce repeat calls.
How do I plan a BART trip through Jentic?
Install the Jentic SDK with pip install jentic, search for 'plan a bart trip', and execute /sched.aspx with origin and destination station codes. Jentic injects the API key as a query parameter and returns the itinerary JSON, which the agent can summarise as a text reply.
Does the BART API expose elevator status?
Yes. The /bsa.aspx endpoint surfaces service advisories, elevator status, and current train count. It is the primary data source for accessibility-focused features and operational monitoring.
/version.aspx
Get API version metadata