Whole-chain REST responses
Request a symbol and receive calls and puts across expirations and strikes without stitching many contract calls together.
Get 50% off on all plans for the first year – contact sales for a promotional code.
Option chain API for full U.S. stock option chains in one POST: strikes, expirations, bid, ask, last price, volume, open interest, implied volatility, and Greeks for the latest session or any historical trading day.
Request a symbol and receive calls and puts across expirations and strikes without stitching many contract calls together.
Responses include bid, ask, last price, volume, open interest, implied volatility, and Greeks for option-chain analysis.
Use the newest available session for live products or specify a past trading date for backtests and research.
Yes. The option-chain endpoint returns calls and puts across strikes and expirations for a requested U.S. equity symbol.
The API includes strike, expiration, call/put type, bid, ask, last price, volume, open interest, implied volatility, and Greeks where available.
Yes. You can request the latest available chain or provide a historical trading date for research and backtesting.
Current-session responses can reflect intraday updates for contracts that trade. Poll broad or full-chain requests about every 5 minutes; for a narrow symbol, expiry, or strike range, every 1-2 minutes is reasonable.
No. Full option-chain data is available through the REST API. The OptionData WebSocket feed provides realtime options trades and flow, not full option-chain snapshots.
trading_date identifies the market session returned. as_of is the UTC timestamp of the latest data update represented in the response and should be used to evaluate freshness.
POST JSON or form fields to https://www.optiondata.io/api/option-chain with a required symbol. Optional filters include date, expiration_date, put_call, strike ranges, and include_flow.
Responses return { status, data[], meta } with contract rows (OCC option_symbol, bid/ask/mark/close, OI, IV, Greeks). trading_date and as_of describe the session and freshness.
Full chains are REST-only — the WebSocket is for trade flow, not whole-chain snapshots. Poll roughly every 1–5 minutes depending on breadth. Trial and active realtime plans include chain access.
curl -X POST 'https://www.optiondata.io/api/option-chain' \
-H 'Content-Type: application/json' \
-d '{
"api_key": "YOUR_API_KEY",
"symbol": "SPY",
"include_flow": false
}'