Skip to main content

An unofficial API library for Trading212 based on Selenium

Project description

trading212api

An unofficial API library for Trading212 based on Selenium

Description

This library allows you to interface with Trading212 through Selenium. Once you log in, the only operation requiring a human interation, you can buy and sell stocks, in both real and practice modes.

Installation

pip install trading212api

Install a Selenium web driver, e.g., the Chrome WebDriver

Available methods

  • enable_real_mode(): this method is used to enable real/live mode
  • enable_practice_mode(): this method is used to enable practice/demo mode
  • initiate_connection(webdriverfile, loginusername=None, loginpassword=None, headless=False): initializes the connection to Trading212 through Selenium, optionally asking for username and password to login; in such case, an automatic login will be performed; otherwise, user interaction will be required, for a manual login to occur; if headless is True, the browser will be executed in headless mode
  • get_stocks_list(brw, navigationpath=None): returns all the list of stocks available, optionally selecting a specific > separated list identifying the navigation path, in terms of content, to follow
  • get_stock_info(brw, ticker, backtohome_begin=True, backtohome_end=True): starting from a selenium.webdriver.chrome.webdriver.WebDriver object brw, this method retrieves information from a stock identified by a given ticker, optionally, returning home at the begin/end of the method
  • get_portfolio(brw): starting from a selenium.webdriver.chrome.webdriver.WebDriver object brw, this method returns information on the current portfolio
  • buy(brw, ticker, amount, max_price=None): starting from a selenium.webdriver.chrome.webdriver.WebDriver object brw, this method buys a stock identified by its own ticket, specifying the amount in terms of money to invest in the current valuta, plus an optional maximum price max_price; returns a boolean value indicating the success of the operation
  • sell(brw, ticker, amount=None, min_price=None): starting from a selenium.webdriver.chrome.webdriver.WebDriver object brw, this method sells a stock identified by its own ticket, specifying the amount in terms of number of stocks to sell and an optional minimum price min_price; returns a boolean value indicating the success of the operation

Sample usage

# import the library
import trading212api

# enable practice mode
trading212api.enable_practice_mode()

# initiate the connection
brw = trading212api.initiate_connection('./chromedriver')

# get and print portfolio information
portfolio = trading212api.get_portfolio(brw)
print(portfolio)

# get and print information on a given stock
stock_info = trading212api.get_stock_info(brw, 'AAPL')
print(stock_info)

# get all most popular stocks
popular_stocks = trading212api.get_stocks_list(brw, navigationpath='Stocks>Most Popular')

# get and print information on all most popular stocks
for s in popular_stocks:
	stock_info = trading212api.get_stock_info(brw, s.get('ticker'))
	print(stock_info)

# buy 10 USD of AAPL
trading212api.buy(brw, 'AAPL', 10)

# sell 1 stock of AAPL
trading212api.sell(brw, 'AAPL', 1)

TODO

  • Improve code readability

Contacts

You can find me on Twitter as @auino.

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

trading212api-0.1.1.tar.gz (5.6 kB view hashes)

Uploaded source

Built Distribution

trading212api-0.1.1-py3-none-any.whl (5.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page