For the Pythoneer who is dissatisfied with run of mill financial apps, Glen, head of PyHou, has the perfect solution, “Build your own.” On Github, Glen has posted the code for a client to access Intuit’s treasure trove of financial data. After creating a developer account, making a client and uploading a self-generated x509 certificate, you can, with the proper credentials, access your financial data via Intuit’s API. With this data, you can analyze your household budget, or, for the more ambitious, build a competitor to Mint.com.
How it Works
Intuit maintains a massive workforce that writes scripts to scrape your financial information off of your bank’s website. Once you provide Intuit with your login credentials (username, password, answers to security questions, etc.), Intuit will login to your bank and scrape the webpage for details about your accounts. This is how Mint.com is able to maintain a database of your financial transactions. By setting up a developer account with Intuit, you can access their API to download your financial data and build useful apps around it. Python-Aggcat is a Python client that enables you to access the Intuit Customer Account Data APIs.
Download Python-Aggcat, a Python client for Intuit Customer Account Data APIs
Limitations and Caveats
At the developer stage, you are limited to 5 clients and 5 accounts per client. To get production access, the minimum monthly payment to Intuit is $1,000 per month. Further, you have to pay for a 3rd party team to fly out to your work site and audit your operations. Developer accounts are only good for 90 days, and there is probably additional financial regulation red tape you have to navigate before you can launch any app to the public. Finally, beyond the amount of the transaction, the data you get from each account and from each Bank can vary widely, and you have to take this into account when writing an application built upon Intuit’s data.
About PyHou–Houston’s Python Enthusiasts
On the 3rd Tuesday of each month, PyHou meets and discusses developments/projects/other goings on in the Python community. These events are interesting whether you are new to the language or are a hardcore Python developer. Check out their Meetup page to find out more about their upcoming events.