Free Options Data API: Coverage & Limits
Separate reference data, delayed quotes, account access, and real-time entitlement before comparing providers.

TL;DR
Massive includes contract-reference endpoints in its free options plan, while richer price and analytics endpoints depend on tier.
Alpaca and Tradier are practical when market data is tied to a brokerage workflow and account entitlements.
Reliable historical quotes and complete real-time NBBO are more difficult than current contract lists or previous-day bars.
Write down whether you need a contract catalog, a chain snapshot, tick quotes, Greeks, open interest, or backtest history.
Read an option chain as a data model
contractUnderlying, expiration, strike, call/put, multiplier, exercise style.
quoteBid, ask, sizes, venue, event time, and quote condition.
tradePrice, size, exchange, condition, and sequence.
greeksModel, inputs, calculation time, and whether values are vendor-derived.
open_interestAs-of date and publication lag.
corporate_actionAdjustment history for splits, mergers, and special distributions.
What “free” and “real-time” mean for this API
Free options data is unusually easy to misunderstand because an option chain combines reference data, market data, and derived analytics. A free endpoint may list every active contract but provide no current bid or ask. Another may show delayed quotes but omit Greeks, open interest, or historical snapshots.
For US listed options, OPRA licensing and display rules matter. A website that manually displays delayed quotes is not automatically an API source, and exchange pages can prohibit automated extraction. Use documented APIs and verify the plan's market-data rights rather than scraping a quote table.
The useful unit of comparison is therefore a complete strategy input. A covered-call screener needs expirations, strikes, bid/ask, open interest, volume, underlying price, and a consistent timestamp. A volatility backtest needs point-in-time chains and must avoid using today's contract metadata or Greeks in past dates.
Free access is not one thing
| Access layer | Often available | Usually restricted |
|---|---|---|
| Reference | Contracts, expirations, strikes | Complete history and adjustments |
| Delayed market data | Displayed delayed quotes | Automated extraction or redistribution |
| Broker context | Quotes for an authenticated account | Use outside account terms |
| Real-time OPRA | Sometimes trial access | Production entitlement and display rights |
The fields that decide whether the data is usable
Underlying, expiration, strike, call/put, multiplier, style, and listing status describe the instrument but not its market value.
Bid/ask NBBO, sizes, last trade, conditions, and timestamps are distinct. A last trade can be stale in an illiquid contract.
Greeks and implied volatility depend on the pricing model, interest rate, dividend assumptions, underlying price, and timestamp.
A backtest needs contracts, quotes, corporate actions, and underlying values as they were known then—not a reconstructed current chain.
Provider comparison: access, fields, and limits
| Provider | Free entry | Useful fields | Main caveat |
|---|---|---|---|
| Massive | Options Basic | Contracts and selected reference/market endpoints by plan | Real-time, snapshots, and history vary by tier |
| Alpaca | Free market-data plan | US option contracts and indicative data | Real-time OPRA is a paid entitlement |
| Tradier | Developer/brokerage access | Chains, expirations, quotes, Greeks in brokerage context | Entitlements and use depend on account context |
| Cboe delayed pages | Manual web display | Delayed quote viewing | Automated extraction is explicitly prohibited |
Provider comparison
| Provider | Entry point | Strength | Caveat |
|---|---|---|---|
| Massive | Options API plans | Reference, snapshots, market endpoints | History and real time depend on plan |
| Alpaca | Market data plan | US option contracts and application access | Real-time OPRA needs entitlement |
| Tradier | Broker/developer account | Chains, quotes, Greeks | Rights depend on account context |
| Cboe delayed pages | Manual web display | Delayed quote viewing | Automated extraction is restricted |
Provider-by-provider notes: where the free tier stops
Massive makes the free-versus-paid boundary visible at endpoint level. Contract discovery and selected reference operations can support symbol lookup and chain construction, while snapshots, complete quotes, deeper history, and real-time analytics vary by tier. Test the exact endpoint matrix instead of assuming the Free plan unlocks every field shown in the documentation.
Alpaca is practical when the same application uses paper trading, stock data, and option contract discovery. Its free plan can support prototypes and indicative workflows, but official OPRA real-time coverage belongs to a higher entitlement. That distinction matters for spread-sensitive screens and any interface that presents current bid and ask values.
Tradier exposes options-oriented endpoints in a brokerage ecosystem, which can reduce the gap between research and order workflows. Developers should confirm whether quotes are delayed or real-time for the account, which Greeks are provider-computed, and whether the intended use is personal, internal, or customer-facing.
Cboe's delayed quote interface is valuable for manual validation, but the page explicitly prohibits automated extraction. This is an important architectural lesson: public visibility is not API permission. Use it as a human reference and obtain a documented data product for automation.
A practical decision path
- 01
List exact fields
Write down contracts, quotes, trades, Greeks, history, and timestamps separately.
- 02
Confirm entitlement
Ask whether the application displays, redistributes, or only analyzes data.
- 03
Test one chain
Use a liquid symbol and inspect missing strikes, stale quotes, and crossed markets.
- 04
Record provenance
Keep vendor, feed, model inputs, and event time with every derived result.
Which option fits your workload?
Reference endpoints may be enough when users only filter by underlying, expiration, strike, type, or exercise style.
Require synchronized underlying price, bid/ask, volume, open interest, IV, Greeks, and timestamps. A contract list alone cannot rank executable opportunities.
Choose point-in-time chains and quotes with adjustment history. Reconstructing history from current contracts creates survivorship and look-ahead errors.
Confirm OPRA display, professional-user classification, derived analytics, caching, and redistribution before UI work begins.
A practical evaluation and implementation playbook
Normalize OCC symbols, expirations, strikes, type, and multiplier while retaining the provider's native identifier.
Record the timestamp for the underlying, quote, trade, Greeks, and open interest independently. Do not label a mixed-age response real-time.
Splits, special dividends, adjusted contracts, symbol changes, and non-standard deliverables expose weak normalization quickly.
Store the provider payload and entitlement context before calculating screens or Greeks, so results can be reproduced.
Common mistakes that make a free API expensive
A usable chain also needs synchronized market and analytics fields.
Illiquid contracts can retain old trades while the current market has moved.
Different assumptions can produce different values even from the same quote.
A visible webpage may expressly forbid automated extraction and does not grant redistribution rights.
Inspect option-data capability contracts
QVeris can expose candidate inputs and outputs before an agent calls an option-data capability. Continue with FMP option-data provider details, then confirm the calling contract in the QVeris REST API reference.
FAQ
Sometimes in limited or brokerage-linked contexts. Complete OPRA quotes, broad streaming, commercial display, and historical tick data commonly require paid rights.
At minimum: contract identity, bid/ask and sizes, last trade, volume, open interest, underlying price, IV, Greeks, and timestamps for each data family.
They can be useful for screening, but reliability depends on quote freshness and model assumptions. Record the source and avoid treating them as universal truth.
Point-in-time historical chains and quotes with corporate-action handling matter more than a convenient current-chain endpoint.
