I want to stream real-time full market depth (full_d30) data for 150 option contracts (50 Nifty, 50 BankNifty, and 50 Sensex).
This is required for analyzing option chain strikes along with complete bid-ask depth and Greeks.
However, I noticed the following:
-
A single WebSocket connection allows a maximum of 50 instruments in full_d30 mode.
-
As per Upstox documentation:
-
Plus plan users can open up to 5 simultaneous WebSocket connections.
-
The combined limit is 1500 instruments across all active WebSocket connections.
-
So in theory, I should be able to subscribe like this:
3 WebSockets × 50 instruments each = 150 instruments (Nifty + BankNifty + Sensex)
But in practice:
-
Only the first WebSocket connection receives data.
-
The second and third WebSocket connections connect but do not receive any feed.
-
No error is shown, but the feeds are inactive.
My Questions:
-
Is it possible to stream more than 50 instruments in
full_d30mode using multiple WebSocket connections? -
Is there any restriction (technical or policy-based) that prevents multiple active
full_d30connections per user/token? -
Do we need to use separate
ApiClientinstances, access tokens, or client IDs to make multiple WebSocket connections work? -
If this is not supported currently, is there an alternative approach recommended by Upstox for streaming more than 50 option contracts with full market depth?
System Setup (For Context):
-
Plan: Upstox Plus Member
-
Instruments:
-
50 NIFTY Option contracts
-
50 BANKNIFTY Option contracts
-
50 SENSEX Option contracts
-
-
WebSocket Mode:
full_d30 -
Using Python SDK: upstox-python
-
Attempting 3 WebSocket connections, each with its own instrument list.
I’d really appreciate clarification or guidance from the Upstox team or community developers.
Thank you!