BART API 2.0 Enhancements

October 3, 2013

We'd like to announce some new features in the BART API:

Discount Fares - You’ll find some new elements in the <trip> portion of the Schedule Fare command <discount> and <clipper> which will provide you with the BART Clipper discounts. This information has also been added to the <trip> element (“clipper” attribute) of the Schedule Arrive/Depart commands. These discounts currently apply to youth, senior and RTC Clipper card users (restrictions apply) - more information can be found at

SPECIAL NOTICE: Changes to BART Developer Services occur November 15, 2013 that may impact your apps and services. Read more ...

Train Index - a new attribute has been added to the <leg> element of the Schedule Arrive/Depart command for “trainIdx”. This information is needed for the new Load Factor calls, and also matches the trainIdx information that is displayed in the Schedule Station Schedule command. For a given route, trainIdx is a unique identifier of the scheduled trains on that route. (First train of the day is 1, and they increment from there.) There are times when additional trains are put into service throughout the day (or a train is replaced), so there is not currently a way to match this to real-time information.

Load Factor - We’re now making that information available to developers through a new command Schedule Load Factor ( Using information from the trip legs, you can request the estimated load factor for the origin and transfer points of a trip. More information on how to use this, along with some examples are available on the Load Factor documentation page.

We’ve also made some other minor changes: enhancements to the documentation, a “$” was removed from the Fare results for excursion fares (when the origin and destination station are the same) to make it match the non-excursion fare results, and the API version was updated from 1.01 to 2.0 in the ver commands. All of these are documented in the Change Log:

For more details about the BART API visit