Unusual Whales UnusualWhales API

Multi-Leg Option Trades

GET https://api.unusualwhales.com/api/option-trades/multi-leg

Request

Security: Bearer Auth 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 500

Response 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.

Example: 2026-07-17T14:31:02Z
id string

Unique strategy id (UUID).

Example: 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

Try It GET
Query Parameters

Request Sample
curl -X GET "https://api.unusualwhales.com/api/option-trades/multi-leg" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
Response Example 200
{
  "data": [
    {
      "max_loss": "string",
      "max_profit": "string",
      "min_dte": 0,
      "net_delta": "string",
      "net_theta": "string"
    }
  ]
}