Question Regarding Persistent Storage of Clip IDs and Metadata

Hello Twitch Developer Community,

I am developing an application using the Twitch API and would like to ask a direct question about the data storage policy in the Developer Agreement to ensure we understand the rules correctly.

Our service allows users to save and organize their favorite clips, and to do this, we store clip-related data—specifically their IDs and duration—in our database.

We have read the policy in “II. Program Materials” which states, “Do not store copies of Twitch Content or Program Materials,” and notes the exception for caching information for a 24-hour period.

Our question is about how this policy applies to metadata. If we store data such as Clip IDs and their durations in our database persistently, without treating it as a 24-hour cache (i.e., without refreshing the data via the API), would this be considered a violation of the Developer Agreement?

We want to ensure we operate within the rules, and a clear understanding of this point is essential for us.

Thank you for your time and help.

In my opinion: That seems sensible however you’d need to look/check for deleted clips, perhaps daily…

Since theres no eventsub for listening for deletions

1 Like

Thank you for your reply!

To better understand the principle behind the policy, I’d like to clarify the core issue.

Is the primary concern the act of persistently storing the data itself (like IDs and duration) outside of Twitch’s systems? Or is the main concern simply the act of providing dead links to content that no longer exists?

I ask because if the latter is the main concern, I’m wondering if the following “on-demand” validation method would be acceptable:

  1. We continue to store the IDs in our database.
  2. We only check the content’s validity via the API at the exact moment a user tries to load it.
  3. If the API indicates the content is gone, we would immediately delete the corresponding entry from our database.

This approach would ensure that users are never served a dead link. Would this be considered compliant?