> ## Documentation Index
> Fetch the complete documentation index at: https://api.unusualwhales.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> API requests use the base URL https://api.unusualwhales.com and require a bearer token in the `Authorization` header (`Authorization: Bearer <API_KEY>`). Create and manage API tokens at https://unusualwhales.com/dashboard/api.
> For live market data inside an AI tool, use the Unusual Whales MCP server at https://unusualwhales.com/public-api/mcp.
> Instructions for agents using Unusual Whales tools: https://unusualwhales.com/skill.md

# IV term structure

> Receive live ATM IV and expected move updates per real option expiry for every ticker at once, or for a single ticker.

**NOTE:**
This is the documentation for websocket channels `iv_term_structure` and `iv_term_structure:<TICKER>`.
Websocket access for personal use is only available through the [Advanced plan](https://unusualwhales.com/pricing?product=api).

You can find fully-functional examples that stream data from many channels here:

* Python: [https://github.com/unusual-whales/api-examples/tree/main/examples/ws-multi-channel-multi-output](https://github.com/unusual-whales/api-examples/tree/main/examples/ws-multi-channel-multi-output)
* Javascript: [https://github.com/unusual-whales/api-examples/tree/main/examples/ws-multi-channel-multi-output-nodejs](https://github.com/unusual-whales/api-examples/tree/main/examples/ws-multi-channel-multi-output-nodejs)

Connect to the websocket URI:

`wss://api.unusualwhales.com/socket?token=<YOUR_API_TOKEN>`

then `join` the channel you wish to stream, for example `iv_term_structure:AAPL` for live term-structure updates for AAPL.
Omit the ticker suffix (`iv_term_structure`) to receive the updates for every ticker.

Each message carries the ATM implied volatility and expected move for one real option expiry, the raw
per-expiry entries that the `interpolated_iv` channels interpolate onto fixed horizons. This is the live
counterpart of the [`/stock/:ticker/volatility/term-structure`](https://api.unusualwhales.com/docs/operations/PublicApi.TickerController.implied_volatility_term_structure) endpoint.
A ticker updates at most every \~5 seconds, with one message per expiry whose values changed.

Payload format:

```
[
  "iv_term_structure:AAPL",
  {
    "ticker": "AAPL",
    "date": "2026-08-20",
    "expiry": "2026-09-18",
    "volatility": 0.299,
    "implied_move": 12.345,
    "implied_move_perc": 0.058
  }
]
```

### Field reference

| Field | Type | Description |
| - | - | - |
| `ticker` | string | Ticker of the underlying. |
| `date` | string | The trading date in `YYYY-MM-DD` format. |
| `expiry` | string | The option expiry this entry belongs to, in `YYYY-MM-DD` format. |
| `volatility` | number | The ATM implied volatility for this expiry, as a decimal (e.g. `0.299` = 29.9%). Average of the ATM call and put IVs. |
| `implied_move` | number | The expected absolute move of the underlying in dollars by this expiry. |
| `implied_move_perc` | number | The expected move as a fraction of the underlying price by this expiry. |
