BART (Bay Area Rapid Transit) ETD Event Emitters

Usage no npm install needed!

<script type="module">
  import workingBart from '';


BART (Bay Area Rapid Transit) ETD (Estimated Time to Departure)

Disclaimer: [insert disclaimer here about not being affiliated with BART ]

Pass in either a station code or a station code and a direction as an event!

Usage examples:

var bart = require('bart').createClient();

bart.on('dbrk', function(estimates){

You can also filter data by specifying a direction:

bart.on('dbrk south', function(southbound){

Note that if you specify a station-specific handler without a direction, you'll get events for both directions.


TODO: For now, use the above usage examples because frankly, that's all this does. But, if you need slightly different options:


Create a bart client with options. If no options are specified, defaults will be used.

  • apiKey: Set your own API key if you have one here. If none is provided, the common MW9S-E7SL-26DU-VV8V key will be used.
  • interval: A default polling interval in milliseconds for each poller. If not set, a value of 60 seconds (60000 milliseconds) will be used. Note that the BART API is a public service and it's probably a really terrible idea to set this any lower.


var bart = require('bart').createClient({"apiKey":"YOUR-API-KEY", "interval":90000});
bart.on('mont', function(){...});

Tests: -Try event with three names -Test that directionless station events return both station events -Test invalid api key


Document the objects that are returned



Also, I take no responsibility for any trains you may miss as a result of this module. :)


Pull requests are welcome. My code style is no style (kinda like Jeet Kune Do, ya know?)