Starling and Monzo both have dev APIs. The drawback of doing it this way is that each bank has its own API implementation, meaning writing a fat chunk of code per bank you want to interface with. For aggregation, there's Tink, TrueLayer (which Moneydashboard used under the bonnet and is free for personal dev projects), and a few others.