GEX
Public feedInitializing terminal
Live GEX streaming
Live GEX streaming over WebSocket. Connects to a persistent channel that pushes JSON frames with full snapshot data on each engine cycle. Provides real-time gamma exposure, regime, levels, and signal data without polling.
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Required | Underlying symbol. One of: SPX, SPY, QQQ, IWM, NDX, RUT. |
| Name | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | Your API key. Passed as a query parameter since WebSocket headers are not universally supported. |
Each frame is a JSON object containing the full engine snapshot: exposure data, regime, levels, signals, and metadata. Frames are pushed at the engine cycle interval (typically every 30 seconds during market hours).
import asyncio
import websockets
import json
async def stream_gex():
uri = "wss://api.gexengine.com/ws/v1/stream/SPX?api_key=YOUR_API_KEY"
async with websockets.connect(uri) as ws:
async for message in ws:
data = json.loads(message)
print(f"GEX: {data['total_gex']:,.0f} Regime: {data['regime']}")
asyncio.run(stream_gex())