The Option Chain API returns the option chain (calls / puts) or the futures chain for an underlying, with per-strike quote and open-interest data. Open-interest change and change % are computed server-side so every caller gets a consistent value.
GET <Base URL>/market-data/1.0/watchlist/option-chain?exchange=<exchange_segment>&underlying=<underlying>[&expiry=<YYYY-MM-DD>][&instrument_type=<type>][&count=<n>]
Replace <Base URL> with the relevant Kotak environment base URL provided in response from the /tradeApiValidate API.
Key points about endpoint structure:
exchange and underlying are mandatory; expiry, instrument_type and count are optional.underlying: use pSymbolName from the instrument/scrip master file (e.g. NIFTY, RELIANCE).expiry: ISO date (YYYY-MM-DD) from the Expiries API. Defaults to the nearest expiry if omitted.instrument_type: option (default) or fut.count: number of strikes, in multiples of 10. Default 40 (80 instruments: 40 calls + 40 puts).exchange are (string):
nse_fo (NSE F&O)bse_fo (BSE F&O)mcx_fo (MCX F&O)With instrument_type=fut and expiry omitted, fut[] returns every available futures contract; with a specific expiry, it returns only that one contract.
| Name | Type | Description |
|---|---|---|
| Authorization | string | Token provided in your NEO API dashboard - use plain token |
| Content-Type | string | application/json |
Example Request (mandatory parameters only — nearest expiry, default option chain):
curl --location --request GET '<Base URL>/market-data/1.0/watchlist/option-chain?exchange=nse_fo&underlying=NIFTY' \
--header 'Content-Type: application/json' \
--header 'Authorization: xxxxx-your-api-token-xxxx'
Example Request (with optional parameters):