Yes, Polygon does support Greeks data for all index option contracts. When querying for this data, you need to prefix the underlying index symbol with “I:“. For instance, to query for the SPX index, your API request would look like this:
https://api.polygon.io/v3/snapshot/options/I:SPX?apiKey=***
Here is an example response:
{
"results": [
{
"day": {
"change": 0.35,
"change_percent": 25.926,
"close": 1.7,
"high": 3.5,
"last_updated": 1689120000000000000,
"low": 1.35,
"open": 3.3,
"previous_close": 1.35,
"volume": 41840,
"vwap": 2.5245
},
"details": {
"contract_type": "call",
"exercise_style": "european",
"expiration_date": "2023-07-12",
"shares_per_contract": 100,
"strike_price": 4500,
"ticker": "O:SPXW230712C04500000"
},
"greeks": {
"delta": 0.1747164662893937,
"gamma": 0.015204164984227357,
"theta": -5.994369119247097,
"vega": 0.38594323616299553
},
"implied_volatility": 0.11856240507153987,
"last_quote": {
"ask": 1.65,
"ask_size": 37,
"bid": 1.6,
"bid_size": 123,
"last_updated": 1689174023516476700,
"midpoint": 1.625,
"timeframe": "REAL-TIME"
},
"last_trade": {
"sip_timestamp": 1689174023261703200,
"conditions": [
209
],
"price": 1.65,
"size": 1,
"exchange": 302,
"timeframe": "REAL-TIME"
},
"open_interest": 4501,
"underlying_asset": {
"last_updated": 1680814651655000000,
"value": 4483.78,
"ticker": "I:SPX",
"timeframe": "REAL-TIME"
}
}