Unofficial Public.com Invest API written in Python Requests
Project description
Unofficial Public.com Invest API
This is an unofficial API for Public.com. It is a simple Python wrapper around the Public.com requests API. It is not affiliated with Public.com in any way. Use at your own risk.
This is still a very work in progress, so it will have bugs and missing features. Feel free to contribute!
Installation
pip install public-invest-api
Usage: Logging In
from public_invest_api import Public
public = Public()
public.login(
username='your_email',
password='your_password',
wait_for_2fa=True # When logging in for the first time, you need to wait for the SMS code
)
If you'd like to handle the 2FA code yourself, set wait_for_2fa=False
and it will throw an Exception relating to 2FA. Catch this, then when you get the 2FA code, call it again with the code:
public.login(
username='your_email',
password='your_password',
wait_for_2fa=False,
code='your_2fa_code' # Should be six digit integer
)
Usage: Get Holdings
positions = public.get_positions()
for position in positions:
print(position)
Usage: Placing Orders
order = public.place_order(
symbol='AAPL',
quantity=1,
side='BUY', # or 'SELL'
order_type='MARKET', # or 'LIMIT' or 'STOP'
limit_price=None # pass float if using 'LIMIT' order_type
time_in_force='DAY', # or 'GTC' or 'IOC' or 'FOK'
is_dry_run=False, # If True, it will not actually place the order
tip=0 # The amount to tip Public.com
)
print(order)
Contributing
Found or fixed a bug? Have a feature request? Feel free to open an issue or pull request!
Enjoying the project? Feel free to Sponsor me on GitHub or Ko-fi!
DISCLAIMER
DISCLAIMER: I am not a financial advisor and not affiliated with Public.com. 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.
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
Built Distribution
File details
Details for the file public_invest_api-1.1.0.tar.gz
.
File metadata
- Download URL: public_invest_api-1.1.0.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b48b390cf3e1b852ede02d430535f9e576a430cf67ab91093a6327b65e26afa |
|
MD5 | f2a8d0ccd7ff960683df8e0b12196963 |
|
BLAKE2b-256 | 64993fd1c83425f9459809d91cc273f26c9cbd586016db35b7207bf764035278 |
Provenance
The following attestation bundles were made for public_invest_api-1.1.0.tar.gz
:
Publisher:
pypi_publish.yml
on NelsonDane/public-invest-api
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
public_invest_api-1.1.0.tar.gz
- Subject digest:
4b48b390cf3e1b852ede02d430535f9e576a430cf67ab91093a6327b65e26afa
- Sigstore transparency entry: 146478911
- Sigstore integration time:
- Predicate type:
File details
Details for the file public_invest_api-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: public_invest_api-1.1.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c43b712a84aa987aff2bdb35e15d19d19646926de5b7215859c04538516c61e |
|
MD5 | 27f48db2cd20320d8efbe8115adc038f |
|
BLAKE2b-256 | 9cb7659f39aa65aa2ee8b5757ba72b565c217b57cc37465c79dec6c32b944d21 |
Provenance
The following attestation bundles were made for public_invest_api-1.1.0-py3-none-any.whl
:
Publisher:
pypi_publish.yml
on NelsonDane/public-invest-api
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
public_invest_api-1.1.0-py3-none-any.whl
- Subject digest:
4c43b712a84aa987aff2bdb35e15d19d19646926de5b7215859c04538516c61e
- Sigstore transparency entry: 146478913
- Sigstore integration time:
- Predicate type: