Unusual Whales API - Insider endpoints

Layer mapping: L3 only. Form 4 insider transactions (corporate officers + 10%-owner shareholders) carry a multi-day to multi-month signal horizon. Filing lag is 2 business days post-trade. Wrong cadence for 0DTE; filed for future L3 work per cortana-north-star.

Four endpoints: transactions feed, by-sector flow, insider roster, per-ticker flow.

1. Base contract

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

2. Endpoint matrix

#PathPurpose
1GET /api/insider/transactionsCross-ticker recent Form 4 transactions
2GET /api/insider/sector-flowDaily sector-rollups of insider buying/selling
3GET /api/insider/{ticker}/{type}-flowPer-ticker rollups (or /insiders for an inventory)
4GET /api/insider/{ticker}/insidersRoster of insiders + their stake history for a ticker

(Endpoint #3 and #4 share the same {ticker} path-scoped prefix but differ in trailing segment.)

3. GET /api/insider/transactions

Cross-ticker Form 4 feed.

Query parameters:

ParamTypeRequiredDefaultNotes
ticker_symbolstringno-Comma-separated; prefix - to exclude
start_datedateno-
end_datedateno-
limitintno500Max 500
pageintno-Starts at 0
min_amountintno0Min transaction notional
max_amountintno-
txn_codesarrayno-Filter by code (e.g. P, S, A)
insider_relationshipsarrayno-Filter by role

Form 4 transaction codes (txn_codes):

CodeMeaning
POpen-market purchase (strongest bullish signal)
SOpen-market sale
AAward / grant (compensation, not a discretionary trade)
MExercise of derivative security
FPayment of exercise / tax (forced sell)
DDisposition of derivative
GGift
JOther
VReported voluntarily early

For signal: filter to P (purchases) and S (sales) only. Awards (A), tax-payment sales (F), and gifts (G) carry no discretionary information.

Response per record: transaction details, insider name + role, ticker, transaction code, share count, price, dollar amount, filing date, reporting date.

4. GET /api/insider/sector-flow

Daily sector rollups of insider activity.

Query parameters:

ParamTypeRequiredDefault
datedatenolast trading date

Response per sector: sector name, total buy , net $, transaction count, distinct insider count.

Use: macro-level insider sentiment. “Insiders in Technology bought $X net last week” is a weekly-to-monthly signal.

5. GET /api/insider/{ticker}/{type}-flow

Per-ticker rollup of buy or sell activity. The type path segment toggles between buy and sell.

Path parameters:

ParamRequiredNotes
tickeryesStock symbol
typeyesbuy or sell

Query parameters:

ParamTypeRequiredDefault
start_datedateno-
end_datedateno-
limitintno500
pageintno-

Use: drill into one ticker’s insider history. Useful for L2 or L3 postmortems (“did the CFO sell ahead of this print?“).

6. GET /api/insider/{ticker}/insiders

Roster of insiders for a ticker with stake history.

Path parameter: ticker (required).

Response per record: insider name, role/title, total shares held, last reported date, transaction history.

Use: know the cast. For L3 strategies that filter on “high-conviction insiders” (e.g. CEO with multi-year track record), this builds the watchlist.

7. MK3 use

Not in current scope. Filed for L3. The signal horizon (Form 4 takes 2 days to file; alpha decays over weeks not minutes) is wrong for 0DTE.

Future L3 strategies built on this surface:

  • Cluster buy detection: 3+ insiders at the same firm buying in the same week. Historically the most reliable insider signal.
  • CEO/CFO concentration: weight by role; CEO/CFO trades > VP trades > Director trades.
  • Anti-leakage: track unusual insider sales in the 30 days before known catalysts (earnings, FDA dates, M&A rumors).

8. Nautilus integration shape (when L3 lands)

  • Daily polling Actor: UWInsiderActor pulls /api/insider/transactions with start_date=T-7.
  • Publishes UWInsiderTransaction custom data to the bus.
  • A L3 Strategy aggregates with multi-day windows.

9. Known gaps

  • No real-time push. Polling only.
  • Filing lag is 2 business days minimum (regulatory).
  • insider_relationships taxonomy not documented - first fetch needs to catalog.
  • No 10b5-1 plan flag in the documented schema. Pre-scheduled sales (10b5-1) carry less signal than discretionary sales.

10. Source URLs

  • https://api.unusualwhales.com/docs/operations/PublicApi.InsiderController.transactions
  • https://api.unusualwhales.com/docs/operations/PublicApi.InsiderController.sector_flow
  • https://api.unusualwhales.com/docs/operations/PublicApi.InsiderController.insiders
  • https://api.unusualwhales.com/docs/operations/PublicApi.InsiderController.ticker_flow

cortana-north-star uw-api-congress uw-api-institutional