IBKR Gateway API
Overview
Use the REST API in this repo to fetch market data, read account data, and manage orders safely with preview-first flow.
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. - •If exposing the API, set
API_KEYand requireX-API-Keyon requests.
- •
Start the API server.
- •
python -m api.serveroribkr-gateway start-api - •Verify with
GET /health.
- •
- •
Use market data, account, and order endpoints.
- •Read
api/API.mdfor full endpoint docs and error codes. - •Read
docs/SCHEMAS.mdfor request/response schemas (OrderSpec, Position, AccountSummary). - •Read
docs/SAFETY_CHECKLIST.mdbefore enabling live trading.
- •Read
- •
Prefer preview-first order flow.
- •Call
POST /orders/previewbeforePOST /orders. - •If
ORDERS_ENABLED=false,POST /ordersreturnsSIMULATED.
- •Call
Minimal Examples
Account summary:
bash
curl http://localhost:8000/account/summary
Quote snapshot:
bash
curl -X POST http://localhost:8000/market-data/quote \
-H "Content-Type: application/json" \
-d '{"symbol": "AAPL", "securityType": "STK"}'
Preview a limit order:
bash
curl -X POST http://localhost:8000/orders/preview \
-H "Content-Type: application/json" \
-d '{
"instrument": {"symbol": "AAPL", "securityType": "STK"},
"side": "BUY",
"quantity": 10,
"orderType": "LMT",
"limitPrice": 150.00
}'
References
- •
references/api-endpoints.mdfor market/account/order endpoint lists and request patterns.