I don't know about Mint, but a lot of companies use Yodlee, which provides an API so that if a user gives you their banking credentials, you can pass those to Yodlee and access their bank account. I think Yodlee is basically a giant screen-scraping project that uses the credentials to log in via the bank's HTML login form and get account details. I think it's a pretty expensive API to use. This whole thing seems crazy to me. I can't imagine entrusting another company with my banking password! And as the Mint Quora answer says, this system basically requires them to store your bank password with reversible encryption.