"Logo for 'EasyIB'" according to Midjourney
Please see https://easyib.readthedocs.io for the full documentation.
Notable functionality includes:
- Pull account info, portfolio, cash balance, the net value
- Pull historical market data
- Submit, modify, cancel orders
- Get order status, list of live orders
- Ping (tickle) server, get authentication status, re-authenticate
EasyIB assumes a gateway session is active and authenticated. Follow instructions at https://interactivebrokers.github.io/cpwebapi/ for authentication. A custom package such as Voyz/IBeam can also be used for setting up an active session. Part Time Larry has an excellent youtube tutorial on this topic: https://www.youtube.com/watch?v=O1OhiiCx6Ho.
EasyIB was developed under the Voyz/IBeam docker image environment.
You can verify if a gateway session is active by typing curl -X GET "https://localhost:5000/v1/api/one/user" -k at bash terminal.
Once a gateway session is running, pip command can be used to install EasyIB:
pip install easyibimport easyib
ib = easyib.REST() # default parameters: url="https://localhost:5000", ssl=False
bars = ib.get_bars("AAPL", period="1w", bar="1d")
print(bars)list_of_orders = [
{
"conid": ib.get_conid("AAPL"),
"orderType": "MKT",
"side": "BUY",
"quantity": 7,
"tif": "GTC",
}
]
order = ib.submit_orders(list_of_orders)
print(order)For the complete reference, please visit https://easyib.readthedocs.io/en/latest/reference.html.
By default, EasyIB assumes the gateway session is open at https://localhost:5000 without an SSL certificate. A custom URL and SSL certificate can be set by:
ib = easyib.REST(url="https://localhost:5000", ssl=False)Documentation of available functions is at https://easyib.readthedocs.io/en/latest/reference.html.
See the official documentation of the End Point at https://www.interactivebrokers.com/api/doc.html.

