Get real-time departuresRead a station's live board: every train due, how many minutes away, which platform and direction, how many cars, whether it takes bikes and how late it is running. BART groups estimates by destination, so they are flattened into one row per train and sorted by how soon it leaves, and a train at the platform reports 0 minutes rather than the word BART sends. Filter by platform or direction, or read every station in one request.
Get service advisoriesRead what BART is reporting about its service. The API never answers this empty, so its 'no delays reported' placeholder is dropped: an empty list really means normal service, and has_advisories is the flag to branch on.
Get the number of trains runningCount the trains in service right now. The cheapest read of the system's health there is: the number falls towards zero overnight and drops sharply during a major disruption.
Get elevator statusList the station elevators out of service, which is what decides whether a step-free journey is possible today. Reported in the same shape as an advisory, with the same placeholder dropped.
List stationsEvery BART station with its address, city, county and coordinates. The whole system in one request, and where a workflow resolves a name or a location to the abbreviation every other action takes.
Get station detailsOne station in full. The only lookup that carries the platform layout and the routes calling there in each direction, along with BART's own description of the place.
Get station access detailsHow to get into, out of and around a station: parking and when it fills up, bike racks, lockers and bike stations, car share and connecting transit. Parking, bikes and lockers each come back as a true/false flag next to the prose describing them.
Get a station's timetableThe published schedule for a station on a day: every scheduled train through it, where it is headed and when it leaves. The plan rather than the live board.
List routesEvery route BART is running, with the colour each line is known by and the direction it runs in. A line is two routes, one per direction, and each row carries the number the route actions take.
Get route detailsOne route in full, including every station it calls at in travel order. The only place BART publishes which stops are on a line.
Get a route's timetableThe whole day's schedule for one route, train by train and stop by stop. Stations a train passes without calling at are left out.
Plan a tripPlan a journey between two stations leaving at a given time, with the fare in every class BART prices it at and the trains that make it up leg by leg, plus a duration and a transfer count BART does not send reliably.
Plan a trip arriving by a timeThe same plan worked backwards from when the traveller has to be there, which is what answers 'what is the last train that still gets me to the airport by six?'.
Get the fare between two stationsWhat a journey costs without planning one to find out. The headline fare comes with every class BART prices the same trip at, cheapest first.
List published schedulesThe timetables BART has published, each with the date it came into force. These numbers are what the timetable and fare actions take to read something other than today's.
List holidaysThe holidays BART runs a different timetable on, each with the day's service it runs instead. A Thursday marked 'Sunday' is enough to tell a workflow the weekday timetable does not apply.
List special schedulesThe planned service changes BART has announced: weekend track work, closures and single-tracking, with the days and hours each applies to and the routes involved.