Choosing a broker with API access
Not every Indian broker exposes a trading API to retail users. The ones that do, roughly compared:
| Broker | API name | Pricing (approx, Sept 2026) | Notes |
|---|---|---|---|
| Zerodha | Kite Connect | Free "Personal" tier (limited); ₹500/month per key for full Connect | Reduced from ₹2000/month in a prior repricing. Best docs, largest community, used as reference in this course |
| Upstox | Upstox API | Free tier available | Good WebSocket, OAuth2 flow similar to Kite |
| Fyers | FYERS API | Free | Popular for F&O algo traders, has a built-in backtesting sandbox |
| Dhan | DhanHQ API | Free | Aggressive on API-first positioning, still offers bracket/cover-order-style products Zerodha discontinued (ch 52) |
| AliceBlue | ANT API | Free | Cheaper brokerage, smaller community |
| 5paisa | 5paisa API | Free | Decent for basic automation |
Pricing and free-tier terms change without much notice — verify current figures on the broker's own developer console before budgeting for this. Every broker listed here is also now bound by SEBI's 2026 retail algo framework (chapter 134) — static IP and Strategy ID requirements apply regardless of which one you pick.
What actually matters for this course
- REST API for account/orders/historical data (all of the above have this).
- WebSocket for live ticks (all of the above have this too, quality varies).
- Sandbox / paper mode if available — Fyers and some others offer one; Zerodha does not (you paper-trade by writing your own simulator, covered in chapter 87).
- Rate limits — every broker throttles order placement and quote calls. Read the limits page before writing your loop, not after you get banned for an hour.
Decision for this course
Zerodha Kite Connect is used as the reference implementation because its docs and Python SDK (kiteconnect) are the most stable target to teach against, and it has the largest number of open-source examples to cross-check yourself with. Every concept — auth, funds, orders, positions, ticks — maps directly onto Upstox/Fyers/Dhan with different method names and field names. Chapter 68 builds a broker-agnostic interface so switching later is a config change, not a rewrite.
If you already have an account with one of the others, keep going — just substitute method names from that broker's docs where this course calls kite.xxx().