TV and Movie Streaming API

Effortlessly integrate free streaming movies and tv shows on to your website.

 

Key Features

💡 Easy to use

Simple to set up on your website with a quick API and fast loading servers.

🧮 Huge library

Extensive library of tv shows, movies, documentaries that are curated and indexed from the web.

🥂 Better Experience

Fast loading servers, efficient video player that resumes where users stopped, less ads to create a superior watching experience compared to other video APIs.

API Builder

https://www.vidpop.xyz/embed/?id=4808

πŸ“˜ API Documentation

πŸ”— Basic Embed

Add the video player to your website using a simple iframe:

<iframe 
    src="https://www.vidpop.xyz/embed/?id=TMDB_ID" 
    width="100%" 
    height="100%" 
    frameborder="0" 
    allowfullscreen
  ></iframe>

🎯 URL Parameters

id Required

TMDB ID of the movie or TV show

season Optional

Season number (for TV shows)

episode Optional

Episode number (for TV shows)

πŸ“Š Watch Progress API

VidPop automatically sends video progress updates to the parent window using postMessage. These updates help you track user watch history and resume playback positions.

Event Listener Setup

window.addEventListener("message", (event) => {
    if (event.data.type === "videoProgress") {
      const progress = event.data.data;
      /* Handle progress update */
    }
  });

Progress Data Structure

{
    id: "123",           // TMDB ID
    type: "movie"|"tv",  // Content type
    season: 1,           // Season number (TV only)
    episode: 1,          // Episode number (TV only)
    progress: 45.5,      // Percentage complete (0-100)
    timestamp: 125.4,    // Current time in seconds
    duration: 3600       // Total duration in seconds
  }

Update Triggers

  • πŸ•’ Every 5 seconds during playback
  • ▢️ When video is played
  • ⏸️ When video is paused
  • πŸ”š When video ends
  • πŸ“΄ Before page unload

πŸ’» Implementation Example

// Initialize progress tracking
const watchProgress = {};

// Listen for progress updates
window.addEventListener("message", (event) => {
  if (event.data.type === "videoProgress") {
    const progress = event.data.data;
    
    // Store progress data
    watchProgress[progress.id] = {
      progress: progress.progress,
      timestamp: progress.timestamp,
      lastUpdate: Date.now()
    };

    // Example: Save to backend
    saveToDatabase(progress);
  }
});

// Load video with optional resume position
function loadVideo(tmdbId, season = null, episode = null) {
  const embedUrl = new URL("https://www.vidpop.xyz/embed/");
  embedUrl.searchParams.set("id", tmdbId);
  
  if (season && episode) {
    embedUrl.searchParams.set("season", season);
    embedUrl.searchParams.set("episode", episode);
  }
  
  document.getElementById("player").src = embedUrl.toString();
}
VidPop © 2025
DMCA Disclaimer: VidPop is a content aggregator that scrapes publicly available sources. We don't host or store copyrighted content. All content is gathered automatically from third-party websites. Our platform merely indexes publicly available video content from across the web. Copyright infringement claims should be directed to the respective third-party sites. For DMCA requests, please contact the original content provider.
Join our Telegram group!