This is really easy to automate, even without an API. And by "easy" I mean it should take around 30 minutes -- although you could take arbitrarily longer by adding a pretty web UI or reporting or whatever.
The problem comes in when you try to do things like "solve this for the thousand most common banks, while not making users enter their credentials every time, with adequate coordination with each bank to avoid being blocked for logging into numerous accounts, with adequate security to avoid mass-leaking online banking credentials."