Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/csells/mintscraper

A C# tool to automatically download balance and transaction data from your http://mint.com account.
https://github.com/csells/mintscraper

Last synced: about 1 month ago
JSON representation

A C# tool to automatically download balance and transaction data from your http://mint.com account.

Awesome Lists containing this project

README

        

Welcome to MintScraper!
=======================

MintScraper is a little program I wrote to log into mint.com and download my
current set of account balances and my current set of transactions. The balances
are appended to an existing CSV file and the transactions replace the current
CSV file, since mint.com provides the transactions in their entirety every time.
This means that it's easy to go to mint.com, update budget settings, etc. and
then get the updates when you next run MintScraper.

MintScraper is meant to be used regularly (I've been using it for years on a
daily basis) to be able to track your account balances over time. This is
important because mint.com doesn't let you download your account balances over
time, only your transactions. I use this information for custom data queries in
Excel and in custom apps to be able to do budging and tracking.

Usage
=====

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MintScraper 1.0.0.0 Copyright (c) Sells Brothers, Inc. 2011-2013
-t, --tx-file Required. The path to the transactions file.
-b, --bal-file Required. The path to the balances file.
-l, --log-file The path to the log file.
-u, --user-name Required. The mint.com user name.
-p, --password Required. The mint.com password.
--help Display this help screen.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For example, I schedule MintScraper in the Windows Task Scheduler to run every
day at 3am with the following command line:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\> MintScrapper.exe -t MintTransactions.csv -b MintBalances.csv -u MINTUSER -p MINTPW -l mintlog.txt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The -l (--log-file) option is optional and will append to an existing log file
if you have one, which is what I do to see if there are any issues between
updates (it will keep track of errors). The output into the log file looks like
the following:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11/16/2013 2:05:05 PM: Downloading mint.com transactions to MintTransactions.csv
Downloaded 37 account balances as of 11/16/2013
Downloaded 9970 transactions from 3/13/2009 to 11/16/2013
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The transactions file is the mint.com file format, which looks like this:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Date","Description","Original Description","Amount","Transaction Type","Category","Account Name","Labels","Notes"
11/16/2013","J Jconnect Service","J2 *JCONNECT SERVICE","15.00","debit","Office Supplies","Chase Freedom Visa","","" "
11/01/2013","Advance","Advance","854.40","debit","Shopping","Equity Line","","" "10/24/2013","Transfer from Checking","$ Automatic Payment","1000.00","credit","Credit Card Payment","Equity Line","",""
...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The balances file is scraped from the HTML on the home page when you first log
into mint.com and has a file format that looks like this:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Date,Institution Name,Mint Account ID,Account Name,Balance,Last Updated Text,Account Number Last 4,Last Updated,
11/16/2013 2:21:18 PM,Chase Bank,REMOVED,Chase Freedom Visa,-9.47,15 minutes,YYYY,11/16/2013 10:06:05 PM,
11/16/2013 2:21:18 PM,American Express Credit Card,REMOVED,Costco TrueEarnings Card,0,15 minutes,XXXX-XXXXXX-XYYYY,11/16/2013 10:05:39 PM,
11/16/2013 2:21:18 PM,US Bank,REMOVED,loan,0,15 minutes,YYYY,11/16/2013 10:05:29 PM,
...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

These CSV files load directly into Excel or your can easily write your own apps
against them (I'm a fan of LinqPad for such things).

Version History
===============

1.0.0.0: Released on Nov 11, 2013.

Copyright
=========

I built this program for my own use and am sharing it in case anyone finds value
in it. Any violations of the mint.com end user license agreement are on you.

Copyright (c) 2011-2013, Sells Brothers, Inc. All rights reserved. No warranty
extended. Use at your own risk. Some assembly required. Void where prohibited.
Batties not included. Keep calm and carry on.