# How to Automate Twitch Subscriber Notifications using the API

- Tool: API Automations
- Difficulty: Intermediate
- Fix time: 30-60 minutes
- Compatibility: Free Twitch developer account. User Access Token with channel:read:subscriptions scope required. Public HTTPS URL for EventSub webhook transport.
- Last updated: May 2026

## TL;DR

Automate Twitch subscriber notifications using EventSub subscription types channel.subscribe and channel.subscription.gift — PubSub is gone (decommissioned April 14, 2025), EventSub is the only real-time path. Use a User Access Token with channel:read:subscriptions scope. For the full subscriber list, call GET /helix/subscriptions (same scope). Validate tokens hourly — users can revoke at any time. Rate limit: 800 points/minute Helix bucket. Every Helix request needs both Authorization: Bearer and Client-Id headers.

## Best practices

- Always include both Authorization: Bearer and Client-Id headers on every Helix request — missing either causes 401
- Use EventSub WebSocket for real-time alerts — PubSub is decommissioned (April 14, 2025) and cannot be used
- Handle channel.subscribe gift events carefully — when a gift bomb occurs, channel.subscribe fires for each recipient AND channel.subscription.gift fires once for the total; avoid double-counting
- Validate tokens hourly — channel owners can revoke your app access at any time without notice
- Subscribe to channel.subscription.message (not just channel.subscribe) to capture resub messages with their community content
- Store subscriber snapshots weekly to track net subscriber growth beyond what real-time events capture
- Implement WebSocket reconnection with exponential backoff — connections drop and you must re-subscribe using the new session_id

## Frequently asked questions

### Is the Twitch API free?

Yes, the Twitch Helix API is completely free. You need a free developer account at dev.twitch.tv to register an app. There are no paid API tiers — all developers get the same 800 points/minute rate limit.

### What is the difference between channel.subscribe and channel.subscription.message?

channel.subscribe fires on any new subscription, including gifted subs. channel.subscription.message fires specifically when a subscriber sends a resub message (with months accumulated and an optional chat message). Subscribe to both to capture all subscription events comprehensively.

### Does PubSub still work for subscriber notifications?

No. Twitch fully decommissioned PubSub on April 14, 2025. Any code using PubSub for subscriber events stopped working on that date. EventSub is now the only supported real-time event system. Use EventSub WebSocket (no public URL needed) or EventSub Webhook.

### What happens when I hit the rate limit?

You receive HTTP 429 from Helix REST calls. Check the Ratelimit-Reset header (Unix timestamp) and wait until that time before retrying. EventSub WebSocket events themselves are not rate-limited in the traditional sense — events are pushed to you as they occur.

### Can I use an App Access Token instead of a User Access Token?

For EventSub WebSocket transport, you need a User Access Token because WebSocket connections are user-context. For webhook transport, you use an App Access Token for the subscription creation. However, GET /helix/subscriptions always requires a User Access Token from the broadcaster.

### How do I distinguish a new subscriber from someone who was gifted a sub?

In the channel.subscribe event payload, check the is_gift boolean field — true means it was a gifted sub. channel.subscription.gift fires separately with gifter information. This lets you send different alert messages for self-subscriptions vs. received gifts.

### Can RapidDev build a Twitch subscriber tracking system?

Yes — RapidDev has built 600+ integrations including Twitch bots and dashboards. We can build real-time subscriber alerts, monthly reporting, leaderboards, and stream overlay integrations. Book a free consultation at rapidevelopers.com.

### What EventSub subscription types cover all subscriber-related events?

For complete coverage: channel.subscribe (new subs and gifted subs received), channel.subscription.gift (gift sub bombs with total count and gifter info), channel.subscription.message (resubs with messages), and channel.cheer (Bits — separate from subs but often tracked together). All require channel:read:subscriptions scope.

---

Source: https://www.rapidevelopers.com/api-automations/how-to-automate-twitch-subscriber-notifications-using-the-api
© RapidDev — https://www.rapidevelopers.com/api-automations/how-to-automate-twitch-subscriber-notifications-using-the-api
