Monarch Money API for Python
Project description
Monarch Money
Python library for accessing Monarch Money data.
Installation
From Source Code
Clone this repository from Git
git clone https://github.com/hammem/monarchmoney.git
Via pip
pip install monarchmoney
Instantiate & Login
There are two ways to use this library: interactive and non-interactive.
Interactive
If you're using this library in something like iPython or Jupyter, you can run an interactive-login which supports multi-factor authentication:
mm = MonarchMoney()
await mm.interactive_login()
This will prompt you for the email, password and, if needed, the multi-factor token.
Non-interactive
For a non-interactive session, you'll need to create an instance and login:
mm = MonarchMoney()
mm.login(email, password)
This may throw a RequireMFAException
. If it does, you'll need to get a multi-factor token and call the following method:
mm.multi_factor_authenticate(email, password, multi_factor_code)
Alternatively, you can provide the MFA Secret Key. The MFA Secret Key is found when setting up the MFA in Monarch Money by going to Settings -> Security -> Enable MFA -> and copy the "Two-factor text code". Then provide it in the login() method:
await nm.login(
email=email,
password=password,
save_session=False,
use_saved_session=False,
mfa_secret_key=mfa_secret_key,
)
Accessing Data
As of writing this README, the following methods are supported:
get_accounts
- all the accounts linked to Monarch Moneyget_account_holdings
- all of the securities in a brokerage or similar type of accountget_subscription_details
- the Monarch Money account's status (e.g. paid or trial)get_transactions
- transaction data, defaults to returning the last 100 transactions; can also be searched by date rangeget_transaction_categories
all of the categories configured in the accountget_transaction_tags
- all of the tags configured in the accountget_cashflow
- cashflow data (by category, category group, merchant and a summary)get_cashflow_summary
- cashflow summary (income, expense, savings, savings rate)
Contributing
Any and all contributions -- code, documentation, feature requests, feedback -- are welcome!
If you plan to submit up a pull request, you can expect a timely review. There aren't any strict requirements around the environment you need to configure aside from using Black to auto-format the code. An action is configured in this repo to run against all PRs and merges and will block them from being committed.
FAQ
How do I use this API if I login to Monarch via Google?
If you currently use Google or 'Continue with Google' to access your Monarch account, you'll need to set a password to leverage this API. You can set a password on your Monarch account by going to your security settings.
Don't forget to use a password unique to your Monarch account and to enable multi-factor authentication!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file monarchmoney-0.1.5.tar.gz
.
File metadata
- Download URL: monarchmoney-0.1.5.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5b45758f03e3dc968b7cadd41a16262657a2c9c65567b2891e9c0c9d00cd29e |
|
MD5 | 35819651c8024f5418314d51be494e8f |
|
BLAKE2b-256 | 78ab97efbf852b7f82bb0e87b08269fb1309dcc5446450fee46405db4e2aa97e |
File details
Details for the file monarchmoney-0.1.5-py2.py3-none-any.whl
.
File metadata
- Download URL: monarchmoney-0.1.5-py2.py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 011bebf5637e8e2aa808ed2ae2281c250dbedbc6a9316a88b2638a890fd811df |
|
MD5 | c7c88e4ef107ee8bdf2baee449c1d3e8 |
|
BLAKE2b-256 | cd1848cf2b607d0d256159880f7a1420dca0dfef50ad7ee0df320cb1c3e53220 |