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.

Donations

If you feel this project has saved you time or provided value to you, you can send me a donation using the badge below!

ko-fi

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.2.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

fidelity_api-0.0.2-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fidelity-api-0.0.2.tar.gz
  • Upload date:
  • Size: 29.2 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.2.tar.gz
Algorithm Hash digest
SHA256 409d5f0e7a1af9e3611f7b439e9e7ea4cb98f92cbfab9bc27e504d3ad0e8f77d
MD5 ee9a9f5e378683a10cc09b66736075cc
BLAKE2b-256 5a14e1aee5ddefbce5335a15a47be1175fd16de4127f81ed2dbefcb1abd5c5b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fidelity_api-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 eeb95dffcc6a77ec208309507611d6e42b346c3500b2993bfd7542d86749cf1b
MD5 b7f8ee740bb1cf034199a54cda0310c2
BLAKE2b-256 9c94dd21f7d79440bbb289693849cad485da929ad5a204381d290bd9d6ea85ba

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