Option Trades
Filter the full option trades tape.
This endpoint returns the same data and supports the same filter params as on the unusualwhales website https://unusualwhales.com/live-options-flow.
This endpoint only returns data for the latest trading day. To retrieve historical option trades,
use the /api/option-trades/full-tape/:date endpoint to download the full market file for a trading day.
List parameters may be supplied using repeated bracket notation, for example
tags[]=ask_side&tags[]=bid_side. Unix timestamps may be supplied in seconds or milliseconds.
Pagination uses the older_than and newer_than cursors, which accept Unix seconds, Unix milliseconds
or ISO 8601 values. page and offset are not supported. limit defaults to 50 and has a maximum of
500. A cursor earlier than the latest trading day returns HTTP 400. Use
/api/option-trades/full-tape/{date} for older history.
The side-volume fields (ask_vol, bid_vol, mid_vol and no_side_vol) sum to volume.
multi_vol and stock_multi_vol are overlapping subsets of volume, not separate amounts to subtract.
On this REST endpoint, executed_at, nbbo_bid_time and nbbo_ask_time are ISO 8601 timestamps in UTC.
On the WebSocket option_trades channel, the same fields are Unix epoch timestamps in milliseconds.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
How many items to return. Default: 50. Max: 500. Min: 1.
1 <= x <= 50010
A comma separated list of tickers. To exclude certain tickers prefix the first ticker with a -.
"AAPL,INTC"
Option contracts to include.
An option contract in the OSI format.
Alias for option_contracts[].
An option contract in the OSI format.
The strike price of an option contract.
"150.0"
The option type to filter by if specified.
call, Call, put, Put The unix time in milliseconds or seconds at which no older results will be returned. Can be used with older_than to paginate by time. Also accepts an ISO date or RFC 3339 datetime (example: 2024-01-25).
"1_715_083_417"
The unix time in milliseconds or seconds at which no newer results will be returned. Can be used with newer_than to paginate by time. Also accepts an ISO date or RFC 3339 datetime (example: 2024-01-25).
"1_715_083_417"
Whether the option trade was canceled.
false
Boolean flag whether the transaction is a multi-leg transaction.
true
Only include contracts where the volume is greater than the open interest.
true
Exclude deep in-the-money contracts.
true
Only return trades that are at least 15 minutes old.
true
Exclude expired option contracts.
true
Whether to roll up related option transactions executed at the same time into a single transaction in the response. This allows filters to apply to their combined premium and size. For example, if one $25,000 order is reported as ten $2,500 transactions, it will only match min_premium=20000 when include_agg_trades=true.
true
Only return trades from the current trading day.
true
Filter out-of-the-money or in-the-money trades.
true
Filter opening or non-opening transactions.
true
Filter contracts by whether they expire on monthly OpEx Friday.
true
Filter by whether trade size exceeds open interest.
true
Options exchanges to include.
AMXO, ARCO, BATO, C2OX, EDGO, EMLD, GMNI, MCRY, MPRL, XBOX, XBXO, XCBO, XISX, XMIO, XNDQ, XPHO, MXOP, SPHR, MXTO, IEXO Exclude trades containing any of these tags.
ask_side, bid_side, mid_side, no_side, china, volatility, dividend, index, arbitrage An array of 1 or more expiry dates.
A single expiry date in ISO date format.
An array of one or more industries.
An array of 1 or more issue types.
A singular issue type.
Common Stock, ETF, Index, ADR An array of one or more market capitalization size categories.
A market capitalization size category.
micro, small, mid, large, big Trade report flags to include.
opening, closing, reopening, cross_trade, extended_hours, intermarket_sweep, trade_through_exempt, odd_lot, official_price_report, futures_floor, summary, printable, normal 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 Include trades containing any of these tags.
ask_side, bid_side, mid_side, no_side, china, volatility, dividend, index, arbitrage OPRA trade code of the executed transaction.
mlet, mlat, mlct, mlft, mesl, masl, mfsl, cbmo, tlet, tlct, tlft, tesl, tasl, tfsl, tlat, auto, isoi, late, mctp, open, opnl, oseq, reop, slai, slan, slci, slcn, slft The minimum ask percentage. Decimal proxy for percentage (0 to 1). Min: 0. Max: 1.
0 <= x <= 10.25
The maximum ask percentage. Decimal proxy for percentage (0 to 1). Min: 0. Max: 1.
0 <= x <= 10.75
The minimum bear percentage. Decimal proxy for percentage (0 to 1). Min: 0. Max: 1.
0 <= x <= 10.5
The maximum bear percentage. Decimal proxy for percentage (0 to 1). Min: 0. Max: 1.
0 <= x <= 10.9
The minimum bid percentage. Decimal proxy for percentage (0 to 1). Min: 0. Max: 1.
0 <= x <= 10.25
The maximum bid percentage. Decimal proxy for percentage (0 to 1). Min: 0. Max: 1.
0 <= x <= 10.75
The minimum bull percentage. Decimal proxy for percentage (0 to 1). Min: 0. Max: 1.
0 <= x <= 10.5
The maximum bull percentage. Decimal proxy for percentage (0 to 1). Min: 0. Max: 1.
0 <= x <= 10.9
The minimum skew. Decimal proxy for percentage (0 to 1). Min: 0. Max: 1.
0 <= x <= 10.3
The maximum skew. Decimal proxy for percentage (0 to 1). Min: 0. Max: 1.
0 <= x <= 10.7
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 days to expiry. Min: 0.
x >= 01
The maximum days to expiry. Min: 0.
x >= 03
The minimum days until the next earnings report.
5
The maximum days until the next earnings report.
30
The minimum open interest. Min: 0.
x >= 010000
The maximum open interest. Min: 0.
x >= 035000
The minimum volume on the option contract. Min: 0.
x >= 012300
The maximum volume on the option contract. Min: 0.
x >= 055600
Minimum trade size in contracts.
100
Maximum trade size in contracts.
100
Minimum option delta.
"abs(0.5)"
Maximum option delta.
"abs(0.5)"
Minimum option gamma.
"abs(0.05)"
Maximum option gamma.
"abs(0.05)"
Minimum implied volatility as a decimal.
"0.5"
Maximum implied volatility as a decimal.
"0.5"
Minimum option theta.
"abs(0.1)"
Maximum option theta.
"abs(0.1)"
The minimum OTM diff of a contract. Given a strike price of 120 and an underlying price of 98 the diff for a call option would equal to: (120 - 98) / 98 = 0.2245
The diff for a put option would equal to: -1 * (120 - 98) / 98 = -0.2245.
0.53
The maximum OTM diff of a contract. Given a strike price of 120 and an underlying price of 98 the diff for a call option would equal to: (120 - 98) / 98 = 0.2245
The diff for a put option would equal to: -1 * (120 - 98) / 98 = -0.2245.
1.34
The minimum marketcap. Min: 0.
x >= 01000000
The maximum marketcap. Min: 0.
x >= 0250000000
The minimum strike. Min: 0.
x >= 0120.5
The maximum strike. Min: 0.
x >= 01200
The minimum ratio of contract volume to contract open interest. If the open interest of a contract is zero, then this ratio is evaluated as if the open interest of the contract was one (to avoid divide by zero errors). For example, if you set this ratio to 10, then a contract with zero open interest and 7 volume will NOT be included in your results.
x >= 00.32
The maximum ratio of contract volume to contract open interest. If the open interest of a contract is zero, then this ratio is evaluated as if the open interest of the contract was one (to avoid divide by zero errors). For example, if you set this ratio to 50, then a contract with zero open interest and 75 volume will NOT be included in your results.
x >= 01.58
Minimum trade premium in dollars.
"25000"
Maximum trade premium in dollars.
"25000"
Minimum option trade price.
"5.25"
Maximum option trade price.
"5.25"
Minimum bid-ask spread percentage.
"0.1"
Maximum bid-ask spread percentage.
"0.1"
Minimum underlying price at execution.
"195.50"
Maximum underlying price at execution.
"195.50"
