Skip to main content

An unofficial API for Fidelity

Project description

fidelity-api

About The Project

This project aims to create an easy to use API for Fidelity.

Utilizing Playwright, a controlled browser is created through the api allowing users to place order, gather account positions, nickname accounts, etc.

Supports 2FA!

Disclaimer

I am not a financial advisor and not affiliated with Chase in any way. Use this tool at your own risk. I am not responsible for any losses or damages you may incur by using this project. This tool is provided as-is with no warranty.

Getting Started

Install using pypi:

pip install fidelity-api

This package requires playwright. After installing fidelity-api, you will need to finish the install of playwright. You can do this in most cases by running the command:

playwright install

If you would like some more information on this, you can find it here.

Quickstart

The example below will:

  • login to fidelity
  • gather account holdings
  • place an order for the first account number found
from fidelity import fidelity

browser = fidelity.FidelityAutomation(headless=False, save_state=False)

# Login
step_1, step_2 = browser.login(username="USER", password="PASS", save_device=True)
if step_1 and step_2:
    print("Logged in")
elif step_1 and not step_2:
    print("2FA code needed")
    code = input("Enter the code\n")
if browser.login_2FA(code):
    print("Logged in")
else:
    print("Browser not logged in")
    exit(1)

# Get accounts
account_info = browser.getAccountInfo()
accounts = account_info.keys()

# Test the transaction
success, errormsg = browser.transaction("INTC", 1, 'buy', accounts[0], True)
if success:
    print("Successfully tested transaction")
else:
    print(errormsg)

# Print withdrawal balance from each account
acc_dict = browser.get_list_of_accounts(set_flag=True, get_withdrawal_bal=True)
for account in acc_dict:
    print(f"{acc_dict[account]['nickname']}:  {account}: {acc_dict[account]['withdrawal_balance']}")

browser.close_browser()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fidelity-api-0.0.1.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

fidelity_api-0.0.1-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file fidelity-api-0.0.1.tar.gz.

File metadata

  • Download URL: fidelity-api-0.0.1.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for fidelity-api-0.0.1.tar.gz
Algorithm Hash digest
SHA256 34c0e43ce022e78fb537d1b416773acbad11b888f8e2a1b85c7a931e643b73ad
MD5 dea129ff6190d3b07acdffe644b1176c
BLAKE2b-256 ed6b5438ba1ae0b9e0de94b1d7428a128eceb71303a424ba0af47a55c8a88a5e

See more details on using hashes here.

File details

Details for the file fidelity_api-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fidelity_api-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 080d617e3cda1641cf40a7429301a1e3774f6338dc930555892b7ef4f9eb161a
MD5 f12bf224dea8a746e64f751fad306db3
BLAKE2b-256 2060d97a534914c9595f136893be7961e6fec16fe6f86fa7faac5b6b0454e419

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page