Contract search
/v3/reference/options/contracts: find contracts by underlying, expiration, call/put and strike range; add expired=true for expired contracts.
Contract search, option chain snapshots (delta, gamma, theta, vega, implied volatility, open interest), options bars, trades and quotes, with 5+ years of history. Buy it on its own, or add it to a stocks plan on the same API key.
import requests r = requests.get( "https://marilux.dev/v3/snapshot/options/QQQ", headers={"Authorization": "Bearer mh_live_••••"}, params={"contract_type": "put", "limit": 250}, ) for c in r.json()["results"]: print(c["details"]["ticker"], c["greeks"], c["implied_volatility"])
Paths and response formats match Polygon. Full parameters are in the options docs.
/v3/reference/options/contracts: find contracts by underlying, expiration, call/put and strike range; add expired=true for expired contracts.
/v3/snapshot/options/{underlying}: the latest quote, trade, day bar, Greeks, IV and open interest for a whole chain in one call.
/v2/aggs/ticker/{optionsTicker}/range/...: minute, hour and daily bars, used exactly like stock bars.
/v3/trades/{optionsTicker}: tick-level trades by day or time range, paginated with next_url.
/v3/quotes/{optionsTicker}: bid/ask history for spread and liquidity research.
/v3/reference/options/contracts/{optionsTicker}: underlying, expiration, strike, exercise style and shares per contract.
More in the options docs, or email [email protected].
O: + underlying + expiration (YYMMDD) + C/P + strike × 1000 padded to 8 digits. For example, O:QQQ261016C00600000 is the QQQ 600 call expiring 2026-10-16.
The chain snapshot /v3/snapshot/options/{underlying}. Every contract includes greeks (delta, gamma, theta, vega), implied_volatility and open_interest, and you can filter by expiration, strike and call/put.
More than 5 years. To find expired contracts, add expired=true to the contracts endpoint.
No. The Options plan works on its own. If you also have a stocks plan, both share one API key and their daily calls and monthly traffic add up.
Yes. Call the REST endpoints with requests, or use polygon-api-client with base set to our URL. The docs include complete examples.