Plaid[1] is only company I know of offering this sort of API. Maybe there are others, I wasn't able to find any from a quick google search. You can actually get a dev account (free with up to 100 bank accounts) and pull your own transaction data with it. I've been meaning to write a little tool to import from them into GnuCash.