Skip to content

FYERS WebSocket Payloads

This page documents common WebSocket payloads used by fyers-store.

Market Data (SymbolUpdate)

{
  "symbol": "NSE:SBIN-EQ",
  "type": "symbolUpdate",
  "ltp": 731.4,
  "vol_traded_today": 23491195,
  "last_traded_time": 1704273001000,
  "exch_feed_time": 1704273001000,
  "bid_size": 300,
  "ask_size": 37,
  "bid_price": 731.3,
  "ask_price": 731.4,
  "last_traded_qty": 2,
  "tot_buy_qty": 28301400,
  "tot_sell_qty": 11084300,
  "avg_trade_price": 730.59,
  "low_price": 724.9,
  "high_price": 734.4,
  "open_price": 731.4,
  "prev_close_price": 730.45,
  "ch": 0.95,
  "chp": 0.13
}

Order Updates (Orders)

{
  "channel": "orders",
  "id": "ORDER_ID",
  "status": "COMPLETE",
  "qty": 10,
  "filledQty": 10,
  "symbol": "NSE:SBIN-EQ",
  "orderDateTime": "2026-01-19T10:01:02"
}

Trade Updates (Trades)

{
  "channel": "trades",
  "tradeNumber": "TRADE_ID",
  "orderNumber": "ORDER_ID",
  "tradedQty": 10,
  "tradePrice": 731.4,
  "symbol": "NSE:SBIN-EQ"
}

Quirks and Notes

  • Field names vary across SDK versions; normalize defensively.
  • Some payloads omit order ids; the broker drops them safely.

Scenario Example

Scenario: WS sends a trade before the order snapshot. - The broker creates a placeholder order state. - The fill is deduped by tradeNumber.