Banking data in a terminal window

For many years, I’ve wanted an API to access banking information.

For sure, the challenger banks (Monzo and Starling are the two obvious names in the UK) have all the tech you’d expect, including the ability to give you a push notification via a web hook as transactions come in. So from the perspective of the tech-savvy individual, they do solve it. Oh, except if you want data from your credit cards as well as your current account.

Meanwhile, like many people, I do a spot of volunteering in my spare time. Being treasurer of small organisations like my walking club or the village magazine is a piece of cake, but banking is one of the most annoying bits.

Monzo and Starling are not, at the time of writing, offering accounts to charities and clubs, and I can see why not - there’s no money in it for them.

As two factor authentication is (rightly) rolled out across the board, with varying degrees of ease of use, it’s getting more and more time-consuming to log in to online banking just to check the last few transactions or export them to a CSV. And for things like hiring the church hall, well, it would be much better if we had a completely hands-off way for the invoicing system to obtain incoming payments on a daily basis - this is the last manual part of an otherwise fully automatic system.

Anyway, with taking on another voluntary role involving a little light bookkeeping, I decided to have another trawl for solutions. Much to my surprise and delight, I found one.

Nordigen offers the basics for free and can fetch data from any UK bank which is part of “Open Banking”. This has of course been a thing since 2018, but at the time I wasn’t able to find anyone offering raw API access to ordinary mortals without a lot of cost or compliance overhead.

Their API quick start guide is exactly that - just over 20 minutes after signing up, I snapped the photo above, demonstrating that I could obtain transaction data from the walking club’s bank account via an API.

The list of UK institutions supporting Open Banking is now quite long, and as a general rule: if you can sign in to online banking for it, you can get at the data via Nordigen’s APIs. That includes multi-signatory accounts such as those for charities and clubs!

It took me just a couple of hours this afternoon to put together a script which pulls data from various bank accounts and appends the transactions onto a Google Sheets spreadsheet (much like you can do with a Monzo account and IFTTT). Sadly CAF Bank stand out as missing from the list, but now we know this is possible, it’s highly likely the church’s accounts will be moving to a more mainstream bank so we can automate marking invoices as paid.

Time will tell, of course, how reliable all this proves to be - and whether the free tier remains free forever as promised. They appear to be owned by GoCardless, who are a pretty well recognised brand in the UK, so that’s encouraging.

I’ll be giving a talk at OGN in February about all this, by which time it should be more apparent how it holds up under real world usage.