Screen option contracts with multi-factor filters
POST/v1/contracts/screen

Screen option contracts with multi-factor filters

Screen option contracts matching custom filter predicates. Request body page and pageSize take precedence over query parameters; query parameters apply only when body values are <= 0. Results are silently capped at 100 contracts (not plan-clamped). Default sort order is option_key ASC (or expiration ASC, strike ASC, option_key ASC when a single symbol is pinned); specifying an explicit sort filter (e.g. contractScore desc) is recommended.

Endpoint Usage & Plan Rules

Plan Access
Included in Basic
Active subscription
Rate Limit
One request per call; no daily quota
Result Clamping
Not Clamped
Full response returned

Parameters

Optional Parameters

NameTypeLocationDescription
pageintegerqueryPage number (1-based; body value takes precedence if > 0; query applies only when body page <= 0).
pageSizeintegerqueryResults per page (1 to 100, default 10; body value takes precedence if > 0; query applies only when body pageSize <= 0; values > 100 capped silently).

Request Body

Screener filter predicates, sorting criteria, and pagination parameters.

json
{
  "type": "put",
  "deltaMin": -0.35,
  "deltaMax": -0.2,
  "dteMin": 30,
  "dteMax": 45,
  "openInterestMin": 100,
  "filters": [
    {
      "field": "put",
      "operation": "strikeFilter",
      "value": 0.05
    },
    {
      "field": "contractScore",
      "operation": "sort",
      "value": "desc"
    }
  ],
  "pageSize": 10
}

Request Examples

curl -s -X POST -H "Authorization: Bearer $WSO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"symbols":["AAPL"],"deltaMax":0.35,"dteMax":45}' \
  "https://api.wheelstrategyoptions.com/v1/contracts/screen"

Try it

POST/v1/contracts/screen
Included in Basic

Requests run against the live API with your key and count against its rate limits. The key is sent only to this site. Sign in to get a key

Add your API key to send.
Response

Send a request to see the live response, its status, timing, and rate-limit headers.

Response Attributes (200 OK)

FieldTypeNullableDescription
countintegerNoNumber of matching contracts (capped at 1,000; -1 if count timed out).
countCappedbooleanNoTrue if matching contracts reached the maximum count cap of 1,000 (indicating count is a lower-bound ceiling rather than the exact total count; use hasMore to check if subsequent pages exist).
hasMorebooleanNoTrue if additional candidate pages are available beyond the current page.
resultsobject[]NoList of matching option contract results.

Response Example

json
{
  "count": 1000,
  "countCapped": true,
  "hasMore": true,
  "results": [
    {
      "symbol": "A",
      "type": "call",
      "expiration": "2026-10-16T00:00:00Z",
      "strike": 140,
      "yieldPercent": 16.86,
      "bidPrice": 23.6,
      "volume": 3,
      "openInterest": 44,
      "delta": 0.97663,
      "annualizedReturn": 876.8803,
      "lastUpdatedDate": "2026-10-09T19:33:52.362Z",
      "optionKey": "A261016C00140000",
      "probability": 0.02406497,
      "yesterdayMark": 29.3,
      "thirtyDayAverageVolume": 2,
      "thirtyDayAverageIV": 0.44,
      "thirtyDayAveragePremium": 2130,
      "premiumChange1dPct": null,
      "volumeZScore30d": 0.19,
      "openInterestZScore30d": -2.98,
      "volumeStdDev30d": 3.86,
      "openInterestStdDev30d": 22.84,
      "volumeHistorySamples30d": 22,
      "openInterestHistorySamples30d": 22,
      "contractScore": 0.3483,
      "premium": 2360,
      "lastPrice": 16.65,
      "lastTradeDate": "2026-09-18T19:14:26.111Z",
      "askPrice": 26.6,
      "stockPrice": 171.031311035156,
      "impliedVolatility": 75.2,
      "vega": 0.01306,
      "gamma": 0.00308,
      "theta": -0.08217,
      "earningsDate": "2026-11-23T00:00:00Z",
      "marketCap": 47302000000,
      "industry": "Diagnostics & Research",
      "sector": "Healthcare",
      "peRatio": 33.0927,
      "rating": "B+",
      "consensus": "Buy",
      "overallScore": 3,
      "discountedCashFlowScore": 3,
      "returnOnEquityScore": 5,
      "returnOnAssetsScore": 5,
      "debtToEquityScore": 1,
      "priceToEarningsScore": 2,
      "priceToBookScore": 2,
      "rsi": 59.197136081869125,
      "stockIV": 32.9,
      "ivr": 59.0747,
      "lowestStockIV": 16.3,
      "highestStockIV": 44.4,
      "lowestStockIVDate": "2026-07-29",
      "highestStockIVDate": "2026-05-27",
      "fiftyTwoWeekLow": 108.35,
      "fiftyTwoWeekHigh": 177.05,
      "fiftyDayAverage": 152.5316,
      "twoHundredDayAverage": 132.8269,
      "dividendYield": 0.602374,
      "nextDividendDate": "2027-01-06",
      "nextDividendIsEstimated": true,
      "nextDividendPaymentDate": null,
      "nextDividendAmount": 0.255,
      "dividendFrequency": "Quarterly",
      "logoUrl": "https://images.financialmodelingprep.com/symbol/A.png"
    },
    {
      "symbol": "A",
      "type": "call",
      "expiration": "2026-10-16T00:00:00Z",
      "strike": 145,
      "yieldPercent": 12.83,
      "bidPrice": 18.6,
      "volume": 1,
      "openInterest": 18,
      "delta": 0.97342,
      "annualizedReturn": 667.282,
      "lastUpdatedDate": "2026-10-09T19:33:33.711Z",
      "optionKey": "A261016C00145000",
      "probability": 0.02754515,
      "yesterdayMark": 24.3,
      "thirtyDayAverageVolume": 2,
      "thirtyDayAverageIV": 0.25,
      "thirtyDayAveragePremium": 1713.64,
      "premiumChange1dPct": null,
      "volumeZScore30d": -0.23,
      "openInterestZScore30d": -2.27,
      "volumeStdDev30d": 5.22,
      "openInterestStdDev30d": 9.44,
      "volumeHistorySamples30d": 22,
      "openInterestHistorySamples30d": 22,
      "contractScore": 0.3487,
      "premium": 1860,
      "lastPrice": 12.33,
      "lastTradeDate": "2026-09-18T13:53:26.906Z",
      "askPrice": 22,
      "stockPrice": 171.031311035156,
      "impliedVolatility": 63.7,
      "vega": 0.01456,
      "gamma": 0.00405,
      "theta": -0.07878,
      "earningsDate": "2026-11-23T00:00:00Z",
      "marketCap": 47302000000,
      "industry": "Diagnostics & Research",
      "sector": "Healthcare",
      "peRatio": 33.0927,
      "rating": "B+",
      "consensus": "Buy",
      "overallScore": 3,
      "discountedCashFlowScore": 3,
      "returnOnEquityScore": 5,
      "returnOnAssetsScore": 5,
      "debtToEquityScore": 1,
      "priceToEarningsScore": 2,
      "priceToBookScore": 2,
      "rsi": 59.197136081869125,
      "stockIV": 32.9,
      "ivr": 59.0747,
      "lowestStockIV": 16.3,
      "highestStockIV": 44.4,
      "lowestStockIVDate": "2026-07-29",
      "highestStockIVDate": "2026-05-27",
      "fiftyTwoWeekLow": 108.35,
      "fiftyTwoWeekHigh": 177.05,
      "fiftyDayAverage": 152.5316,
      "twoHundredDayAverage": 132.8269,
      "dividendYield": 0.602374,
      "nextDividendDate": "2027-01-06",
      "nextDividendIsEstimated": true,
      "nextDividendPaymentDate": null,
      "nextDividendAmount": 0.255,
      "dividendFrequency": "Quarterly",
      "logoUrl": "https://images.financialmodelingprep.com/symbol/A.png"
    },
    {
      "symbol": "A",
      "type": "call",
      "expiration": "2026-10-16T00:00:00Z",
      "strike": 150,
      "yieldPercent": 9.13,
      "bidPrice": 13.7,
      "volume": 2,
      "openInterest": 105,
      "delta": 0.96902,
      "annualizedReturn": 474.8468,
      "lastUpdatedDate": "2026-10-09T19:32:09.733Z",
      "optionKey": "A261016C00150000",
      "probability": 0.0323634,
      "yesterdayMark": 19.2,
      "thirtyDayAverageVolume": 6,
      "thirtyDayAverageIV": 0.39,
      "thirtyDayAveragePremium": 1325.23,
      "premiumChange1dPct": null,
      "volumeZScore30d": -0.73,
      "openInterestZScore30d": 0.5,
      "volumeStdDev30d": 6.1,
      "openInterestStdDev30d": 6.89,
      "volumeHistorySamples30d": 22,
      "openInterestHistorySamples30d": 22,
      "contractScore": 0.3898,
      "premium": 1370,
      "lastPrice": 8.67,
      "lastTradeDate": "2026-09-18T17:43:18.253Z",
      "askPrice": 16.8,
      "stockPrice": 171.031311035156,
      "impliedVolatility": 52.42,
      "vega": 0.01654,
      "gamma": 0.0056,
      "theta": -0.07497,
      "earningsDate": "2026-11-23T00:00:00Z",
      "marketCap": 47302000000,
      "industry": "Diagnostics & Research",
      "sector": "Healthcare",
      "peRatio": 33.0927,
      "rating": "B+",
      "consensus": "Buy",
      "overallScore": 3,
      "discountedCashFlowScore": 3,
      "returnOnEquityScore": 5,
      "returnOnAssetsScore": 5,
      "debtToEquityScore": 1,
      "priceToEarningsScore": 2,
      "priceToBookScore": 2,
      "rsi": 59.197136081869125,
      "stockIV": 32.9,
      "ivr": 59.0747,
      "lowestStockIV": 16.3,
      "highestStockIV": 44.4,
      "lowestStockIVDate": "2026-07-29",
      "highestStockIVDate": "2026-05-27",
      "fiftyTwoWeekLow": 108.35,
      "fiftyTwoWeekHigh": 177.05,
      "fiftyDayAverage": 152.5316,
      "twoHundredDayAverage": 132.8269,
      "dividendYield": 0.602374,
      "nextDividendDate": "2027-01-06",
      "nextDividendIsEstimated": true,
      "nextDividendPaymentDate": null,
      "nextDividendAmount": 0.255,
      "dividendFrequency": "Quarterly",
      "logoUrl": "https://images.financialmodelingprep.com/symbol/A.png"
    }
  ]
}

Error Responses

StatusDescription
400Bad Request. The request body, query parameters, or path values violated validation constraints.
401Unauthorized. Missing, malformed, or invalid API key credential.
403Forbidden. Rejection reasons: `subscription_required`, `subscription_inactive`, `trial_ended`, `plan_upgrade_required` (with `required_plan`), `wrong_credential_type`, `origin_forbidden` (origin authentication failed).
404Not Found. Requested resource, ticker symbol, or option contract does not exist.
405Method Not Allowed. Returned with an `Allow` header when an unsupported HTTP method is used. Error code: `method_not_allowed`. (HEAD is served on all GET routes and counts against the rate limit like GET.)
429Too Many Requests. Rejection reasons: `rate_limited` (per-minute limit), `too_many_concurrent_requests` (in-flight cap), `too_many_auth_failures`.
500Internal Server Error. Unhandled internal server or database error.
503Service Unavailable. Backing database, cache, or external provider connection unavailable.
Get filtered option chain matrixGet earnings calendar events