Market quotes and instruments

type endpoint  
GET /instruments Retrieve the CSV dump of all tradable instruments
GET /instruments/:exchange Retrieve the CSV dump of instruments in the particular exchange
GET /quote Retrieve full market quotes for one or more instruments
GET /quote/ohlc Retrieve OHLC quotes for one or more instruments
GET /quote/ltp Retrieve LTP quotes for one or more 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.

curl "https://api.kite.trade/instruments" \
    -H "X-Kite-Version: 3" \
  -H "Authorization: token api_key:access_token"
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

column  
instrument_tokenstring Numerical identifier used for subscribing to live market quotes with the WebSocket API.
exchange_tokenstring The numerical identifier issued by the exchange representing the instrument.
tradingsymbolstring Exchange tradingsymbol of the instrument
namestring Name of the company (for equity instruments)
last_pricefloat Last traded market price
expirystring Expiry date (for derivatives)
strikefloat Strike (for options)
tick_sizefloat Value of a single price tick
lot_sizeint Quantity of a single lot
instrument_typestring EQ, FUT, CE, PE
segmentstring Segment the instrument belongs to
exchangestring Exchange

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.

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.

curl "https://api.kite.trade/quote?i=41729&i=NSE:INFY" \
  -H "X-Kite-Version: 3" \
  -H "Authorization: token api_key:access_token"
{
  "status": "success",
  "data": {
    "41729": {
      "instrument_token": 41729,
      "timestamp": "2018-01-12 10:31:54",
      "last_price": 278.75,
      "last_quantity": 8,
      "last_trade_time": "2018-01-12 10:31:54",
      "average_price": 279.04,
      "volume": 559981,
      "buy_quantity": 703982,
      "sell_quantity": 424423,
      "ohlc": {
        "open": 279.45,
        "high": 280.55,
        "low": 277.4,
        "close": 279.05
      },
      "net_change": 0,
      "oi": 0,
      "oi_day_high": 0,
      "oi_day_low": 0,
      "depth": {
        "buy": [
          {
            "price": 278.7,
            "quantity": 750,
            "orders": 1
          },
          {
            "price": 278.6,
            "quantity": 340,
            "orders": 3
          },
          {
            "price": 278.55,
            "quantity": 1880,
            "orders": 5
          },
          {
            "price": 278.5,
            "quantity": 2259,
            "orders": 10
          },
          {
            "price": 278.45,
            "quantity": 1456,
            "orders": 4
          }
        ],
        "sell": [
          {
            "price": 278.75,
            "quantity": 117,
            "orders": 5
          },
          {
            "price": 278.8,
            "quantity": 382,
            "orders": 2
          },
          {
            "price": 278.85,
            "quantity": 5,
            "orders": 1
          },
          {
            "price": 278.9,
            "quantity": 518,
            "orders": 2
          },
          {
            "price": 278.95,
            "quantity": 2663,
            "orders": 7
          }
        ]
      }
    },
    "NSE:INFY": {
      "instrument_token": 408065,
      "timestamp": "2018-01-12 10:31:54",
      "last_price": 1075.1,
      "last_quantity": 14,
      "last_trade_time": "2018-01-12 10:31:53",
      "average_price": 1077.13,
      "volume": 1311662,
      "buy_quantity": 235801,
      "sell_quantity": 496803,
      ...
    }
  }
}

Response attributes

attribute  
last_pricefloat Last traded market price
change_percentfloat Percent change from the last traded price to last close price
changefloat Absolute change from the last traded price to last close price
volumeint Volume traded today
buy_quantityint Total quantity of buy orders
sell_quantityint Total quantity of sell orders
open_interestfloat Total number of outstanding contracts held by market participants exchange-wide (only F&O)
last_quantityint Last traded quantity
last_timenull, string Time of last trade
ohlc.openfloat Price at market opening
ohlc.highfloat Highest price today
ohlc.lowfloat Lowest price today
ohlc.closefloat Closing price of the instrument from the last trading day
net_changefloat The absolute change from yesterday's close to last traded price
oifloat The Open Interest for a futures or options contract ?
oi_day_highfloat The highest Open Interest recorded during the day
oi_day_lowfloat The lowest Open Interest recorded during the day
depth.buy[].pricefloat Price at which the depth stands
depth.buy[].ordersint Number of open BUY (bid) orders at the price
depth.buy[].quantityint Net quantity from the pending orders
depth.sell[].pricefloat Price at which the depth stands
depth.sell[].ordersint Number of open SELL (ask) orders at the price
depth.sell[].quantityint Net quantity from the pending orders

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.

curl "https://api.kite.trade/quote/ohlc?i=NSE:INFY&i=BSE:SENSEX&i=NSE:NIFTY+50" \
    -H "X-Kite-Version: 3" \
  -H "Authorization: token api_key:access_token"
{
    "status": "success",
    "data": {
        "BSE:SENSEX": {
            "instrument_token": 265,
            "last_price": 31606.48,
            "ohlc": {
                "open": 31713.5,
                "high": 31713.5,
                "low": 31586.53,
                "close": 31809.55
            }
        },
        "NSE:INFY": {
            "instrument_token": 408065,
            "last_price": 890.9,
            "ohlc": {
                "open": 900,
                "high": 900.3,
                "low": 890,
                "close": 901.9
            }
        },
        "NSE:NIFTY 50": {
            "instrument_token": 256265,
            "last_price": 9893.4,
            "ohlc": {
                "open": 9899.25,
                "high": 9911.9,
                "low": 9882.55,
                "close": 9952.2
            }
        }
    }
}

Response attributes

attribute  
instrument_tokenuint32 The numerical identifier issued by the exchange representing the instrument.
last_pricefloat Last traded market price
ohlc.openfloat Price at market opening
ohlc.highfloat Highest price today
ohlc.lowfloat Lowest price today
ohlc.closefloat Closing 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.

curl "https://api.kite.trade/quote/ltp?i=NSE:INFY&i=BSE:SENSEX&i=NSE:NIFTY+50" \
    -H "X-Kite-Version: 3" \
  -H "Authorization: token api_key:access_token"
{
    "status": "success",
    "data": {
        "BSE:SENSEX": {
            "instrument_token": 265,
            "last_price": 31606.48
        },
        "NSE:INFY": {
            "instrument_token": 408065,
            "last_price": 890.9
        },
        "NSE:NIFTY 50": {
            "instrument_token": 256265,
            "last_price": 9893.4
        }
    }
}

Response attributes

attribute  
instrument_tokenuint32 The numerical identifier issued by the exchange representing the instrument.
last_pricefloat Last 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 absent from the response.

Limits

attribute number of instruments
/quote 500
/quote/ohlc 1000
/quote/ltp 1000