Options data api empty result

Hi,
I’m trying to fetch options data for a specific date and time using the Rolling Options API. My goal is to retrieve the option chain for this month’s expiry — specifically the premiums at around 1:00 PM for ATM ±2 strikes.

However, when I query the API for that date, the results come back empty.
Can you confirm whether this is the correct way to use the Rolling Options API?

Is it possible to retrieve historical option-chain data — for example, for HDFC Bank on Friday at 1 PM, including the premiums for ATM ±2 strikes?
If this is supported, how should I structure the API request? Essentially, I want to reconstruct the full option chain as it existed at 1 PM using the historical options API. Is that achievable?

Thanks.

payload: 
{'exchangeSegment': 'NSE_FNO', 'interval': '1', 'securityId': 232, 'instrument': 'OPTSTK', 'expiryFlag': 'MONTH', 'expiryCode': 1, 'strike': 'ATM', 'drvOptionType': 'CALL', 'requiredData': ['open', 'high', 'low', 'close', 'volume', 'oi', 'iv', 'strike', 'spot'], 'fromDate': '2025-11-13', 'toDate': '2025-11-13'}

response:
{
  "data": {
    "ce": {
      "iv": [],
      "oi": [],
      "strike": [],
      "spot": [],
      "open": [],
      "high": [],
      "low": [],
      "close": [],
      "volume": [],
      "timestamp": []
    },
    "pe": null
  }
}

bump

Hi @Vishal_Singh ,

We checked the payload you shared, and the empty result is happening because the securityId you used doesn’t correspond to the underlying equity. For stock options, the Rolling Options API expects the equity’s security ID, not the F&O contract’s one. That’s why no data is returning.

For example, if you’re trying to fetch expired options data for HDFC Bank, you’ll need to pass the equity security ID — which is 1333 for HDFC Bank.

Here’s a sample request you can use as a reference:

{
  "exchangeSegment": "NSE_FNO",
  "interval": "60",
  "securityId": 1333,
  "instrument": "OPTSTK",
  "expiryFlag": "MONTH",
  "expiryCode": 1,
  "strike": "ATM",
  "drvOptionType": "CALL",
  "requiredData": ["open"],
  "fromDate": "2025-11-13",
  "toDate": "2025-11-13"
}

Try this structure with the correct underlying security ID and you’ll be able to retrieve the historical option-chain data.

1 Like