I've recently discovered that GoCardless allows you to use their Bank Data API for free as an individual user, and it supports access to transaction data from 2600+ European banks and financial institutions.
I've tried to write a client that would allow me to pull transaction statements through GoCardless, and GitHub - adept/gocardless-to-csv: Plain text accounting tool to fetch transactions from GoCardless, save them as JSON, convert them to CSV was born.
Now, it is not all smooth sailing. There is an obvious security concern: are you ok with GoCardless having access to your transactions, given that you don't pay them money and they owe you nothing? Besides that, I found that many banks only give access to the last 90 days of transactions, so it would not be possible to migrate a whole history of an old account, should you want that kind of thing.
I'm still trying GoCardless out, and so the tool is not extensively battle-tested, but it is working for me so far. There is a "sandbox" bank (provided by GoCardless) that you connect to, if you want to just give it a try, and dont want to connect your real bank.
Any feedback/bug reports/PRs are appreciated