Read live Twitch chat messages via EventSub instead of legacy IRC

domain: dev.twitch.tv · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Subscribe to the channel.chat.message EventSub subscription type, which fires when any user sends a message to a channel's chat room.
  2. Choose a transport: websocket (for apps holding a live EventSub WebSocket session) or webhook (for server-side apps with a public callback).
  3. Authorize with at minimum the user:read:chat scope from the chatting user.
  4. If using an app access token instead of a user token, additionally require user:bot scope from the chatting user, plus either channel:bot scope from the broadcaster or moderator status.
  5. Create the subscription via POST helix/eventsub/subscriptions with condition.broadcaster_user_id and condition.user_id set.
  6. For sending chat messages (not just reading), use the separate Helix Send Chat Message endpoint — EventSub is notification-only.

Known gotchas

Related routes

Subscribe to Twitch EventSub events via WebSocket transport for real-time in-game notifications
dev.twitch.tv · 6 steps · unrated
Subscribe to Twitch shared chat session events and fetch the active session for a channel
dev.twitch.tv · 5 steps · unrated
Set up Twitch EventSub to receive AutoMod message hold and approve events
dev.twitch.tv · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans