Unusual Whales API - Market endpoints (non-Tide)

The MarketController surfaces the Tide family (uw-api-tide) plus eight more endpoints that don’t fit cleanly into the flow-regime shape. This page documents those eight, organized by L1 use and L3 filing.

1. Base contract

PropertyValue
Base URLhttps://api.unusualwhales.com
AuthAuthorization: Bearer <token> header
Response envelope{ "data": [ ... ] }
Status codes200, 422, 500

2. Endpoint matrix

#PathPurposeLayer
1GET /api/market/top-net-impactRanked tickers by net call-put premiumL1 (load-bearing)
2GET /api/market/economic-calendarForward macro release calendarL1 (calendar gate)
3GET /api/market/correlationsPairwise correlations among supplied tickersL1 (regime check)
4GET /api/market/oi-changeTop market-wide OI changes per option contractL1 (positioning shifts)
5GET /api/market/total-options-volumeMarket-wide aggregate call/put volume historyL1 (macro context)
6GET /api/market/sector-etfsSector-to-ETF map with current metricsL1 (reference)
7GET /api/market/fda-calendarForward FDA drug approval datesL3
8GET /api/market/insider-buy-sellsMarket-wide insider buy/sell aggregateL3

3. GET /api/market/top-net-impact - L1 load-bearing

Ranked tickers by net_premium = net_call_premium - net_put_premium.

Query parameters:

ParamTypeRequiredDefaultRange
datedatenolast trading date-
issue_types[]arraynoallCommon Stock, ETF, Index, ADR
limitintno201 to 100

Response per record:

{ "ticker": "SPY", "net_premium": 2500000.0 }

Sorted by net_premium descending. Negative impacts (net puts) at the bottom.

Use in MK3 (L1): find the tickers driving today’s tape. Compare the top-10 from this endpoint with SPY’s top-25 weights (from uw-api-etfs /holdings). If 4+ of SPY’s top-25 are in the top-10 net-impact, SPY’s flow is being driven by alignment of its biggest constituents - high-conviction direction. If the top-10 net-impact is dominated by names not in SPY’s top-25, SPY may be along for the ride passively.

Pair with issue_types=[ETF] to get the top ETF-level flow movers (SPY, QQQ, IWM, sectors).

4. GET /api/market/economic-calendar - L1 calendar gate

The forward macro release calendar flagged as missing in uw-api-economy. The /api/economy/{indicator} endpoint gives historical series only; THIS endpoint gives the forward dates.

No documented parameters (might support date_from / date_to on a real fetch).

Response per event:

FieldTypeDescription
eventstringE.g. "Consumer sentiment (final)", "PCE index"
timeISO 8601 (UTC)Event time
forecaststring / nullConsensus expectation
prevstringPrevious reading
reported_periodstringReference period (e.g. "December")
typestringE.g. "report"

Use in MK3 (L1): the day-selection gate. Pull at session start. For 0DTE SPY:

  • CPI / PPI / NFP / unemployment / retail-sales prints at 08:30 ET bias L1 to flat-into-print or different sizing.
  • FOMC at 14:00 ET = full L1 flat-pre + small-size-post regime.
  • Empty calendar = normal L1 cadence.

Combine with uw-api-alerts noti_type=economic_release for real-time confirmation that the print actually dropped.

5. GET /api/market/correlations - L1 regime check

Pairwise correlations between supplied tickers over a timeframe.

Query parameters:

ParamTypeRequiredDefaultNotes
tickersstringyes-Comma-separated; - prefix to exclude
intervalstringno1YYTD, 1D-2D, 1W-2W, 1M-2M, 1Y-2Y
start_datedateno-Overrides interval
end_datedatenotodayUsed with start_date

Response per pair:

FieldTypeDescription
fststringFirst ticker
sndstringSecond ticker
correlationnumberPearson coefficient (-1 to 1)
min_dateISO dateRange start
max_dateISO dateRange end
rowsintData points used

For N tickers, returns N*(N-1)/2 pairs (upper triangle).

Use in MK3 (L1): session-start regime check. Pull rolling 1M correlations of SPY’s top-7 mag-cap constituents (AAPL, MSFT, NVDA, AMZN, META, GOOGL, GOOG). Average pairwise correlation is the dispersion regime feature - high (close to 1) = mega-caps move together = SPY drives off them; low = internal rotation = SPY moves are smoothed by dispersion. Different setups in each regime.

6. GET /api/market/oi-change - L1 positioning shifts

Top market-wide OI changes per option contract day-over-day.

Query parameters:

ParamTypeRequiredDefaultRange
datedatenolast trading date-
limitintno1001 to 200
orderenumnodescdesc or asc

Response per record (key fields):

FieldTypeDescription
option_symbolstringOCC option symbol
underlying_symbolstringUnderlying equity
curr_oi / last_oiintToday’s vs prior OI
oi_changedecimal% change
oi_diff_plainintAbsolute change
avg_price, volume, tradesdecimal/intToday’s activity
last_bid, last_ask, last_filldecimalLast day’s quotes
prev_*_volume (bid/ask/mid/neutral/multi_leg/stock_multi_leg)intPrior-day volume breakdown
prev_total_premiumdecimalPrior total premium
percentage_of_totaldecimalShare of total market OI changes
rnkintRanking position

Use in MK3 (L1): at session start, pull limit=100 for the prior trading day. Filter to SPY’s underlying option symbols. Build a “yesterday’s positioning shift” snapshot - which SPY strikes saw the biggest OI change overnight. These are the strikes dealers and institutions are newly leaning on / unwinding.

Combine with uw-api-gex-greeks /greek-exposure/strike to confirm where today’s gamma walls sit relative to yesterday’s OI shifts.

7. GET /api/market/total-options-volume - L1 macro context

Market-wide aggregate call/put volume + premium time series, daily.

Query parameters:

ParamTypeRequiredDefaultRange
limitintno11 to 500

Response per record:

FieldTypeDescription
datedateTrading date
call_volumeintMarket-wide call volume
put_volumeintMarket-wide put volume
call_premiumdecimalTotal call $ premium
put_premiumdecimalTotal put $ premium

Use in MK3 (L1): macro environment indicator. Pull limit=60 at session start for 60-day history. Features:

  • total_options_volume_60d_pct_today - is today running hot or light?
  • pcr_volume_60d - put/call volume ratio rolling 60d (regime fingerprint)
  • total_call_premium_zscore - z-score of today vs trailing N days

Low-volume days = low conviction in any direction = Setup Hunter should require higher conviction to fire.

8. GET /api/market/sector-etfs - L1 reference

Maps each US sector to its representative ETF with current metrics.

No documented parameters.

Response per sector ETF:

FieldTypeDescription
tickerstringETF ticker (XLK, XLC, XLF, …)
full_namestringSector name
open, high, low, close, prev_closedecimalToday’s OHLC
volume, avg30_stock_volumeintToday’s + 30d avg volume
week_52_high, week_52_lowdecimal52-week range
call_volume, put_volumeintToday’s option volumes
call_premium, put_premiumdecimalToday’s option premium
bullish_premium, bearish_premiumdecimalUW-classified directional
avg_30_day_call_volume, avg_30_day_put_volumeint30d avg
avg_7_day_call_volume, avg_7_day_put_volumeint7d avg
marketcapdecimalAUM

Standard sector ETF mapping:

SectorETF
TechnologyXLK
Communication ServicesXLC
Financial ServicesXLF
HealthcareXLV
Consumer CyclicalXLY
Consumer DefensiveXLP
IndustrialsXLI
EnergyXLE
UtilitiesXLU
Real EstateXLRE
Basic MaterialsXLB

Use in MK3 (L1): session-start reference. Cache the mapping once; use it to drive etf-tide lookups on XLK + XLC (the two sector ETFs that proxy ~39% of SPY by weight).

9. GET /api/market/fda-calendar - L3

Forward FDA drug approval / advisory committee dates.

L3 only. Per-biotech catalyst calendar. Not in MK3 scope.

10. GET /api/market/insider-buy-sells - L3

Market-wide aggregate insider buy/sell activity over time.

L3 only. Macro-level insider sentiment. Per uw-api-insiders the per-ticker / per-sector versions are also L3. Filed for L3 trend strategies, not in MK3 scope.

11. Nautilus integration shape (L1 endpoints only)

EndpointCadenceCustom data type
/top-net-impactEvery 5 min RTHUWTopNetImpact snapshot
/economic-calendarSession start + after every releaseUWEconomicCalendar snapshot
/correlationsSession startUWCorrelationMatrix snapshot
/oi-changeSession startUWOiChangeSnapshot
/total-options-volumeSession startUWTotalVolumeHistory
/sector-etfsSession start (refresh on price moves)UWSectorETFs snapshot

12. Source URLs

  • https://api.unusualwhales.com/docs/operations/PublicApi.MarketController.top_net_impact
  • https://api.unusualwhales.com/docs/operations/PublicApi.MarketController.events (economic-calendar)
  • https://api.unusualwhales.com/docs/operations/PublicApi.MarketController.correlations
  • https://api.unusualwhales.com/docs/operations/PublicApi.MarketController.oi_change
  • https://api.unusualwhales.com/docs/operations/PublicApi.MarketController.total_options_volume
  • https://api.unusualwhales.com/docs/operations/PublicApi.MarketController.sector_etfs
  • https://api.unusualwhales.com/docs/operations/PublicApi.MarketController.fda_calendar
  • https://api.unusualwhales.com/docs/operations/PublicApi.MarketController.insider_buy_sells

cortana-north-star uw-api-tide uw-api-gex-greeks uw-api-etfs uw-api-economy uw-api-net-flow 2026-05-15-mk3-setup-hunter-architecture