Do any banks offer data feeds of personal accounts via any form of API? I'm essentially looking to check balances on accounts without logging into their website.
I remember reading about a universal banking protocol at some point... and maybe mint.com uses it to access accounts? Does mint.com have a special relationship with each bank, or can I leverage their method?
Edit: For my requirements, I'm only interested in accessing my own financial data.
You could try Swift (see message types), its not the kind of thing you can just set up though, you'd have to speak to each institution you wanted to work with.
There is a standard protocol known as OFX (ofx.net) that might meet your needs. Microsoft Money and Quicken both use it to update data.
Intuit are lauching new data services with access to over 18000 financial institutions via secure apis. I am not privy as to whether they will include UK banksand financial institutions, but here is the link:
https://developer.intuit.com/page/CustomerAccountData
In Europe, you could use www.agregadorfinanciero.com API.
It is possible to write a basic screen scraper to pull account transactions from your Mint.com account. Of course, this means you'll have to have an account set up there and let them to the dirty work for you.
CasperJS is a great tool that makes this fairly trivial, you will need to install both Casper and PhantomJS, the framework it is built on.
This script logs into your Mint account, and downloads your transaction history (as a CSV file) to wherever you specify. From there, you can do what you like with the data. Of course, this script could be expanded significantly to do more advanced things, or to filter the transactions it pulls down, but as a matter of best practice I would advise keeping the screen scraping as simple as possible and add the logic on your program's end.
You can have this script run periodically using launchd for Mac OS X or cron for most Linux flavors.
Look up the Open Financial Exchange (OFX) format on the web. That (I believe) is a generic format for the banking industry.