Whole-chain REST responses
Request a symbol and receive calls and puts across expirations and strikes without stitching many contract calls together.
Preparing your API workspace…
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.
Copy this prompt, paste it into ChatGPT, Claude, Claude Code, Cursor, or Codex, then add your question. It tells the model to read our public docs first — no API key needed for that step.
You are helping me use OptionData (https://www.optiondata.io/), an OPRA-licensed U.S. equity options data API.
Before answering, fetch these public files (no login required) and treat them as the source of truth:
- https://www.optiondata.io/llms.txt — short product map (same content as https://www.optiondata.io/llm.txt)
- https://www.optiondata.io/llms-full.txt — full API reference
- https://www.optiondata.io/openapi.json — HTTP OpenAPI
Do not invent endpoints, fields, tables, or limits. Prefer `Authorization: Bearer apikey_…` for HTTP APIs. Realtime uses `wss://ws.optiondata.io` with a `token` query parameter.
Products:
- Realtime trades WebSocket: wss://ws.optiondata.io
- Historical SQL: POST https://www.optiondata.io/api/historical/sql
- Option chain: POST https://www.optiondata.io/api/option-chain
- Market structure: GET https://www.optiondata.io/api/v1/market-structure/{symbol}
I am asking about: Option Chain API
- Product / playground page: https://www.optiondata.io/option_chain/
- Markdown: https://www.optiondata.io/md/option-chain-api/
- HTML docs: https://www.optiondata.io/docs/option-chain-api/
My question:
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.
See the option-chain API reference for the current request and response fields. This product page does not keep a second copy of the schema.
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, put/call, and strike ranges.
Responses return { data[], meta } with per-contract quotes, open interest, IV, and Greeks. trading_date and as_of describe the session and freshness. The field list is in the option-chain docs.
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"
}'Field names, types, filters, limits, and error codes live in the public API reference. This product page does not keep a second copy of the schema.