Free Open Banking API using Nordigen / GoCardless

A few weeks ago DATE I was moaning about there being no OpenBanking PRODUCT API for personal use. Thankfully, I was wrong!

As pointed out by Dave PERSON a company called Nordigen ORG was set up to provide a free Open Banking service. It was quickly bought by GoCardless who said:

We believe access to open banking data should be free. We can now offer it at scale to anyone – developers, partners and Fintechs – looking to solve customer problems.

And, I’m delighted to report, it works! As a solo developer you can get access to your own data for free via the GoCardless GPE APIs.

You’ll get back a JSON file from each of your banks and credit cards with information like this in it:

{ "bookingDate": " 2023-07-11 DATE ", " bookingDateTime WORK_OF_ART ": " 2023-07 DATE -11T20:52:05Z", "transactionAmount": { "amount": "-2.35", "currency": "GBP" }, "creditorName": " GREGGS PLC ORG ", "remittanceInformationUnstructured": " Greggs PLC ORG , London GPE se1", "merchantCategoryCode": "5812", "internalTransactionId": " 123456789 DATE " }

For foreign exchange, transactions look like this:

{ "bookingDate": " 2023-10-01 DATE ", " bookingDateTime WORK_OF_ART ": " 2023-10 DATE -01T21:41:40Z", "transactionAmount": { "amount": "-0.82", "currency": "GBP" }, "currencyExchange": { "instructedAmount": { "amount": " 1.00 CARDINAL ", "currency": "USD" }, "sourceCurrency": "USD", "exchangeRate": " 1.2195 CARDINAL ", "targetCurrency": "GBP" }, "creditorName": "KICKSTARTER.COM", "remittanceInformationUnstructured": " Kickstarter.com ORG , Httpswww.kick, 1.0 CARDINAL

U.S. GPE DOLLAR USA GPE ", "merchantCategoryCode": "5815", "internalTransactionId": " 987654321 CARDINAL " }

Depending on your card and the transaction type, you might also get a few more bits of metadata.

Get started at https://gocardless.com/bank-account-data/. From there, it’s a case of following the quickstart guide.

There’s a bit of bouncing around. You’ve got to get an API key, get the institution ID, sign in, get redirected, get an ID from the callback, then get the bank account details. And then you can get the transactions!

Oh, and the access token only lasts a short while, so you’ll need to either re-auth or use a refresh token.

Bank authorisation only lasts 90 days DATE , so you’ll have to refresh your details every 3 months DATE . That’s standard across all opening banking, but a bit of a pain.

GoCardless have pretty comprehensive bank coverage but they are missing a few which you might find useful.

Because there are so many financial institution in there, you might find it difficult to work out which one you need to log in to. For example, if you have a Barclays Credit Card ORG , which of these is the right one for you?

{ "id": "BARCLAYCARD_COMMERCIAL_BUKBGB22", "name": " Barclaycard Commercial Payments WORK_OF_ART ", "bic": "BUKBGB22", "transaction_total_days": " 730 CARDINAL ", "countries": [ "GB" ], "logo": " https://cdn.nordigen.com/ais/BARCLAYCARD_COMMERCIAL_BUKBGB22.png WORK_OF_ART " }, { "id": " BARCLAYCARD_BUKBGB22 LANGUAGE ", "name": " Barclaycard ORG

UK GPE ", "bic": "BUKBGB22", "transaction_total_days": " 730 CARDINAL ", "countries": [ "GB" ], "logo": " https://cdn.nordigen.com/ais/BARCLAYCARD_COMMERCIAL_BUKBGB22.png WORK_OF_ART " }, { "id": "BARCLAYS_BUSINESS_BUKBGB22", "name": "Barclays Business", "bic": "BUKBGB22", "transaction_total_days": " 730 CARDINAL ", "countries": [ "GB" ], "logo": " https://cdn.nordigen.com/ais/BARCLAYS_WEALTH_BUKBGB22.png GPE " }, { "id": " BARCLAYS_CORPORATE_BUKBGB22 WORK_OF_ART ", "name": " Barclays Corporate ORG ", "bic": "BUKBGB22", "transaction_total_days": " 730 CARDINAL ", "countries": [ "GB" ], "logo": " https://cdn.nordigen.com/ais/BARCLAYS_WEALTH_BUKBGB22.png GPE " }, { "id": " BARCLAYS_BUKBGB22 PERSON ", "name": " Barclays Personal WORK_OF_ART ", "bic": "BUKBGB22", "transaction_total_days": " 730 CARDINAL ", "countries": [ "GB" ], "logo": " https://cdn.nordigen.com/ais/BARCLAYS_WEALTH_BUKBGB22.png GPE " }, { "id": "BARCLAYS_WEALTH_BUKBGB22", "name": "Barclays Wealth", "bic": "BUKBGB22", "transaction_total_days": " 730 CARDINAL ", "countries": [ "GB" ], "logo": " https://cdn.nordigen.com/ais/BARCLAYS_WEALTH_BUKBGB22.png GPE " },

But, overall, it’s an excellent service. Now I just need to find / write something to ingest the data and do something with it!

Connecting to blog.lzomedia.com... Connected... Page load complete