API Documentation
Programmatic access to screened options strategy data across 15 strategies.
API access is included with direct Option Screener Premium subscriptions and the Trader Bundle.
Authentication
Pass the key generated on your Account page in the X-API-Key header.
Endpoint
/api/getOptionsDataRetrieve screened contracts for one strategy with optional filters, sorting, and pagination.
- Base URL:
- https://option-screener.com/api
- Rate limit:
- 60 requests per 60 seconds, aggregated by IP address and domain
Option Chains and Ticker Retrieval
The API does not return a raw, exhaustive exchange option chain. It returns the contracts and multi-leg combinations produced by a selected Option Screener strategy.
For a strategy-oriented, chain-like view, query an exact symbol with ticker=AAPL, request up to 500 records per page, and continue until you have collected the reported total. Repeat for each relevant strategy, then group records by expiration, strike, call/put type, and contract or leg identifiers.
Strategies
| Code | Strategy | Category |
|---|---|---|
| CC | Covered Call | Wheel |
| CSP | Cash-Secured Put | Wheel |
| LC | Long Call | Long |
| LP | Long Put | Long |
| CDS | Call Debit Spread | Spreads |
| CCS | Call Credit Spread | Spreads |
| PDS | Put Debit Spread | Spreads |
| PCS | Put Credit Spread | Spreads |
| LSTRAD | Long Straddle | Volatility |
| LSTRANGLE | Long Strangle | Volatility |
| LCCS | Long Call Calendar | Calendar |
| LPCS | Long Put Calendar | Calendar |
| SCCS | Short Call Calendar | Calendar |
| SPCS | Short Put Calendar | Calendar |
| LEAPS | LEAPS | LEAPS |
Query Parameters
Only strategy is required. Exact ticker and partial search filters cannot be combined.
| Name | Type | Required | Description |
|---|---|---|---|
| strategy | string | Yes | One of: CC, CSP, LC, LP, CDS, CCS, PDS, PCS, LSTRAD, LSTRANGLE, LCCS, LPCS, SCCS, SPCS, LEAPS |
| ticker | string | No | Case-insensitive exact ticker match, such as AAPL |
| search | string | No | Case-insensitive partial ticker match; cannot be combined with ticker |
| min_score / max_score | number | No | Score; single, spread, volatility, calendar strategies. |
| min_stock_price / max_stock_price | number | No | Stock Price; single, spread, volatility, calendar strategies. |
| min_max_loss / max_max_loss | number | No | Max Loss; single, spread, volatility, calendar strategies. |
| min_pl / max_pl | number | No | P/L; single, spread, volatility, calendar strategies. Percentage points: 28.5 means 28.5%. |
| min_market_cap / max_market_cap | number | No | Market Cap (Billions); single, spread, volatility, calendar strategies. US dollars. |
| min_spread_percent / max_spread_percent | number | No | Bid/Ask Spread; single, spread, volatility, calendar strategies. Ratio: 0.032 means 3.2%. |
| min_strike / max_strike | number | No | Strike Price; single, calendar strategies. |
| min_iv / max_iv | number | No | Implied Volatility; single strategies. Percentage points: 28.5 means 28.5%. |
| min_delta / max_delta | number | No | Delta; single strategies. Signed decimal delta. |
| min_volume / max_volume | number | No | Volume; single strategies. |
| min_open_interest / max_open_interest | number | No | Open Interest; single strategies. |
| min_bid / max_bid | number | No | Bid; single strategies. |
| min_ask / max_ask | number | No | Ask; single strategies. |
| min_days_to_expiration / max_days_to_expiration | number | No | Days to Expiration; single, spread, volatility strategies. |
| min_max_profit / max_max_profit | number | No | Max Profit; single, spread strategies. |
| min_delta_pop / max_delta_pop | number | No | Probability of Profit; single, spread strategies. Percentage points: 28.5 means 28.5%. |
| min_annualized_return / max_annualized_return | number | No | Annualized Return; single, spread strategies. Percentage points: 28.5 means 28.5%. |
| min_beta / max_beta | number | No | Beta; single, spread strategies. |
| min_price_to_earnings / max_price_to_earnings | number | No | Price/Earnings; single, spread strategies. |
| min_combined_delta / max_combined_delta | number | No | Combined Delta; spread, volatility, calendar strategies. Signed decimal delta. |
| min_long_leg_bid / max_long_leg_bid | number | No | Long Leg Bid; spread strategies. |
| min_long_leg_ask / max_long_leg_ask | number | No | Long Leg Ask; spread strategies. |
| min_long_leg_delta / max_long_leg_delta | number | No | Long Leg Delta; spread strategies. Signed decimal delta. |
| min_long_leg_iv / max_long_leg_iv | number | No | Long Leg IV; spread strategies. Percentage points: 28.5 means 28.5%. |
| min_long_leg_oi / max_long_leg_oi | number | No | Long Leg Open Interest; spread strategies. |
| min_short_leg_bid / max_short_leg_bid | number | No | Short Leg Bid; spread strategies. |
| min_short_leg_ask / max_short_leg_ask | number | No | Short Leg Ask; spread strategies. |
| min_short_leg_delta / max_short_leg_delta | number | No | Short Leg Delta; spread strategies. Signed decimal delta. |
| min_short_leg_iv / max_short_leg_iv | number | No | Short Leg IV; spread strategies. Percentage points: 28.5 means 28.5%. |
| min_short_leg_oi / max_short_leg_oi | number | No | Short Leg Open Interest; spread strategies. |
| min_call_bid / max_call_bid | number | No | Call Leg Bid; volatility strategies. |
| min_call_ask / max_call_ask | number | No | Call Leg Ask; volatility strategies. |
| min_call_delta / max_call_delta | number | No | Call Leg Delta; volatility strategies. Signed decimal delta. |
| min_call_iv / max_call_iv | number | No | Call Leg IV; volatility strategies. Percentage points: 28.5 means 28.5%. |
| min_call_oi / max_call_oi | number | No | Call Leg Open Interest; volatility strategies. |
| min_put_bid / max_put_bid | number | No | Put Leg Bid; volatility strategies. |
| min_put_ask / max_put_ask | number | No | Put Leg Ask; volatility strategies. |
| min_put_delta / max_put_delta | number | No | Put Leg Delta; volatility strategies. Signed decimal delta. |
| min_put_iv / max_put_iv | number | No | Put Leg IV; volatility strategies. Percentage points: 28.5 means 28.5%. |
| min_put_oi / max_put_oi | number | No | Put Leg Open Interest; volatility strategies. |
| min_near_leg_bid / max_near_leg_bid | number | No | Near Leg Bid; calendar strategies. |
| min_near_leg_ask / max_near_leg_ask | number | No | Near Leg Ask; calendar strategies. |
| min_near_leg_delta / max_near_leg_delta | number | No | Near Leg Delta; calendar strategies. Signed decimal delta. |
| min_near_leg_iv / max_near_leg_iv | number | No | Near Leg IV; calendar strategies. Percentage points: 28.5 means 28.5%. |
| min_near_leg_oi / max_near_leg_oi | number | No | Near Leg Open Interest; calendar strategies. |
| min_far_leg_bid / max_far_leg_bid | number | No | Far Leg Bid; calendar strategies. |
| min_far_leg_ask / max_far_leg_ask | number | No | Far Leg Ask; calendar strategies. |
| min_far_leg_delta / max_far_leg_delta | number | No | Far Leg Delta; calendar strategies. Signed decimal delta. |
| min_far_leg_iv / max_far_leg_iv | number | No | Far Leg IV; calendar strategies. Percentage points: 28.5 means 28.5%. |
| min_far_leg_oi / max_far_leg_oi | number | No | Far Leg Open Interest; calendar strategies. |
| min_long_strike / max_long_strike | number | No | Long Strike; spread strategies. |
| min_short_strike / max_short_strike | number | No | Short Strike; spread strategies. |
| min_call_strike / max_call_strike | number | No | Call Strike; volatility strategies. |
| min_put_strike / max_put_strike | number | No | Put Strike; volatility strategies. |
| min_spread_width / max_spread_width | number | No | Spread Width; spread strategies. |
| min_near_dte / max_near_dte | number | No | Near DTE; calendar strategies. |
| min_far_dte / max_far_dte | number | No | Far DTE; calendar strategies. |
| min_dte / max_dte, min_oi / max_oi, min_pe / max_pe, min_pop / max_pop, min_pl_percent / max_pl_percent | number | No | Compatibility aliases for days_to_expiration, open_interest, price_to_earnings, delta_pop, and pl; same strategy restrictions and units apply. |
| sector / industry / country / exchange / index | string | No | Comma-separated values to include |
| exclude_sector / exclude_industry / exclude_country / exclude_exchange / exclude_index | string | No | Comma-separated values to exclude |
| order_by | string | No | Response column used for sorting; defaults to score |
| order_direction | string | No | asc or desc; defaults to desc |
| page | integer | No | One-based page number; defaults to 1 |
| page_size | integer | No | Results per page; defaults to 50 and values above 500 are capped at 500 |
Response
Successful responses use JSON, with gzip when accepted by the client. Totals up to 1,000 are exact; larger totals are estimates. Continue paging while has_more is true, keeping filters and sorting unchanged.
{
"success": true,
"data": [
{
"ticker": "AAPL",
"option_id": "example-contract-id",
"strategy": "CC",
"expiration_date": "2026-07-17T00:00:00Z",
"strike": 210,
"put_call": "C",
"bid": 3.10,
"ask": 3.25,
"mark": 3.18,
"iv": 28.5,
"delta": 0.31,
"open_interest": 8400,
"volume": 1250,
"score": 92
}
],
"total": 1842,
"total_is_estimated": true,
"has_more": true,
"page": 1,
"page_size": 500
}| Fields | Description |
|---|---|
| ticker | Underlying symbol |
| option_id / full_contract_name | Contract identifiers |
| strategy / option_legs | Strategy code and multi-leg definition when applicable |
| expiration_date / days_to_expiration | Expiration timestamp and DTE |
| strike / put_call | Strike and call/put type |
| bid / ask / last / mark | Contract pricing |
| volume / open_interest | Contract activity and liquidity |
| iv / delta / gamma / theta / vega / rho | Implied volatility and Greeks |
| score / liquidity_percent | Option Screener ranking metrics |
| max_profit / max_loss / pl / delta_pop / annualized_return | Strategy risk and return metrics when applicable |
| stock_price / market_cap / beta / price_to_earnings | Underlying market and fundamental data |
| sector / industry / country / exchange / index | Underlying classifications |
Examples and Official Clients
The examples retrieve covered-call results for AAPL in expiration order.
curl --compressed \
-H "X-API-Key: optionscreener_live_YOUR_KEY" \
"https://option-screener.com/api/getOptionsData?strategy=CC&ticker=AAPL&page=1&page_size=500&order_by=expiration_date&order_direction=asc"Errors
Error responses use {"success":false,"error":"message"}.
| Status | Meaning | Description |
|---|---|---|
| 400 | Bad Request | A required parameter is missing or a supplied value is invalid |
| 401 | Unauthorized | The API key is missing or invalid |
| 403 | Forbidden | The API key is valid but its API entitlement is inactive |
| 429 | Too Many Requests | The 60-request rate limit was exceeded |
| 503 | Service Unavailable | Upstream data request failed or timed out; retry the same request |
| 500 | Internal Server Error | The request could not be completed by the service |
Ready to get started?
Generate your API key from the Account page and start querying screened data.
Get Your API Key