How can I programmatically jump to a specific timestamp in a Twitch VOD player?

I’m working on a project where I need to automatically skip to certain moments in Twitch recorded broadcasts. I’ve been trying different approaches to control the video playback position but haven’t found a working solution yet.

I attempted to modify the currentTime property of the video element directly, but that didn’t seem to have any effect. I also tried to simulate mouse clicks on the progress bar at calculated coordinates, thinking it might trigger the seek functionality, but that approach failed as well.

Has anyone successfully implemented automatic timestamp jumping for Twitch VODs? I’m looking for any method that would allow me to programmatically control the playback position of these archived videos. Any suggestions or alternative approaches would be greatly appreciated.

Twitch VODs use a custom player that blocks most direct DOM manipulation. That video element you’re targeting is probably just a wrapper, not the actual player control. I hit this exact same problem building a highlight extraction tool last year. The most reliable fix I found was using the Twitch Player API if you’re embedding the player on your own site. You can initialize it with specific parameters and use the seek() method to jump to timestamps. But this only works if you’re embedding the player, not manipulating an existing Twitch page. For existing Twitch pages, you’d need browser automation tools like Selenium or Playwright that interact with the page at a higher level. Just heads up - this approach uses more resources and might violate Twitch’s terms depending on what you’re doing.

yeah, i’ve had the same issue too. try URL parameters instead - just add ?t=XhYmZs to the VOD URL (X/Y/Z = hours/mins/secs). it works when i share timestamped links, so it should work programmatically if you’re redirecting or updating the page location.