Skip to main content
Vidsrc · Free Embed API

Free movie & TV show embeds powered by Vidsrc

Paste an IMDb or TMDB ID and instantly get a clean, responsive Vidsrc embed URL for any movie or TV episode. No signup, no API key, no clutter — just copy and paste.

Watch instantly with the Vidsrc player

Paste an IMDb ID (e.g. tt1234567) or a numeric TMDB ID. For TV shows, optionally add season and episode. The Vidsrc embed link and player appear right here as you type.

Use an IMDb ID like tt0111161 or a TMDB numeric ID. Or use the search below to pick a title from TMDB.
Please enter a valid IMDb or TMDB ID.
Enter an IMDb or TMDB ID above to load the Vidsrc player.
Use an IMDb ID like tt0903747 or a TMDB numeric ID. Or use the search below to pick a series from TMDB.
Please enter a valid IMDb or TMDB ID.
Season must be a positive integer.
Episode must be a positive integer.
Leave season and episode blank to load a TV show player; fill both in to load a TV episode player.
Enter an IMDb or TMDB ID above to load the Vidsrc series player.

Deliver an optimized user experience

There are plenty of essential features optimized to provide the best user experience for your visitors.

Auto Update

Links are automatically updated with new or better quality as soon as they are available online.

Responsive

The player is responsive and can work on every desktop, mobile and tablet without any problem.

High Quality

The quality of the links is the latest available — mostly 1080p, served from fast streaming servers.

Fast Streaming

The player includes a list of the fastest streaming servers, so users can easily switch when needed.

Browse Vidsrc

Jump straight to the category you want to watch or embed.

Vidsrc endpoints

Embed & browse the Vidsrc library

Every endpoint below is part of the Vidsrc embed platform. The embed routes produce full-viewport players; the list routes return paginated results (50 items per page).

Vidsrc embed URLs

Custom Subtitles

Single file
https://vid-src.top/embed/movie/{id}?sub_file={url}&sub_label={label}
Multiple files
https://vid-src.top/embed/movie/{id}?sub.info={sub_json}
Notes
  • sub_file — URL to a .vtt subtitle file.
  • sub_label — optional display name (e.g. English).
  • Subtitle URLs must respond with Access-Control-Allow-Origin: *.

Vidsrc list endpoints

Invalid {page} values return a 422 error. If the upstream source is unavailable, the request returns a 502 error. Successful responses are cached server-side for one hour.
About Vidsrc

What is Vidsrc?

A short introduction to the Vidsrc embed platform — what it does, who it's for, and how to start using it in under a minute.

Vidsrc is a free embed API that turns any IMDb or TMDB ID into a clean, responsive embed URL for movies and TV series. Paste an ID into the Vidsrc form on the homepage, copy the resulting URL, and drop it into your website — the Vidsrc player handles the rest in a full-viewport, mobile-friendly iframe.

Who is Vidsrc for?

Vidsrc is built for site owners, bloggers, hobby projects and small teams who want a no-friction way to embed movies and TV episodes without signing up for a streaming service, dealing with API keys or wiring up a heavy player library. If you can copy and paste a URL, you can use Vidsrc.

What does Vidsrc give you?

  • Movie embeds — /embed/movie/{id} for any IMDb or TMDB title.
  • TV show embeds — /embed/tv/{id} for a show overview.
  • TV episode embeds — /embed/tv/{id}/{season}/{episode} for a specific episode.
  • Subtitle support — load your own .vtt subtitles via the URL.
  • Paginated lists — 50 latest movies, TV shows or episodes per page.

How does Vidsrc work?

Behind the scenes, Vidsrc is a small, purpose-built service that validates the ID, builds the embed URL, and serves a single-page template containing nothing but a full-viewport iframe. The template is deliberately minimal — no chrome, no nav, no scrollbars — so the embed looks like a native part of whichever site you paste it into.

Why is Vidsrc free?

Vidsrc is a thin, fast layer over a public source of streaming metadata. The platform costs almost nothing to run, so we keep it free for everyone. There is no paid tier, no rate-limit wall and no signup wall — just the Vidsrc embed API, the embed routes and the paginated list endpoints.

Is Vidsrc responsive?

Yes. The Vidsrc embed page is a single full-viewport iframe with a black background and no scrollbar, so it adapts to any screen size — phones, tablets, laptops and 4K displays. The homepage itself is built on Bootstrap 5 with a mobile-first grid.

Does Vidsrc support IMDb and TMDB IDs?

Both. Vidsrc accepts IMDb IDs with the tt prefix (e.g. tt0111161) and TMDB numeric IDs (e.g. 27205). The embed routes do not care which namespace your ID comes from — pick whichever is easier to look up.

How do I get started with Vidsrc?

Open the Vidsrc embed form on the homepage, pick Movie Player or Series Player, paste an ID and copy the resulting embed URL. That's it — Vidsrc is ready to go in three clicks.

FAQ

Frequently asked questions

Quick answers about the embed routes, the API and how IDs work. Can't find what you're looking for? Drop us a note in the contact section below.

A free Vidsrc service that turns an IMDb or TMDB ID into a clean, responsive embed URL for movies, TV shows and specific TV episodes. The Vidsrc embed page is a single full-viewport iframe — drop the URL into any site and the player just works.

Open the homepage, pick the Movie Player tab, paste an IMDb ID like tt0111161 or a numeric TMDB ID, then use the generated URL — for example /embed/movie/tt0111161. You can also open the player directly with the "Open movie player" button.

Use the Series Player tab and paste the show ID. With both season and episode left blank you get the show overview URL (/embed/tv/{id}); fill both in to jump to a specific episode (/embed/tv/{id}/{season}/{episode}).

Yes. Fill in both season and episode in the Series Player form to get a URL like /embed/tv/{id}/{season}/{episode} — it opens straight on that episode. The local URL uses /season/episode segments; the iframe source uses season-episode internally so the player receives the expected format.

No. The local JSON API (/movie/{page}, /tv/{page}, /episodes/{page}) is open. Just send a GET request with a positive integer page number. Successful responses are cached server-side for one hour.

Both. IMDb IDs are alphanumeric (e.g. tt1234567) and TMDB IDs are numeric. The embed routes accept either format — the controller is intentionally permissive so any plausible ID is forwarded to the upstream player.

Yes. The homepage is built on Bootstrap 5 with a mobile-first grid and a clean light theme tuned for phones, tablets, laptops and 4K displays. The embed page itself is a full-viewport iframe that scales to any screen.

Yes. Scroll to the API Tester section, pick an endpoint, enter a page number and click Test API — the JSON response is rendered live via jQuery AJAX with syntax highlighting and request timing.

Invalid {page} values return a 422 error with a helpful message. If the upstream source is unreachable, the Vidsrc API returns a 502 error. Embed pages return a clean 404 for non-numeric season/episode values via Vidsrc route constraints.