The retention table
Default retention is 14 days for any channel that is not affiliate, partner, or Twitch Turbo / Prime subscriber. Affiliate, partner, Turbo, and Prime channels get 60 days. Past these windows the VoD is deleted from Twitch storage and there is no recovery path.
Highlights (clips a streamer manually marks as highlights) are retained indefinitely. Full VoDs are not, regardless of how often they have been clipped.
Exceptions and edge cases
DMCA strikes will remove a VoD before its retention window expires; the streamer is notified but the VoD is unrecoverable from the editor side. Mature content flags and Twitch-internal policy violations work the same way.
A streamer can manually export a VoD before deletion, which keeps a local copy but does not extend Twitch-side availability. Once it is gone from Twitch, no public tool can fetch it back.
Chat survives slightly longer (usually)
Chat retention is officially the same as VoD retention but in practice chat logs sometimes outlive the video by a few days. This is undocumented and inconsistent, so do not rely on it.
If you only need chat (for a clip-render or a graph), pulling chat takes about ten seconds of API calls per hour of stream. Compared to a multi-gigabyte video download it is essentially free.
A workable retention strategy
For editors working with a streamer: ingest within 24 hours. Either run an automated daily job that pulls the previous day's VoD, or rely on a cloud editor (like this one) that ingests at request time and holds the source for as long as your storage tier allows.
For streamers: enable the "Store past broadcasts" toggle in your channel settings or none of this matters; nothing is stored at all by default for some account types.
Why this matters more in 2026
Editors increasingly work async, often across timezones from the streamer they edit for. A 14-day window means a single missed weekend can lose an entire stream. The structural fix is to either automate ingest or move editing to a system where ingest happens automatically on request.