Zerodha, Angel One, Upstox, Dhan and FYERS: broker APIs compared
Most Indian traders choose a broker first and discover its API later. Here is how five of the APIs we build on compare on the things that shape a trading system, taken from each broker’s own documentation and checked in October 2026. Brokers change these figures, so check the official docs before you build.
The short answer
Every one of these brokers needs a fresh login each trading day, and the clearest difference is the published order limit: Angel One allows 20 orders a second, the others 10, with Upstox allowing 50 for SEBI-registered algos. Moving brokers for an API is rarely worth it; check your own broker’s limits against your busiest moment instead.
Side by side
| Zerodha (Kite Connect) | Angel One (SmartAPI) | Upstox | Dhan (DhanHQ v2) | FYERS (API v3) | |
|---|---|---|---|---|---|
| Session | Daily login; token expires 6 AM next day | Session login (see docs) | OAuth 2; token valid until 3:30 AM next day; a new token revokes the old one | Access token valid 24 hours | Access token expires daily at 6:30 AM; FYERS notes refresh tokens are being discontinued |
| Order limits | 10 per second, 400 per minute, 5,000 per day | 20 per second, 500 per minute, 1,000 per hour | 10 per second, 500 per minute, 2,000 per 30 minutes (50 per second for SEBI-registered algos) | 10 per second, 250 per minute, 1,000 per hour, 7,000 per day | 10 orders per second; async order calls are queued to that pace |
| Data limits | Quotes 1 per second; historical 3 per second | Prices 10 per second; historical 3 per second | Other APIs 50 per second, 500 per minute | Data 5 per second, 100,000 per day; quotes 1 per second | All APIs: 10 per second, 200 per minute, 100,000 per day (FYERS Prime: 600 per minute, 200,000 per day). Blocked for the day after exceeding the per-minute limit more than 3 times |
| Order changes | Up to 25 modifications per order | Modify and cancel: same limits as placing | Included in the combined order limits | Up to 25 modifications per order | See docs |
| Streaming | WebSocket | WebSocket prices and order status | See docs | See docs | Data, order and tick-by-tick WebSockets; order webhooks |
For US and global brokers and crypto exchanges in the same format, see our broker API comparison.
What all five have in common
SEBI’s framework for retail algorithmic trading applies to every one of them: API access through a unique key and a static IP the broker has whitelisted, OAuth sign-in with two-factor authentication, and tagging of every API order, with exchange registration for algos that send more than 10 orders a second. Our guide to SEBI’s retail algo rules explains each one.
What actually decides the choice
- The account you already have. Moving brokers for an API is rarely worth it unless a limit below rules your strategy out.
- Bursts of orders. A multi-leg options entry across several instruments can hit a per-second limit even when the daily total is small. Check the per-second and per-minute figures against your busiest moment.
- Data needs. Strategies that poll quotes or pull a lot of history are limited sooner than ones that stream prices. Streaming, where offered, is the better design.
- The daily login. Every broker here needs a fresh session each day. Plan the routine before the market opens, and make the system refuse to trade without a valid session.
We build on all four, and more: see Kite Connect development and Indian broker API integration. For how we approach a full build, see custom algorithmic trading software.
Common questions
- Which Indian broker API is best for algo trading?
- There is no single best one. All four here support automated trading within SEBI’s framework. The right choice usually follows the broker you already trade with, then the details that matter for your system: how many orders it sends in a burst, how much historical and quote data it needs, and how the daily login fits your routine.
- Why does my broker API need a new login every day?
- Indian broker sessions are short by design. Zerodha’s access token expires at 6 AM the next day, FYERS’s at 6:30 AM and Upstox’s at 3:30 AM; Dhan’s access token lasts 24 hours. A live system needs a quick daily login routine and should stay idle until it has a valid session.
- Do these APIs need a static IP?
- Under SEBI’s framework for retail algorithmic trading, brokers allow API access only through a unique API key and a static IP they have whitelisted. Our guide to SEBI’s retail algo rules explains what that means in practice.