Article Image
Article Image

TL;DR If you use London buses, check this out.

Back in the dim and distant past (2011), Transport for London launched their Countdown API, which enabled finding out when the next buses would arrive at any given bus stop.

James Darling created a fantastic, lightweight web application,, that I and many others really liked.

Sadly, that died in 2016.

TFL now have a new API, the Transport for London Unified API, which powers all their services.

They do expose live bus arrivals, via pages like this one.

TFL Bus Arrivals page

Unfortunately, they don’t have anything as lightweight, elegant and usable as James’ application. If you load the page above on a mobile device it makes 66 different network requests, transferring a staggering 1.1MB of data.

Really, TFL?

Seriously, if anyone from TFL ever reads this, please, please, please go take a long look at the GDS Digital Service Standard and then go and fix your shit.

I really miss, so I decided to fork James’ TFL Live Bus code, and see if I could get it to work with the new API.

The result is Bus Arrivals

Here is the equivalent page to the TFL one I showed earlier. Currently, it makes 5 network requests, and transfers 11KB of data to provide the relevant information.

Bus Arrivals page

As you might imagine, it loads faster, too - especially on a mobile device (which is the most important kind, for this sort of service).

Best of all, you get a bookmarkable URL for every stop. I tend to use the same few stops every week, going to and from work, so that was an essential feature of which I really miss when trying to use the TFL service - you can get bookmarkable pages out of it, but they certainly don’t make it easy.

I hope people find this useful, at least until TFL make me shut it down.

If you want to help, the code is here.

Blog Logo

David Salgado



Ronin on Rails

Give a man a fish and he’ll eat for a day.
Give a fish a man and he’ll eat for weeks.

Back to Overview