API Documentation

Programmatic access to options screening data across 14 strategies and thousands of contracts.

API access requires a premium subscription.

Authentication

All API requests require an API key passed via the X-API-Key header. Generate a key from your Account page.

X-API-Key: optionscreener_live_YOUR_KEY

Base URL

https://option-screener.com/api

Endpoints

GET/api/getOptionsData

Retrieve screened options contracts for a given strategy, with optional filters, sorting, and pagination.

Strategies

Pass one of the following strategy codes as the strategy parameter.

CodeStrategyCategory
CCCovered CallWheel
CSPCash-Secured PutWheel
LCLong CallLong
LPLong PutLong
CDSCall Debit SpreadSpreads
CCSCall Credit SpreadSpreads
PDSPut Debit SpreadSpreads
PCSPut Credit SpreadSpreads
LSTRADLong StraddleVolatility
LSTRANGLELong StrangleVolatility
LCCSLong Call CalendarCalendar
LPCSLong Put CalendarCalendar
SCCSShort Call CalendarCalendar
SPCSShort Put CalendarCalendar
LEAPSLEAPSLEAPS

Parameters

All parameters are passed as query string parameters. Only strategy is required.

NameTypeRequiredDescription
strategystringYesStrategy code. One of: CC, CSP, LC, LP, CDS, CCS, PDS, PCS, LSTRAD, LSTRANGLE, LCCS, LPCS, SCCS, SPCS, LEAPS
searchstringNoFilter by ticker symbol (case-insensitive partial match)
min_scorenumberNoMinimum composite score
max_scorenumberNoMaximum composite score
min_deltanumberNoMinimum delta
max_deltanumberNoMaximum delta
min_dtenumberNoMinimum days to expiration
max_dtenumberNoMaximum days to expiration
min_stock_pricenumberNoMinimum underlying stock price
max_stock_pricenumberNoMaximum underlying stock price
min_strikenumberNoMinimum strike price
max_strikenumberNoMaximum strike price
min_ivnumberNoMinimum implied volatility
max_ivnumberNoMaximum implied volatility
min_volumenumberNoMinimum contract volume
max_volumenumberNoMaximum contract volume
min_oinumberNoMinimum open interest
max_oinumberNoMaximum open interest
min_market_capnumberNoMinimum market cap (in dollars)
max_market_capnumberNoMaximum market cap (in dollars)
min_betanumberNoMinimum beta
max_betanumberNoMaximum beta
min_penumberNoMinimum P/E ratio
max_penumberNoMaximum P/E ratio
min_annualized_returnnumberNoMinimum annualized return
max_annualized_returnnumberNoMaximum annualized return
min_popnumberNoMinimum probability of profit
max_popnumberNoMaximum probability of profit
min_max_profitnumberNoMinimum max profit
max_max_profitnumberNoMaximum max profit
min_max_lossnumberNoMinimum max loss
max_max_lossnumberNoMaximum max loss
min_plnumberNoMinimum P/L percent
max_plnumberNoMaximum P/L percent
min_pl_percentnumberNoLegacy alias for min_pl
max_pl_percentnumberNoLegacy alias for max_pl
sectorstringNoFilter by sector (comma-separated for multiple)
industrystringNoFilter by industry (comma-separated for multiple)
countrystringNoFilter by country (comma-separated for multiple)
exchangestringNoFilter by exchange (comma-separated for multiple)
indexstringNoFilter by index membership (comma-separated for multiple)
exclude_sectorstringNoExclude sectors (comma-separated)
exclude_industrystringNoExclude industries (comma-separated)
exclude_countrystringNoExclude countries (comma-separated)
exclude_exchangestringNoExclude exchanges (comma-separated)
exclude_indexstringNoExclude index memberships (comma-separated)
order_bystringNoColumn to sort by (default: score)
order_directionstringNoSort direction: asc or desc (default: desc)
pagenumberNoPage number (default: 1)
page_sizenumberNoResults per page, max 500 (default: 50)

Response

All successful responses return a JSON envelope with paginated results. The response is gzip-compressed.

{
  "success": true,
  "data": [
    {
      "ticker": "AAPL",
      "score": 92.5,
      "strike": 195,
      "stock_price": 198.50,
      "delta": 0.30,
      "days_to_expiration": 21,
      "implied_volatility": 0.28,
      "annualized_return": 18.4,
      "volume": 1250,
      "open_interest": 8400,
      "market_cap": 3050000000000,
      "sector": "Technology",
      "industry": "Consumer Electronics",
      ...
    },
    ...
  ],
  "total": 1842,
  "page": 1,
  "page_size": 25
}

Code Examples

Call the REST API directly from any language. All examples fetch covered calls sorted by score.

curl --compressed \
  -H "X-API-Key: optionscreener_live_YOUR_KEY" \
  "https://option-screener.com/api/getOptionsData?strategy=CC&min_score=80&order_by=score&order_direction=desc&page=1&page_size=25"

Error Codes

Error responses return a JSON object with success: false and an error message.

{ "success": false, "error": "Invalid or missing API key" }
CodeMessageDescription
400Bad RequestMissing or invalid parameters (e.g. missing strategy, invalid strategy code)
401UnauthorizedMissing or invalid API key
403ForbiddenAPI key is valid but does not have access (e.g. expired subscription)
500Internal Server ErrorSomething went wrong on our end. Try again later.

Ready to get started?

Generate your API key from the Account page and start querying in seconds.

Get Your API Key