Skip to main content
NOTE: This is the documentation for the websocket channel ta_1d_live:<TICKER>. Websocket access for personal use is only available through the Advanced plan. You can find fully-functional examples that stream data from many channels here: Connect to the websocket URI: wss://api.unusualwhales.com/socket?token=<YOUR_API_TOKEN> then join the channel for the ticker you want, for example ta_1d_live:AAPL. Each message carries one ticker’s technical-analysis indicators computed on daily candles. The 1d in the channel name is the candle interval and live means the values track the session while it is still open.

Delivery characteristics

Read these before writing a client, they are not obvious from the payload:
  • Messages describe the day that is still forming, not a finished candle. While the session is open, a new message is sent each time the price moves, up to once a second, and each one supersedes the one before it for that ticker. The values it carries are the ones a calculation over the finished daily candles produces.
  • The channel is live during regular trading hours only. Outside them nothing is published and the socket is silent for this channel.
  • An indicator is null until enough daily history exists to compute it. Each one opens on its own schedule: on-balance volume from the first session, rsi_14 from the 15th, sma_200 from the 200th. Every field is present on every message, so an indicator that is not ready reads as null rather than being left out.
  • The channel sends nothing when you join. The first message arrives on the next price move, which outside regular hours means the next session.
  • The number in a field name is its configuration. rsi_14 is the relative strength index over 14 periods, bb_20_2 is Bollinger bands over 20 periods at 2 standard deviations, macd_12_26_9 is MACD with fast period 12, slow period 26 and signal period 9, and stoch_5_3_3 is the stochastic oscillator with fast K 5, slow K 3 and slow D 3.
  • Read obv as a relative series, never as a level. On-balance volume accumulates from wherever the calculation started, so the absolute number is not comparable across restarts. Its direction and its crossovers carry the meaning.
Payload format:

Field reference

Every indicator field is a JSON number or null. The values are TA-Lib outputs passed through unchanged, so each indicator’s scale is the one TA-Lib defines for it. Prices are in dollars, matching the daily closes the indicators are computed from.
Last modified on September 28, 2026