Kafka or websocket
Both websocket and Kafka delivery are available. Kafka is the option built for production: it tracks consumer offsets, so a consumer that disconnects resumes where it left off, and it scales horizontally through consumer groups.Kafka cluster access is part of the Enterprise Startup + Kafka tier and above. See pricing or email [email protected].
Routing
Each record’s value is a protobuf message. Topics come in two shapes:- single type — every record on the topic is the same message type. Decode straight into it.
- message key — the record key selects which message type the value is. Branch on the key before decoding.
Connecting
Compile the message types from the protobuf schema, then decode each record value. Every topic page shows the decode for its own types; the connection config below is shared.Topics
all-option-tradesEvery option trade1 msg · single type→all-trade-reportEvery stock trade1 msg · single type→chain-fragAggregated activity of single option contracts over 5 minute intervals1 msg · single type→dividendsLatest announced dividend and trailing twelve month dividend snapshots by ticker1 msg · message key→earningsUpcoming earnings details and split-adjusted historical EPS growth by ticker1 msg · message key→etf-infoComplete stock holding and daily share flow snapshots for ETFs1 msg · message key→flex-optionsAll data related to FLEX options. Includes open interest, closing mark and FLEX option consolidations2 msg · message key→flow-alertsOptions flow alerts: aggregates of option transactions that tripped a rule. See https://unusualwhales.com/option-flow-alerts/rules for rule definitions1 msg · single type→flow-expiryOption flow stats grouped by ticker and expiry. Updates are published as INCREMENTAL updates for the time window they computed. If you store the data in a database you should be adding the values to the existing values in the database.1 msg · single type→flow-strikeOption flow stats grouped by ticker and strike. Updates are published as INCREMENTAL updates for the time window they computed. If you store the data in a database you should be adding the values to the existing values in the database.1 msg · single type→flow-strike-intradayIntraday 1minute flow stats grouped by ticker and strike. Updates are published as INCREMENTAL updates for the time window they computed. If you store the data in a database you should be adding the values to the existing values in the database.1 msg · single type→greek-flowAggregated delta and vega flow of option trades per ticker and per expiry2 msg · message key→insider-volumesRolling discretionary insider purchase and sale share volume snapshots by ticker1 msg · message key→interpolated-ivImplied volatility and expected move interpolated onto fixed day horizons1 msg · single type→interval-flowAggregated options activity of tickers over 5 minute intervals1 msg · single type→iv-term-structureATM implied volatility and expected move per real option expiry1 msg · single type→live-gexLive gamma exposure keyed by different aggregation levels: ticker, strike, strike+expiry3 msg · message key→multi-leg-spreadsDetected multi leg option spreads with their classified strategy1 msg · single type→net-flowOptions net flow: market wide tide, per sector flow and near dated expiry tide3 msg · message key→option-statesThe live state of option chains. Contains open interest updates as well as volumes1 msg · single type→predictions-insidersPrediction market insider signals based on signal such as new account withs low activity, taking unusually large positions and more.1 msg · single type→predictions-positionsFull states of prediction market outcome token positions for a given wallet/user whenever they change on chain1 msg · single type→predictions-tradesIndividual prediction market fills ingested from the Polymarket CTF exchange1 msg · single type→risk-reversal-skewPut vs call implied volatility skew at fixed deltas per expiry1 msg · single type→sec-filingsSEC EDGAR filings: every filing as a general message plus enriched insider trade and 13F messages8 msg · message key→sharesCurrent shares outstanding and historical quarterly growth snapshots by ticker1 msg · message key→stock-price-level-volumeStock volume and trade counts grouped by ticker and price level, split between lit and off lit activity. Updates are published as INCREMENTAL updates for the time window they computed. If you store the data in a database you should be adding the values to the existing values in the database.1 msg · single type→stock-screenerComplete screener state for a ticker1 msg · single type→ticker-levelsOption volume and trade counts grouped by underlying ticker and stock price level. Updates are published as INCREMENTAL updates for the time window they computed. If you store the data in a database you should be adding the values to the existing values in the database.1 msg · single type→ticker-oi-statsCompacted current and previous daily open interest and historical option activity statistics per ticker1 msg · message key→ticker-performanceReference prices for calculating ticker returns over calendar periods and market sessions1 msg · message key→ticker-quotesLive best bid and ask quotes for stocks1 msg · single type→ticker-stock-statesPer session OHLCV state of stocks1 msg · single type→ticker-volatilityRealized volatility and variance risk premium snapshots per ticker and trading date1 msg · single type→trade-cancelsCancellations of previously reported stock and option trades2 msg · message key→trading-haltsTrading halts, pauses and resumptions for stocks1 msg · single type→
