Introduction
To connect using WebSockets API, you will need following information :
โ โendpointโ to connect to
โ โport numberโ to connect to
โ โAPI Keyโ received from our team to access data
The flow of operations should be as follows :
1. Make a connection to the ws://endpoint:port
2. Send Authentication Request using API Key
3. Once authentication is successful, send all other data requests
4. If connection is lost for any reasons, follow same steps from 1 to 3 as above.
List of WebSockets API Functions
| WebSockets API Functions | Description |
| Authenticate | Authenticates the user via API Key |
| SubscribeRealtime | Subscribe to market data, pushes market data every second (Bid/Ask/Trade) |
| SubscribeSnapshot | Subscribe to market data, pushes market data every minute (and other โPeriodโ values as chosen by user) |
| GetLastQuote | Returns LastTradePrice of Single Symbol (detailed) |
| GetLastQuoteShort | Returns LastTradePrice of Single Symbol (short) |
| GetLastQuoteShortWithClose | Returns LastTradePrice of Single Symbol (short with Close of Previous Day) |
| GetLastQuoteArray | Returns LastTradePrice of multiple Symbols โ max 25 in single call (detailed) |
| GetLastQuoteArrayShort | Returns LastTradePrice of multiple Symbols โ max 25 in single call (short) |
| GetLastQuoteArrayShortWithClose | Returns LastTradePrice of multiple Symbols โ max 25 in single call (short with Close of Previous Day) |
| GetSnapshot | Returns latest Snapshot Data of multiple Symbols โ max 25 in single call |
| GetHistory | Returns historical data (Tick / Minute / EOD) |
| GetHistoryAfterMarket | Returns historical data (Tick / Minute / EOD) till previous working day. |
| GetExchanges | Returns array of available exchanges |
| GetInstrumentsOnSearch | Returns array of max. 20 instruments by selected exchange and ‘search string’ |
| GetInstruments | Returns array of instruments by selected exchange |
| GetInstrumentTypes | Returns list of Instrument Types (e.g. FUTIDX, FUTSTK, etc.) |
| GetProducts | Returns list of Products (e.g. NIFTY, BANKNIFTY, GAIL, etc.) |
| GetExpiryDates | Returns array of Expiry Dates (e.g. 25JUN2020, 30JUL2020, etc.) |
| GetOptionTypes | Returns list of Option Types (e.g. CE, PE, etc.) |
| GetStrikePrices | Returns list of Strike Prices (e.g. 10000, 11000, 75.5, etc.) |
| GetServerInfo | Returns information about server where connection is made |
| GetLimitation | Returns user account information (e.g. which functions are allowed, Exchanges allowed, symbol limit, etc.) |
| GetMarketMessages | Returns array of last messages (Market Messages) related to selected exchange |
| GetExchangeMessages | Returns array of last messages (Exchange Messages) related to selected exchange |
| GetLastQuoteOptionChain | Returns LastTradePrice of entire OptionChain of requested underlying |
| GetExchangeSnapshot | Returns entire Exchange Snapshot as per Period & Periodicity |
| GetLastQuoteOptionGreeks | Returns Last Traded Option Greek values of Single Symbol (detailed) |
| GetLastQuoteArrayOptionGreeks | Returns Last Traded Option Greek values of multiple Symbols โ max 25 in single call (detailed) |
| GetLastQuoteOptionGreeksChain | Returns Last Traded Option Greek values of entire OptionChain of requested underlying |
| SubscribeRealtimeOptionGreeks | Subscribe to Realtime Greek values of single Token, returns market data every second (detailed) |
Important Notes
-
- โ WebSockets API allows only 1 active session with the server with 1 API Key. If you create another session with same key, previous session will be invalidated with response “Access Denied. Key already in use by other session.”
-
- โ WebSockets API Sends data only in JSON format
-
- – Sometimes, API sends diagnostic messages in plain/text – instead of actual data requested. For example, when API Key is expired / invalid, etc.. Your application should be able to handle these messages in non-JSON format.



