Twitch raids allow a broadcaster to send viewers to another channel at the conclusion of their stream. Raiding can be a great way to make connections and network with other broadcasters by sharing audiences and growing their communities together.
Historically, starting a raid was possible through a quick action on the creator dashboard or the
/raid chat command. In order for third-party developers to initiate a raid, a chatbot account with moderator access was necessary to use the chat command. Today we are extending this functionality to the Twitch API in an open beta so that developers can take advantage of this Twitch feature within their application logic.
How do I get started?
The following Twitch API endpoints have been added to manage raids with a broadcaster’s user oauth token.
Start a Raid - Starts a raid from one channel to another; a 90-second countdown will begin on the Twitch channel as usual.
Cancel a Raid - Prevents a raid from occurring during the 90-second countdown and before the broadcaster clicks “Raid Now” on Twitch.
In addition to these endpoints, we have introduced a new scope required for both;
Please feel free to provide comments and questions in the thread below.
After calling “start a raid,” it would be nice if we could call the endpoint again with an added request parameter that executes the raid immediately (without waiting for the full 90 seconds to expire or the broadcaster to press “Raid Now”), given the initial 10 second cooldown has expired
This exists as a uservoice request already and is marked as “long term consideration”
is there a hidden uservoice for the endpoint being able to work with a channel editor’s user access token (instead of just broadcaster)?
No, for all my use cases I have the broadcasters token (since I also have a token for subscribers and other scopes). So I don’t need a channel editors token for the operations I do. So you’d need to create a uservoice for that
Sorry if I missed something, but is there a reason the
*_broadcaster_id parameters are integers?
All the other endpoints, and the eventsub data use/return them as strings
Looks like a documentation error.
Since when it is added to a URL it’s a string anyway.
I was hoping that might be the case, but seemed odd that the response codes also mention them being integers
Ah, I missed that there was one already and created a new one I guess, which one is the one you’re referencing to here?
it’s in a private uservoice category
There needs to be a way to complete the raid before the timer ends like you can do natively in Twitch chat. That way third party programs could not only initiate the raid but actually complete the raid without waiting for the timer to end.
A clarification and follow up since there has been chatter regarding private/public UserVoice suggestions. During a closed beta, we host a private UserVoice forum for participants. When functionality moved from closed beta to open beta, we should move any open items to the public forums and archive any suggestions that were implemented.
I’ve completed this for the Raids API this morning, so the two open items that should now be viewable/voteable for all are:
@emilgardis I have merged your suggestion with the original that is now public to combine notes and votes
cool story, i just created one (which is arguably more representative of potential api volume): Allow Channel Editors to use Helix Raids API – Twitch UserVoice
One more UserVoice (& the first time I’ve advocated for a more restricted rate limit on a helix endpoint): Previously, raidGo was rate limited to 3/30 (& enforced after hate raiders were abusing lack of limiting in gql). While I’m fine with startRaid/cancelRaid having the elevated 10/10 limit, I think carrying this over to raidGo is ripe for abuse: Revert Raid Rate Limit to 3 per 30 mins – Twitch UserVoice