Hello,
Twitch Support directed me to Developer Support regarding this question.
I am developing a third-party application that helps viewers keep track of their favorite Twitch and YouTube streamers and see who is currently live.
For Twitch streams, the application would use the Twitch API with an app access token to retrieve public stream data, including viewer_count, approximately once per minute while a stream is live.
I would like to retain historical viewer-count data for longer than 24 hours in order to calculate and display statistics such as:
- average concurrent viewers
- peak concurrent viewers
- time of peak viewers
- 3-minute and 5-minute viewer-count changes
- comparisons between the current stream and recent streams
- ratios showing whether a stream is performing above or below its recent average
The application would track third-party broadcasters selected by end users. The broadcasters themselves would not necessarily authenticate with or authorize the application through OAuth.
I understand that Schedule 1, Section C of the Twitch Developer Services Agreement states that Twitch Content or Program Materials should not be stored beyond 24 hours unless the developer has prior written authorization, controls the relevant rights, or another exception applies.
I also found this related discussion:
https://discuss.dev.twitch.com/t/storage-of-data-from-twitch-api/63884
In that thread, Twitch staff clarified that historical data may generally be retained beyond 24 hours when the broadcaster has granted permission through OAuth. However, the final question regarding data obtained with an app access token for third-party streams appears to remain unanswered.
My questions are:
- May public
viewer_countand related stream metadata obtained with an app access token for third-party broadcasters be stored for longer than 24 hours? - If prior written authorization from Twitch is required, what is the process for requesting that authorization?
- May derived statistics such as averages, peaks, viewer-growth rates, and comparisons with recent streams be stored and displayed?
- Would the answer differ if the application is supported by advertising, provided that Twitch data is not sold, shared with ad networks, or used for ad targeting?
The application would not store video or chat content, and would comply with deletion or correction requirements imposed by Twitch.
I would appreciate clarification on the compliant path for this use case before proceeding with long-term storage.
Thank you.