So, I’m accessing the top 100 streamers for each of the top 100 streamed categories - I’m just wondering what the limit is for how quickly I could be reasonably expected to access this information? The developer agreement says the following:
" C. Rate Limits. You will not attempt to exceed or circumvent limitations on access to and use of the Program Materials, exceed or circumvent any limitations on the API calls you may make, or otherwise use the Program Materials in a manner that exceeds reasonable request volume, or constitutes excessive or abusive usage (“Rate Limits”). If Twitch, at its sole discretion, determines that you have attempted to exceed or circumvent Rate Limits, or other controls that limit use of the Program Materials, then your ability to use the Program Materials may be temporarily suspended or permanently blocked.
"
Generally you would also not call the same “resource” more than once per minute
A resource being the endpoint and the params.
So if you are loading the top 100 categories (1 request), then don’t load “top games” again for another minute, since it won’t have changed due to server caching for example
Cheers for the link - it states 30 requests per minute? I’ve been calling the “streams” endpoint roughly every 5 seconds, once for each of the games in the top 100.
This would suggest I’m not even close to the limit?
Sorry if I’ve misunderstood something - I’m relatively new to using APIs and such.
edit: missed words, it’s late here and I should go to bed
The helix rate limit is 800 (refer to the Ratelimit-Limit header when you make a request)
If you call “Get Top games” once per minute
Then you can hammer out the 100 get stream requests as quick as you like as each request has a different game ID. So thats 100 different requests.
So then you don’t call the same game ID for another minute.
A “repeat request” is when the URL/params is the same.
So here you make 101 requests.
Wait a minute, then go again. Personally for something like this I’d probably fire every 5 minutes since theres unlikely to be significant changes one a per minute basis.
Okay brilliant, I wouldn’t run this code more than a few times a day so, I shouldn’t need to put any time delay between stream calls… saves me some time. Thanks for clearing that up for me, appreciated.