Hottest Chains
A contract screener endpoint to screen the market for contracts by a variety of filter options.
For an example of what can be build with this endpoint check out the Hottest Contracts on UnusualWhales.
For real time streaming of the same data, subscribe to the contract_screener websocket channel, see https://api.unusualwhales.com/docs/websocket/contract-screener.
NOTE: Contracts with a volume of less than 200 are not being returned
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
A comma separated list of tickers. To exclude certain tickers prefix the first ticker with a -.
"AAPL,INTC"
An array of 1 or more sectors.
A singular sector.
Basic Materials, Communication Services, Consumer Cyclical, Consumer Defensive, Energy, Financial Services, Healthcare, Industrials, Real Estate, Technology, Utilities Convenience preset that returns only "unusual" contracts by applying the contract-expressible subset of the live options flow criteria: volume>OI, OTM, DTE≤60, ask-side≥50%, premium≥$10k, issue types ADR/Common Stock/ETF. These are applied as defaults, so any of those filters you pass explicitly (e.g. max_dte=30, min_premium=25000) overrides the preset.
The minimum stock price.
The maximum stock price.
Only include contracts which are currently out of the money.
Only include contracts which are currently in the money. Calls are ITM when strike is below the underlying price; puts are ITM when strike is above the underlying price.
When set to true, all tickers that trade ex-dividend today will be excluded. This is useful since on the day prior to the ex-dividend date, there will be above-average ITM call flow due to dividend arbitrage traders.
The minimum days to expiry.
The maximum days to expiry.
The minimum OTM diff of a contract.
The maximum OTM diff of a contract.
The minimum strike.
The maximum strike.
The option type to filter by if specified.
call, Call, put, Put An array of 1 or more expiry dates.
A single expiry date in ISO date format.
The minimum marketcap.
The maximum marketcap.
The minimum volume on the option contract. Min: 0.
x >= 012300
The maximum volume on the option contract. Min: 0.
x >= 055600
The minimum 30-day average stock volume for the underlying ticker.
The maximum 30-day average stock volume for the underlying ticker.
The minimum 30-day average options contract volume for the underlying ticker.
The maximum 30-day average options contract volume for the underlying ticker.
The minimum multi leg volume to contract volume ratio.
The maximum multi leg volume to contract volume ratio.
The minimum floor volume to contract volume ratio.
The maximum floor volume to contract volume ratio.
The minimum % price change of the contract to the previous day. Acceptable range: -1.00 to +inf.
The maximum % price change of the contract to the previous day. Acceptable range: -1.00 to +inf.
The minimum intraday price change of the contract from open till now.
The maximum intraday price change for the contract since market open.
The minimum premium on that contract.
The maximum premium on that contract.
The minimum average price of the contract.
The maximum average price of the contract.
The minimum contract volume to open interest ratio.
The maximum contract volume to open interest ratio.
The minimum open interest on that contract.
The maximum open interest on that contract.
The minimum floor volume on that contract.
The maximum floor volume on that contract.
Only include contracts where the volume is greater than the open interest.
An array of 1 or more issue types.
A singular issue type.
Common Stock, ETF, Index, ADR The minimum ask percentage of volume that transacted on the ask.
The maximum ask percentage of volume that transacted on the ask.
The minimum bid percentage of volume that transacted on the bid.
The maximum bid percentage of volume that transacted on the bid.
The minimum skew percentage. Setting this to 0.8 would return all contracts where either 80% of vol transacted on the ask or bid side
The maximum skew percentage.Setting this to 0.8 would return all contracts where max 80% of vol transacted on the ask or bid side
The minimum bull percentage.
The maximum bull percentage.
The minimum bear percentage.
The maximum bear percentage.
The minimum percentage of days over the last 7 days where the contract traded primarily on the bid side
The maximum percentage of days over the last 7 days where the contract traded primarily on the bid side
The minimum percentage of days over the last 7 days where the contract traded primarily on the ask side
The maximum percentage of days over the last 7 days where the contract traded primarily on the ask side
The minimum days of consecutive trading days where the open interest increased
The maximum days of consecutive trading days where the open interest increased
The minimum days of consecutive days where volume was greater than open interest.
The maximum days of consecutive days where volume was greater than open interest.
The minimum implied volatility percentage.
The maximum implied volatility percentage.
The minimum delta. Acceptable range: -1.00 to +1.00.
The maximum delta. Acceptable range: -1.00 to +1.00.
The minimum gamma. Acceptable range: 0.00 to +inf.
The maximum gamma. Acceptable range: 0.00 to +inf.
The minimum theta. Acceptable range: -inf to 0.00.
The maximum theta. Acceptable range: -inf to 0.00.
The minimum vega. Acceptable range: 0.00 to +inf.
The maximum vega. Acceptable range: 0.00 to +inf.
The minimum return on capital percentage (ROC).
The maximum return on capital percentage (ROC).
The minimum open interest change percentage. Acceptable range: -1.00 to +inf.
The maximum open interest change percentage. Acceptable range: -1.00 to +inf.
The minimum open interest change as an absolute change.
The maximum open interest change as an absolute change.
The minimum ratio of contract volume to total option volume of the underlying. Acceptable range: 0.00 to 1.00.
The maximum ratio of contract volume to total option volume of the underlying. Acceptable range: 0.00 to 1.00.
The minimum sweep volume ratio. Acceptable range: 0.00 to 1.00.
The maximum sweep volume ratio. Acceptable range: 0.00 to 1.00.
The minimum percentage change of the current price from todays low. Acceptable range: -1.00 to +inf.
The maximum percentage change of the current price from todays low. Acceptable range: -1.00 to +inf.
The minimum percentage change of the current price from todays high. Acceptable range: -1.00 to +inf.
The maximum percentage change of the current price from todays high. Acceptable range: -1.00 to +inf.
The minimum days until the next earnings report.
5
The maximum days until the next earnings report.
30
Minimum value of (contract_expiry_date - underlying_next_earnings_date) in days. Negative = contract expires BEFORE earnings; zero = same day; positive = AFTER earnings. Use together with max_days_between_expiry_and_earnings to target a window around the next earnings announcement. Examples: to exclude contracts that expire after the next earnings, set max_days_between_expiry_and_earnings=-1. To target contracts that expire the same week as (and after) earnings, set min_days_between_expiry_and_earnings=1&max_days_between_expiry_and_earnings=6. Contracts whose underlying has no known next earnings date are excluded whenever this filter is used.
1
Maximum value of (contract_expiry_date - underlying_next_earnings_date) in days. Negative = contract expires BEFORE earnings; zero = same day; positive = AFTER earnings. Use together with min_days_between_expiry_and_earnings to target a window around the next earnings announcement. Examples: to exclude contracts that expire after the next earnings, set max_days_between_expiry_and_earnings=-1. To target contracts that expire the same week as (and after) earnings, set min_days_between_expiry_and_earnings=1&max_days_between_expiry_and_earnings=6. Contracts whose underlying has no known next earnings date are excluded whenever this filter is used.
6
The minimum number of transactions.
The maximum number of transactions.
The minimum contract price (not underlying price).
The maximum contract price (not underlying price).
The field to order by.
bid_ask_vol, bull_bear_vol, contract_pricing, daily_perc_change, diff, dte, earnings, expires, expiry, floor_volume, floor_volume_ratio, from_high, from_low, iv, multileg_volume, open_interest, premium, spread, stock_price, tape_time, ticker, total_multileg_volume_ratio, trades, volume, volume_oi_ratio, volume_ticker_vol_ratio "volume"
Whether to sort descending or ascending. Descending by default.
desc, asc "asc"
How many items to return. Default: 50. Max: 250. Min: 1.
1 <= x <= 25010
Page number (use with limit). Starts on page 0.
1
A trading date in the format of YYYY-MM-DD. This is optional and by default the last trading date.
"2024-01-18T00:00:00.000Z"
Return only new option contracts
Return only monthly option expirations
Response
The amount of volume that happened on the ask side.
Ask side is defined as (ask + bid) / 2 < fill price.
119403
The volume weighted average fill price of the contract.
"1.0465802437910297887119234370"
The amount of volume that happened on the bid side.
Bid side is defined as (ask + bid) / 2 > fill price.
122789
The previous trading day's contract price.
"1.29"
The last fill on the contract.
"0.03"
The amount of cross volume. Cross volume consists of all transaction that have the cross trade code.
0
The time when the earnings will be released.
unknown, afterhours, premarket "premarket"
The contract expiry date in ISO format.
"2023-12-22T00:00:00.000Z"
The amount of floor volume. Floor volume consists of all transaction that have the floor trade code.
142
The highest fill on that contract.
"2.95"
The last time there was a transaction for the given contract as UTC timestamp.
"2023-09-08T17:45:32.000Z"
The lowest fill on that contract.
"0.02"
The amount of volume that happened in the middle of the ask and bid.
Mid is defined as (ask + bid) / 2 == fill price.
22707
The amount of volume that happened as part of a multileg trade with another contract. This can be spreads/rolls/condors/butterflies and more.
7486
The next earnings date of the ticker. Null if either unknown as of now or if the ticker does not have any earnings such as an ETF
"2023-10-26T00:00:00.000Z"
The amount of volume that happened on no identifiable side. This can be late, out of sequence and/or cross transactions.
0
The first fill on that contract.
"0.92"
The open interest for the contract.
18680
The option symbol of the contract.
You can use the following regex to extract underlying ticker, option type, expiry & strike:
^(?<symbol>[\w]*)(?<expiry>(\d{2})(\d{2})(\d{2}))(?<type>[PC])(?<strike>\d{8})$
Keep in mind that the strike needs to be multiplied by 1,000.
The option type of the contract.
call, put "call"
The total option premium.
"27723806.00"
The financial sector of the ticker. Empty if unknown or not applicable such as ETF/Index.
Basic Materials, Communication Services, Consumer Cyclical, Consumer Defensive, Energy, Financial Services, Healthcare, Industrials, Real Estate, Technology, Utilities "Technology"
The amount of volume that happened as part of a stock transaction and possibly other option contracts. This can be covered calls and more.
52
The close stock price of the ticker.
"182.91"
The contract strike.
"375"
The amount of sweep volume. Sweep volume consists of all transaction that have the sweep trade code.
18260
The total amount of options volume for the given ticker.
The total count of changes to the NBBO ask during that day's trading session.
165
The total count of changes to the NBBO bid during that day's trading session.
28
The amount of transaction for this contract.
39690
The contract volume.
264899
