Question about terms of service for user access tokens

I’m building a node/react application where multiple users are all triggering full calls to Twitch’s get-streams API endpoint from my back-end, getting every page of results for a category, and using my application authentication token, throttled to 3 or 4 requests per second.

If users gave me permission to use their user access tokens, I could run the API calls much faster, because each sequence of paging calls would have its own token and throttle.

But I don’t want to overload Twitch in the process, I’d like to reuse results between users if possible.

Am I allowed to reuse the results of a get-streams call initiated with one user access token for other users? I don’t want to store or reuse any personal data about the user who triggered the first set of calls, I would just like to use the results of that call for other users. So if user U1 requests all 7 pages of streams for category C1, and I use U1’s access token to get those results and show them to U1, and then user U2 shows up and requests the same results, could I could show them the same results without initiating another 7 pages of API calls?

And by “same results” here I specifically mean the stream names, ID’s, tags, titles, and a couple other things, stored individually by my back-end. Not the actual full API returns.

Yes this is called caching.

If you have a fixed list of users you could even use EventSub to have twitch call you when a channel changes state.

Thats not a thing you really need to worry about.

I only employ caching becuase “why get the data if I got this data just now” so my websites will run quicker if I don’t need to wait for an API call. (sure API calls are quick… but anyway)

As long as U2 only gets the results and can’t see U1’s token then all good.

But end of the day you’ve just described Caching

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.