US options data API

US options data API, chains and Greeks

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.

From $16.99/monthStandalone planPay with USDT / USDC
option_chain.py
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"])
● OperationalCache · HIT   4ms
Endpoints

Options endpoints

Paths and response formats match Polygon. Full parameters are in the options docs.

Contract search

/v3/reference/options/contracts: find contracts by underlying, expiration, call/put and strike range; add expired=true for expired contracts.

Chain snapshot

/v3/snapshot/options/{underlying}: the latest quote, trade, day bar, Greeks, IV and open interest for a whole chain in one call.

Options bars

/v2/aggs/ticker/{optionsTicker}/range/...: minute, hour and daily bars, used exactly like stock bars.

Trades

/v3/trades/{optionsTicker}: tick-level trades by day or time range, paginated with next_url.

Quotes

/v3/quotes/{optionsTicker}: bid/ask history for spread and liquidity research.

Contract details

/v3/reference/options/contracts/{optionsTicker}: underlying, expiration, strike, exercise style and shares per contract.

FAQ

Options data FAQ

More in the options docs, or email [email protected].

What is the options symbol format?

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.

Which endpoint returns Greeks and implied volatility?

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.

How far back does options history go?

More than 5 years. To find expired contracts, add expired=true to the contracts endpoint.

Do I need a stocks plan to buy options data?

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.

Can I pull option chains with Python?

Yes. Call the REST endpoints with requests, or use polygon-api-client with base set to our URL. The docs include complete examples.