🎉 The dev team at Monarch Money has created a Chrome extension that requires no setup and simplifies the export process for those who just want to grab all accounts at once. Please consider using that instead and if you can, join me in contributing to its open source code!
The Trends tool in Mint allows exporting historic balances for any combination of accounts. However, the export summarizes balances on a monthly basis and daily granularity is only available for time periods of 43 days or shorter. This tool simply gathers that data in 43 day increments to produce a CSV file of daily balances over any time period.
While perfect transaction data would allow backfilling historic balances, certain accounts like Zillow property or KBB vehicle values have irreplaceable history. Export it from Mint while you still can, even if balance history carries over to Credit Karma anything older than 3 years will be lost!
For use with a userscript browser extension like Greasemonkey (Firefox) or Tampermonkey (Chrome).
Once one of the above browser extensions is installed you can install the daily balance export userscript by clicking below:
This is the tricky part, but you only need to do it once!
- Go to the Trends page in Mint.
- Open your browser's developer tools (how?) and maximize to fill the screen.
- Click the Network tab.
- Refresh the browser to reload the Mint Trends page.
- Click the search icon in the top toolbar of the Networking tab.
- Paste the text
cancelToken.throwIfRequested
, there may be a few scripts containing that text. - Click the result that includes "smart-money-app" in the file path.
- Right click anywhere in the code view panel of the Networking tab and select the "Open in Sources Panel" menu item.
- Find the "Overrides" tab at the upper left of the dev tools, it may be hidden behind a >> button.
- Click "Select folder for Overrides" and create a new folder anywhere on your computer.
- If prompted, allow Chrome to access the new folder.
- Click anywhere in the source code on the right panel.
- Press CtrlF (⌘F on macOS) and search the file for
cancelToken.throwIfRequested
. - Just below that result is a line that reads
e.exports = function(e) {
. Press enter (return) to add a new line above thereturn
then paste the following code:
if (e?.url?.endsWith('/trends')) {
window.lastTrendsRequest = e;
}
- Confirm that the code now looks like this (indentation does not matter):
- Press CtrlS (⌘S) to save your changes as an override.
- Close the developer tools window.
Now you're all set to export daily balances!
- Open your browser's developer tools (how?) and minimize the window. This will apply the code overrides in mandatory setup.
- Go to the Trends page in Mint.
- Refresh the page if you do not see a "Export Daily History to CSV" button at the bottom of the page (see privacy for more details).
- Click "Assets" > "Over time" or "Debts" > "Over time" in the sidebar (daily export is not yet supported for any other trends).
- In the "From" dropdown, click to deselect "All accounts" then select the account that you want to export.
- In the "During" dropdown, select "All time" or any other date range.
- Click "Export Daily History to CSV" and wait for the automatic CSV file download.
- Rename the downloaded CSV file to correspond to the account you just exported.
If you see a "No trends request found" alert, please double-check that you have completed the mandatory setup.
- Be sure to export the balance history for asset accounts like property and vehicles. Mint has historic data from Zillow and Kelley Blue Book that may not be possible to retrieve any other way.
- Certain events like mortgage buyouts, 401k to IRA rollovers, and credit card fraud reissuance may leave you with activity spread across multiple accounts in Mint. Just select all relevant accounts in the Trends view to preserve as much history as possible. Look for gaps or double reported balances in the monthly trends before exporting, but in general the daily balances are less likely to overlap. I have one account that has amassed 7 separate entries in Mint over the years, it's great to be able to export that as one unified history!
- "All time" is fine even if the account was closed years ago; the script will only request enough data to reach the first zero balance day.
Monarch Money does not backfill past account balances, so you may see some wildly inaccurate gains or losses in the last month of your net worth trends. Well I mean maybe you bought a house and a car and funded all of your investments from zero in the last few days, but... probably not. Fortunately it is easy to import past balances for any account type.
- Export a daily balance history CSV for a single account following the steps above.
- Click "Accounts" in the Monarch main menu.
- Click the account corresponding to your Mint import.
- Click "Edit" in the upper right of the account page.
- Select "Upload balance history" from the dropdown.
- Drop or select the CSV file that you just exported.
- Click "Add to account" and confirm the import.
- Click the "All" timeframe above the balance chart to confirm that the balance history was imported successfully.
If you have not yet tried Monarch Money and would like to support my work, please consider signing up with my referral link. You may also be able to use the promo code MINT50
for 50% off your first year. If you can't use both, forget my referral and use the promo code because you save $50 and I would only earn $15 from the referral! I tried Monarch Money, Simplifi, YNAB, and Fidelity Full View as Mint replacements and Monarch works best for me.
This script is only activated upon direct access to the following pages of mint.com:
https://mint.intuit.com/trends
It is not activated if you start at a different page and then click through to the Trends page (see Usage step #2). This decision ensures that you can continue to use Mint normally if there is any malfunction with the script.
This script uses the Mint API to load balance history data into your web browser which then generates a local CSV file. The data never leaves your computer and there are no third party backends, analytics, or other privacy concerns introduced by using this script.
This userscript is configured to support automatic updates when changes are published. Your userscript manager may prompt you to install updates when available; refer to this gist for information about the changes in each version.
Disable the daily export button on unsupported trends. Currently only assets by time and debts by time are supported. Remove rare duplicate dates in exported CSV.
Avoids excessive API requests for old zeroed accounts. CSV includes only the first zero balance date if all dates thereafter are zero. The script has now been tested by exporting all of my accounts.
Initial release with daily balance export of Assets or Debts accounts.
MIT License
Copyright (c) 2023 Ian Paterson
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.