The Up API and why open banking feels closed
Over the the weekend I had a fiddle with Up Banking's API. There wasn't much else to do, Melbourne is currently cooped up under stage 4 Covid lockdown and I'd already indulged in my one hour of permitted daily exercise.
I was keen to give their API a spin as it really flies in the face of Australia's open banking platform. Though this direction is no surprise, Up were the first to really rattle the cages of our senile banking sector with their bold colours, off the cuff language and a digital-only product. Traditional banks have never been cool or ever dared to try, but Up managed to pull it off while still being trusted with your money.
What does the API do and why should you care?
The Up API lets anyone integrate data from their bank account into their own software. You can retrieve account balances, all your transactions or even do something goofy like light up a giant neon sign up every time you get paid.
So I grabbed my access token and within an hour I managed to hack up a python web app that showed everything in my Up account. Certainly nothing spectacular, but useful nonetheless as Up is a mobile only bank for the time being.
Getting programmatic access to your own bank data has been a complete shitshow since forever. In Australia the only way was to write your own screen scraper, which is some code that'll log in to your online banking and then download and parse a CSV file. Or you could pay a lot of money to use a commercial screen scraper to do the dirty work for you. Much has been said of screen scrapers, but they're really not as bad as banks would have you believe. Still, I shouldn't have to use one to get access to my own data.
The API is still in beta and is intended for personal use only, which is kinda the beauty of it, nothing has ever been available for personal use. It does sound like they will eventually encourage commercial-grade integrations with OAuth2 when the API matures. I'll do my best to make Rounded one of the first.
Isn't this what Open Banking does?
No, not really. While Open Banking will make account and transaction data available to other parties, it's currently moving at glacial pace and who can actually access the data is as clear as mud.
Data was made available on 1 July, 2020 to a very limited number of recipients (mostly big banks) and to date there's only been one instance of real-world use that I can find - and that was to approve a loan. Contrast that to some of the cool stuff being developed with Up's API within a week of launching. The Up user group on Facebook is full of examples.
We also know that only accredited data recipients will be able to get their hands on open banking data, which involves an application process and it's likely hefty fees will come with it. This means there will always be a middle-man between you and your data. At this stage it's fairly safe to assume that open banking will be of little benefit to the average developer. I hope I'm wrong.
Having sad that there may be a chance that smaller entities, like startups and even individuals can piggyback off the accreditation of larger data recipients. Data aggregators like Basiq are confident this will happen, however they are all commercial entities and accessing their platform usually isn't free.
This is not to throw shade at Open Banking, it's a monumental and complicated piece of work that will change the financial landscape for the better. However, after using an API directly from the bank, the open banking approach now feels closed and exclusive. I wish more banks were brave enough to take a similar approach to Up and make data available directly to consumers through their own API.