Advanced Video Platform

Next-Gen Video Integration

Transform your platform with cutting-edge video embedding technology. Engineered for teams that refuse to compromise on performance and stability.

Built for Performance

Everything you need to deliver exceptional streaming experiences

Blazing Speed

Powered by advanced CDN technology for seamless playback across the globe.

Built to Last

Military-grade encryption with guaranteed 99.9% availability.

Worldwide Reach

Multi-region infrastructure delivering ultra-low latency everywhere.

Dev-First Design

Intuitive API with detailed guides to get you shipping faster.

https://vidup.to/movie/941109
Play Dirty (2025)
00:00 / 2:07:32

Ready to Power Your Content Platform?

Trusted by creators and developers worldwide for reliable video delivery

Live Player Demo

Interactive Video Player

Test the player with any Movie or TV Show ID

https://vidup.to/movie/533535

Click to embed the VidUP player

Ready to Power Your Content Platform?

Trusted by creators and developers worldwide for reliable video delivery

Complete API Reference

Developer Resources

Complete guides and references to integrate, configure, and master video embedding

Movie Embed

Embed movies using IMDB or TMDB identifiers

ENDPOINT
https://vidup.to/movie/{id}?autoPlay=true
REQUIRED PARAMETERS
ParameterDescription
{id}Movie identifier from IMDB or TMDB
OPTIONAL PARAMETERS
ParameterDescription
titleControls whether the media title is displayed
posterDetermines if the poster image is shown
autoPlayControls whether the media starts playing automatically
startAtStarts the video at the specified time in seconds
themeChanges the player's color (hex code format)
serverChanges the default server for the player
hideServerControls whether the server selector button is shown
fullscreenButtonControls whether the fullscreen button is shown
chromecastControls whether the Chromecast button is shown or hidden
subSets the default subtitle (e.g. en, es, fr)
EXAMPLES
https://vidup.to/movie/533535
https://vidup.to/movie/tt6263850?theme=FF0000

TV Show Embed

Embed TV series episodes with season and episode numbers

ENDPOINT
https://vidup.to/tv/{id}/{season}/{episode}?autoPlay=true
REQUIRED PARAMETERS
ParameterDescription
{id}TV show identifier from IMDB or TMDB
{season}The season number
{episode}The episode number
OPTIONAL PARAMETERS
ParameterDescription
titleControls whether the media title is displayed
posterDetermines if the poster image is shown
autoPlayControls whether the media starts playing automatically
startAtStarts the video at the specified time in seconds
themeChanges the player's color (hex code format)
serverChanges the default server for the player
hideServerControls whether the server selector button is shown
fullscreenButtonControls whether the fullscreen button is shown
chromecastControls whether the Chromecast button is shown or hidden
subSets the default subtitle (e.g. en, es, fr)
nextButtonShows a next episode button
autoNextAutomatically plays the next episode
EXAMPLES
https://vidup.to/tv/tt4052886/1/5
https://vidup.to/tv/63174/1/5?nextButton=true&autoNext=true

Framework Integration

Ready-to-use code snippets for popular frameworks and libraries

React

function VideoPlayer() { return ( <iframe src="https://vidup.to/movie/533535" width="100%" height="500" frameBorder="0" allowFullScreen /> ); }

Vue.js

<template> <iframe src="https://vidup.to/movie/533535" width="100%" height="500" frameborder="0" allowfullscreen /> </template>

Next.js

export default function VideoPage() { return ( <div className="video-container"> <iframe src="https://vidup.to/movie/533535" width="100%" height="500" frameBorder="0" allowFullScreen /> </div> ); }

Vanilla JavaScript

const iframe = document.createElement('iframe'); iframe.src = 'https://vidup.to/movie/533535'; iframe.width = '100%'; iframe.height = '500'; iframe.frameBorder = '0'; iframe.allowFullscreen = true; document.getElementById('player').appendChild(iframe);

Player Customization

Personalize the player appearance and behavior to match your brand

Custom Theme Color

Apply your brand colors to the player interface

https://vidup.to/movie/533535?theme=FF0000

Auto-play Configuration

Start playback automatically when the page loads

https://vidup.to/movie/533535?autoPlay=true

Start at Specific Time

Begin playback at a specific timestamp (in seconds)

https://vidup.to/movie/533535?startAt=120

Hide Player Controls

Customize which controls are visible to users

https://vidup.to/movie/533535?hideServer=true&fullscreenButton=false

Multiple Parameters

Combine multiple options for complete customization

https://vidup.to/movie/533535?autoPlay=true&theme=FF0000&startAt=60

Events & Progress Tracking

The player can send playback progress updates to the parent window. You can store this progress locally using localStorage or sync it with your own backend system.

Available Events

EventDescription
playTriggered when video playback begins.
pauseTriggered when the video is paused.
seekedTriggered when the user jumps to a different time in the video.
endedTriggered when playback reaches the end.
timeupdateTriggered periodically as the video plays with current time info.
playerstatusTriggered when getStatus() is called.

Event Data Structure

{ type: "PLAYER_EVENT", data: { event: "play" | "pause" | "seeked" | "ended" | "timeupdate" | "playerstatus", currentTime: number, duration: number, tmdbId: number, mediaType: "movie" | "tv", season?: number, episode?: number, playing: bool, muted: bool, volume: number } }

Event Listener Implementation

Include the following script on the page that contains your player iframe. If you're using React or Next.js, place it inside a useEffect hook to ensure it runs after the component mounts.

window.addEventListener('message', ({ origin, data }) => { if (origin !== 'https://vidup.to' || !data) { return; } if (data.type === 'PLAYER_EVENT') { const { event, currentTime, duration } = data.data; console.log(`Player ${event} at ${currentTime}s of ${duration}s`); // Add custom event handling logic here } });

Direct Media Data Event Listener

This simpler event listener directly captures and stores the complete media data structure:

window.addEventListener('message', ({ origin, data }) => { if (origin !== 'https://vidup.to' || !data) { return; } if (data.type === 'MEDIA_DATA') { localStorage.setItem('vidUpProgress', JSON.stringify(data.data)); } });

Stored Data Structure Example

The data is stored in localStorage and contains movie/show details, watch progress, and episode-specific progress for TV shows.

{ "t63174": { "id": 63174, "type": "tv", "title": "Lucifer", "poster_path": "/ekZobS8isE6mA53RAiGDG93hBxL.jpg", "backdrop_path": "/wbiPjTWpZMIB8ffBq7HvzAph4Ft.jpg", "progress": { "watched": 793.207692, "duration": 2695.3689 }, "last_season_watched": 1, "last_episode_watched": 1, "show_progress": { "s1e1": { "season": 1, "episode": 1, "progress": { "watched": 793.207692, "duration": 2695.3689 }, "last_updated": 1742578021768 } }, "last_updated": 1742578021768 }, "m533535": { "id": 533535, "type": "movie", "title": "Deadpool & Wolverine", "poster_path": "/8cdWjvZQUExUUTzyp4t6EDMubfO.jpg", "backdrop_path": "/by8z9Fe8y7p4jo2YlW2SZDnptyT.jpg", "progress": { "watched": 353.530349, "duration": 7667.227 }, "last_updated": 1742577064433 } }

Ready to Power Your Content Platform?

Trusted by creators and developers worldwide for reliable video delivery