| name | ibkr-gateway-python |
| description | Use when working in mm-ibkr-gateway to access market data, account summary, positions, PnL, or orders directly in Python via ibkr_core. Covers connecting with IBKRClient, using market/account/order helpers, and safety rules for preview, place, cancel, and status. |
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.