Skip to main content

Market quotes and instruments

Instruments

Between multiple exchanges and segments, there are tens of thousands of different kinds of instruments that trade. Any application that facilitates trading needs to have a master list of these instruments. The instruments API provides a consolidated, import-ready CSV list of instruments available for trading.

Retrieving the full instrument list

Unlike the rest of the calls that return JSON, the instrument list API returns a gzipped CSV dump of instruments across all exchanges that can be imported into a database. The dump is generated once everyday and hence last_price is not real time.

Request:

curl "https://api.blinkx.in/SmartApi/instruments" \
-H "X-Version: 3" \
-H "Authorization: token api_key:access_token"

Response:

instrument_token, exchange_token, tradingsymbol, name, last_price, expiry, strike, tick_size, lot_size, instrument_type, segment, exchange
408065,1594,INFY,INFOSYS,0,,,0.05,1,EQ,NSE,NSE
5720322,22345,NIFTY15DECFUT,,78.0,2015-12-31,,0.05,75,FUT,NFO-FUT,NFO
5720578,22346,NIFTY159500CE,,23.0,2015-12-31,9500,0.05,75,CE,NFO-OPT,NFO
645639,SILVER15DECFUT,,7800.0,2015-12-31,,1,1,FUT,MCX,MCX

CSV response columns

ColumnDescription
instrument_tokenThe numerical identifier issued by the exchange representing the instrument
exchange_tokenThe numerical identifier issued by the exchange representing the instrument
tradingsymbolThe exchange tradingsymbol of the instrument
nameName of the company (for equity instruments)
last_priceLast traded market price
expiryExpiry date (for derivatives)
strikeStrike price (for options)
tick_sizeValue of a single price tick
lot_sizeQuantity of a single lot
instrument_typeType of instrument (EQ, FUT, CE, PE etc.)
segmentSegment the instrument belongs to
exchangeExchange

Warning: The instrument list API returns large amounts of data. It's best to request it once a day (ideally at around 08:30 AM) and store in a database at your end.

Note: For storage, it is recommended to use a combination of exchange and tradingsymbol as the unique key, not the numeric instrument token. Exchanges may reuse instrument tokens for different derivative instruments after each expiry.

Market quotes

The market quotes APIs enable you to retrieve market data snapshots of various instruments. These are snapshots gathered from the exchanges at the time of the request. For realtime streaming market quotes, use the WebSocket API.

Retrieving full market quotes

This API returns the complete market data snapshot of up to 500 instruments in one go. It includes the quantity, OHLC, and Open Interest fields, and the complete bid/ask market depth amongst others.

Instruments are identified by the exchange:tradingsymbol combination and are passed as values to the query parameter i which is repeated for every instrument. If there is no data available for a given key, the key will be absent from the response. The existence of all the instrument keys in the response map should be checked before to accessing them.

Request:

curl "https://api.blinkx.in/SmartApi/quote?i=NSE:INFY" \
-H "X-Version: 3" \
-H "Authorization: token api_key:access_token"

Response:

{
"status": "success",
"data": {
"NSE:INFY": {
"instrument_token": 408065,
"timestamp": "2021-06-08 15:45:56",
"last_trade_time": "2021-06-08 15:45:52",
"last_price": 1412.95,
"last_quantity": 5,
"buy_quantity": 0,
"sell_quantity": 5191,
"volume": 7360198,
"average_price": 1412.47,
"oi": 0,
"oi_day_high": 0,
"oi_day_low": 0,
"net_change": 0,
"lower_circuit_limit": 1250.7,
"upper_circuit_limit": 1528.6,
"ohlc": {
"open": 1396,
"high": 1421.75,
"low": 1395.55,
"close": 1389.65
},
"depth": {
"buy": [
{
"price": 0,
"quantity": 0,
"orders": 0
},
{
"price": 0,
"quantity": 0,
"orders": 0
},
{
"price": 0,
"quantity": 0,
"orders": 0
},
{
"price": 0,
"quantity": 0,
"orders": 0
},
{
"price": 0,
"quantity": 0,
"orders": 0
}
],
"sell": [
{
"price": 1412.95,
"quantity": 5191,
"orders": 13
},
{
"price": 0,
"quantity": 0,
"orders": 0
},
{
"price": 0,
"quantity": 0,
"orders": 0
},
{
"price": 0,
"quantity": 0,
"orders": 0
},
{
"price": 0,
"quantity": 0,
"orders": 0
}
]
}
}
}
}

Response attributes

AttributeDescription
instrument_tokenThe numerical identifier issued by the exchange
timestampThe timestamp at which the quote was generated
last_trade_timeTimestamp of the last trade
last_priceLast traded market price
volumeTotal volume traded for the day
average_priceAverage traded price for the day
buy_quantityTotal quantity of buy orders pending at the exchange
sell_quantityTotal quantity of sell orders pending at the exchange
open_interestTotal pending quantity at the exchange
last_quantityQuantity traded in the last trade
ohlc.openPrice at market opening
ohlc.highHighest price today
ohlc.lowLowest price today
ohlc.closeClosing price of the instrument from the last trading day
net_changeNet change in price
lower_circuit_limitLower circuit limit
upper_circuit_limitUpper circuit limit
oiOpen Interest
oi_day_highDay's open interest high
oi_day_lowDay's open interest low
depth.buy[].pricePrice at which the depth stands
depth.buy[].ordersNumber of orders for the depth
depth.buy[].quantityQuantity for the depth
depth.sell[].pricePrice at which the depth stands
depth.sell[].ordersNumber of orders for the depth
depth.sell[].quantityQuantity for the depth

Retrieving OHLC quotes

This API returns the OHLC + LTP snapshots of up to 1000 instruments in one go.

Instruments are identified by the exchange:tradingsymbol combination and are passed as values to the query parameter i which is repeated for every instrument. If there is no data available for a given key, the key will be absent from the response. The existence of all the instrument keys in the response map should be checked before to accessing them.

Request:

curl "https://api.blinkx.in/SmartApi/quote/ohlc?i=NSE:INFY&i=BSE:SENSEX&i=NSE:NIFTY+50" \
-H "X-Version: 3" \
-H "Authorization: token api_key:access_token"

Response:

{
"status": "success",
"data": {
"NSE:INFY": {
"instrument_token": 408065,
"last_price": 1075,
"ohlc": {
"open": 1085.8,
"high": 1085.9,
"low": 1070.9,
"close": 1075.8
}
}
}
}

Response attributes

AttributeDescription
instrument_tokenThe numerical identifier issued by the exchange
last_priceLast traded market price
ohlc.openPrice at market opening
ohlc.highHighest price today
ohlc.lowLowest price today
ohlc.closeClosing price of the instrument from the last trading day

Note: Always check for the existence of a particular key you've requested (eg: NSE:INFY) in the response. If there's no data for the particular instrument or if it has expired, the key will be missing from the response.

Retrieving LTP quotes

This API returns the LTPs of up to 1000 instruments in one go.

Instruments are identified by the exchange:tradingsymbol combination and are passed as values to the query parameter i which is repeated for every instrument. If there is no data available for a given key, the key will be absent from the response. The existence of all the instrument keys in the response map should be checked before to accessing them.

Request:

curl "https://api.blinkx.in/SmartApi/quote/ltp?i=NSE:INFY&i=BSE:SENSEX&i=NSE:NIFTY+50" \
-H "X-Version: 3" \
-H "Authorization: token api_key:access_token"

Response:

{
"status": "success",
"data": {
"NSE:INFY": {
"instrument_token": 408065,
"last_price": 1074.35
}
}
}

Response attributes

AttributeDescription
instrument_tokenThe numerical identifier issued by the exchange
last_priceLast traded market price

Note: Always check for the existence of a particular key you've requested (eg: NSE:INFY) in the response. If there's no data for the particular instrument or if it has expired, the key will be missing from the response.

Limits

  • /quote - Up to 500 instruments
  • /quote/ohlc - Up to 1000 instruments
  • /quote/ltp - Up to 1000 instruments