Multi-Leg Option Trades
https://api.unusualwhales.com/api/option-trades/multi-leg
Request
Authorization: Bearer <token>
Query Parameters
limit
integer
optional
Rows per page (default 50, max 500).
offset
integer
optional
Rows to skip for pagination (max 500).
ticker_symbol
string
optional
Restrict to a single underlying ticker.
newer_than
string
optional
Only strategies executed at/after this UTC timestamp (ISO-8601). Defaults to last market open. The query range is limited to 24 hours.
older_than
string
optional
Only strategies executed at/before this UTC timestamp (ISO-8601). The query range is limited to 24 hours.
strategy
array[string]
optional
Filter by detected strategy name(s). Repeatable array param (e.g. `strategy[]=iron_condor&strategy[]=call_vertical_spread`).
enum: call_butterfly_spread, call_calendar, call_condor, call_diagonal_spread, call_ratio_spread, call_vertical_spread, iron_butterfly, iron_condor, jade_lizard, other, put_butterfly_spread, put_calendar, put_condor, put_diagonal_spread, put_frontspread, put_vertical_spread, risk_reversal, straddle, strangle, synthetic
exclude_other
boolean
optional
Exclude strategies classified as `other` (unrecognized structures).
direction
array[string]
optional
Filter by direction (long/short). Repeatable array param.
net_side
array[string]
optional
Filter by the strategy's net aggressor side (bid/ask/mid). Repeatable array param.
enum: bid, ask, mid
min_size
integer
optional
Minimum total contracts across legs.
max_size
integer
optional
Maximum total contracts across legs.
min_premium
string
optional
Minimum net premium (supports abs()).
max_premium
string
optional
Maximum net premium (supports abs()).
min_dte
integer
optional
Minimum days-to-expiry.
max_dte
integer
optional
Maximum days-to-expiry.
min_leg_count
integer
optional
Minimum number of legs.
max_leg_count
integer
optional
Maximum number of legs.
all_otm
boolean
optional
Only strategies where every leg is out-of-the-money.
issue_types
array[string]
optional
Filter by underlying issue type(s), e.g. Common Stock, ETF. Repeatable array param.
sectors
array[string]
optional
Filter by underlying sector(s). Repeatable array param.
Responses
200 422 500Response Body 200 OK
all_opening_legs
boolean
Every leg is opening (not closing).
all_otm
boolean
Every leg is out-of-the-money.
bid_ask_spread
string
Aggregate bid/ask spread.
breakevens
array[string]
Breakeven price(s) at expiry.
code
string
Internal classification code.
diff_expirations
boolean
Legs span more than one expiry.
diff_strikes
boolean
Legs span more than one strike.
diff_types
boolean
Legs mix calls and puts.
direction
string
Strategy direction, e.g. long/short.
executed_at
string
UTC timestamp of the strategy execution.
2026-07-17T14:31:02Z
id
string
Unique strategy id (UUID).
0197f...c3
ivs
array[string]
Implied volatility per leg.
leg_count
integer
Number of distinct legs.
max_dte
integer
Maximum days-to-expiry across legs.
max_loss
string
Max theoretical loss (null if unbounded).
max_profit
string
Max theoretical profit (null if unbounded).
max_strike
string
Highest leg strike.
min_dte
integer
Minimum days-to-expiry across legs.
min_strike
string
Lowest leg strike.
net_ask
string
Net NBBO ask of the classified spread (buy legs at ask, sell legs at bid).
net_bid
string
Net NBBO bid of the classified spread (buy legs at bid, sell legs at ask).
net_delta
string
Net delta across legs.
net_premium
string
Net premium (debit/credit).
net_price
string
Fill / net execution price of the strategy (debit positive, credit negative).
net_side
string
Net aggressor side of the whole strategy vs its net NBBO: bid, ask, or mid.
... and 9 more fields
curl -X GET "https://api.unusualwhales.com/api/option-trades/multi-leg" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
{
"data": [
{
"max_loss": "string",
"max_profit": "string",
"min_dte": 0,
"net_delta": "string",
"net_theta": "string"
}
]
}