IBKR Gateway Python
Overview
Use ibkr_core modules in Python scripts or notebooks to fetch market data, read account data, and manage orders with safety rails.
Workflow
- •
Confirm safety mode and connectivity.
- •Ensure IBKR Gateway or TWS is running on the configured host/port.
- •Keep
TRADING_MODE=paperandORDERS_ENABLED=falseunless explicitly asked to enable live trading. - •For offline testing, set
IBKR_MODE=simulationand useget_ibkr_clientfromibkr_core.simulation.
- •
Create and connect a client.
- •Use
IBKRClient(mode="paper")orget_ibkr_client()(respectsIBKR_MODE). - •Call
client.connect()andclient.disconnect().
- •Use
- •
Use market data, account, and order helpers.
- •Market data:
get_quote,get_quotes,get_historical_bars,get_streaming_quote,get_quote_with_mode - •Account:
get_account_summary,get_positions,get_pnl,get_account_status,list_managed_accounts - •Orders:
preview_order,place_order,get_order_status,cancel_order,get_open_orders,cancel_order_set - •Pass
account_idwhen targeting a specific account; omit to use the first managed account.
- •Market data:
- •
Prefer preview-first order flow.
- •Call
preview_orderbeforeplace_order. - •If
ORDERS_ENABLED=false,place_orderreturnsSIMULATED.
- •Call
References
- •
references/python-usage.mdfor import lists and code examples. - •
ibkr_core/models.pyanddocs/SCHEMAS.mdfor field names and order types. - •
notebooks/02_market_data.ipynb,notebooks/03_account_status.ipynb, andnotebooks/04_orders.ipynbfor end-to-end workflows.