OP raises a good point, though. Why isn't there a standard banking API that all banks could use, against which applications could be written?
People don't choose banks because of the bank's app. Banks are also pretty sticky. Having a standard would allow banks to save money on application development. I just don't see what the value-add of proprietary banking APIs are for them. It doesn't seem like much of a differentiator.
I think there's a sort of standard in the EU; why doesn't the US have one?