Ant-A3 API - The Official Python SDK for Smart Trading: Registration & Login Guide
Call NSE Option Chain Data in a DataFrame:
POST trade.get_Underlying(exchange=Exchange.NSE_FO) Fetches the list of available underlyings (indices or symbols) for which Option Chain data can be retrieved.
POST trade.get_Underlying_expiry(exchange=Exchange.NSE_FO, underlying="TATASTEEL") Retrieves the list of available expiry dates for a given underlying symbol.
POST trade.get_Option_chain(exchange=Exchange.NSE_FO,underlying='TATASTEEL',interval='5',expiry='25AUG26') Fetches the complete Option Chain data for a specific underlying and expiry.
from TradeMaster.TradeSync import *
import pandas as pd
import dbm
db=dbm.open('alicedb','r')
username=db['username'].decode()
api_secret=db['api_secret'].decode()
trade=TradeHub(user_id=username,auth_code='IQYQKF9VEDQKOGOTGAJ4',secret_key=api_secret)
trade.get_session_id()
UNDERLYING = "TATASTEEL"
expiry = trade.get_Underlying_expiry(exchange=Exchange.NSE_FO, underlying=UNDERLYING)['result'][0]['underlying_expiry'][0]
data = trade.get_Option_chain(exchange=Exchange.NSE_FO, underlying=UNDERLYING, interval='2', expiry=expiry)['result'][0]['data']
rows = [{'strike': r['strikeprice'], **{f"CE_{k}": v for k, v in r['CE'].items()}, **{f"PE_{k}": v for k, v in r['PE'].items()}} for r in data]
df = pd.DataFrame(data)
print(df)
df.to_csv(f"{UNDERLYING}_option_chain.csv", index=False)