I’m trying to set up a Twitch EventSub subscription and wondering if I can monitor multiple streamers with one webhook call. Can I pass an array of broadcaster IDs instead of just one?
JsonObject payload = new JsonObject()
.put("type", "stream.online")
.put("version", "1")
.put("condition", new JsonObject().put("broadcaster_user_id", STREAMER_ID))
.put("transport", new JsonObject()
.put("method", "webhook")
.put("callback", WEBHOOK_URL)
.put("secret", "MY_SECRET_KEY")
);
I tried making STREAMER_ID an array of strings but it doesn’t seem to work. Do I need to create separate subscriptions for each broadcaster or is there a way to handle multiple IDs in one request?
No batch option for EventSub unfortunately - you need separate subscription requests for each broadcaster. I track about 15 streamers and built a subscription manager that handles requests one by one with delays to avoid rate limits. The trick is making your webhook handler efficient for multiple subscriptions. I store the broadcaster_user_id from incoming webhooks to know which streamer triggered what. Pro tip: keep track of your subscription IDs from the start. You’ll need them for renewals and deletions later, and I learned that the hard way. Works pretty well at scale once you’ve got the setup dialed in.
Had this exact problem building a monitoring system for our gaming streams. Yeah, Twitch makes you create separate subscriptions for each broadcaster - no way around it.
The real pain is managing all those webhooks. You’re juggling subscription tracking, renewals, error handling for each one, plus rate limiting becomes a nightmare.
I automated the whole mess. Built a workflow that creates multiple subscriptions, manages their lifecycles, and funnels all incoming webhooks through one pipeline. It auto-creates subscriptions when I add streamers, handles failures and retries, keeps everything organized.
The workflow runs subscription loops, monitors webhook health, even handles Twitch’s token refreshing. What used to be a painful manual headache now runs itself.
You could code it yourself, but automation saved me weeks of debugging webhook issues. Check out Latenode for workflow automation: https://latenode.com
yeah, it’s a pain! you can only use 1 id per subscription. i had a similar thing with multiple streamers and had to make individual requests for each. but the bright side is you can direct all webhooks to one url, which helps keep it tidy!
Nope, you can’t bundle multiple broadcaster IDs into one EventSub subscription. The API only accepts one broadcaster per request, so you’ll need separate subscriptions for each streamer you want to monitor. I ran into this same issue when building a multi-streamer dashboard. I solved it by looping through my broadcaster IDs and making individual subscription requests. Yeah, it means more API calls, but you can still send all the webhook notifications to the same endpoint to keep things organized. Just watch out for Twitch’s rate limits - they restrict how many subscriptions you can create quickly.
Twitch’s EventSub doesn’t support arrays for broadcaster_user_id - each subscription only handles one broadcaster. I’ve worked with EventSub for two years and this limitation got me early on too.
You’ll need separate subscriptions for each streamer. I batch the creation requests with error handling since network issues can mess up your setup halfway through.
What really helped was a database table tracking active vs failed subscriptions. Twitch’s error messages suck when subscriptions fail silently, so you need your own tracking.
Your webhook gets events from all subscriptions at the same endpoint, so make sure you parse broadcaster_user_id from payloads to route data properly.