One iframe.
Zero bullsh*t.

Movies, TV and anime in a single embed. No sign-up, no setup, no guilt trip about your ad blocker. Your old player buffers like it has commitment issues. This one doesn't. You're welcome.

https://vidly.pro
3Servers
TMDBAniList · MAL
4KQuality
0msSetup
Street Fighter
Tenzing
Masterplan
Spider-Man: Brand New Day
Hope
Clayface
Bad Apples
Moana
The Weight
Avengers: Doomsday
You Can See Everything
The Odyssey
Street Fighter
Tenzing
Masterplan
Spider-Man: Brand New Day
Hope
Clayface
Bad Apples
Moana
The Weight
Avengers: Doomsday
You Can See Everything
The Odyssey
The Apothecary Diaries
LINK CLICK
The Terminal List
Cyberpunk: Edgerunners
VisionQuest
Crystal Lake
Carrie
Where the Mask Ends
Slow Horses
Tulsa King
Bleach
MobLand
The Apothecary Diaries
LINK CLICK
The Terminal List
Cyberpunk: Edgerunners
VisionQuest
Crystal Lake
Carrie
Where the Mask Ends
Slow Horses
Tulsa King
Bleach
MobLand
The Apothecary Diaries
Cyberpunk: Edgerunners
Bleach
One Piece
Doraemon
Pokémon
Dragon Ball Super: Beerus
JUJUTSU KAISEN
Mushoku Tensei: Jobless Reincarnation
Detective Conan
Naruto
JoJo's Bizarre Adventure
The Apothecary Diaries
Cyberpunk: Edgerunners
Bleach
One Piece
Doraemon
Pokémon
Dragon Ball Super: Beerus
JUJUTSU KAISEN
Mushoku Tensei: Jobless Reincarnation
Detective Conan
Naruto
JoJo's Bizarre Adventure

Live Player Demo

Tweak the options, watch the preview, copy the embed

https://vidly.pro/movie/1010581

Embed API

Simple URL patterns. No API key required.

GET/movie/{tmdb_id}

Embed any movie by its TMDB ID. The player picks the best available server and quality.

Parameters
NameTypeRequiredDescription
tmdb_idnumberYesThe Movie Database ID for the movie
themestringNoaurora (default), slate or retro
colorhexNoAccent colour, e.g. ?color=ff3b30
tnumberNoStart position in seconds
autoplay0 | 1NoDefaults to 0 (loads paused). Use 1 to start playing on load
nextEpisode0 | 1NoAurora theme, series/anime. Defaults to 1. Use 0 to hide the Next Episode button
audioPicker0 | 1NoAurora theme. Defaults to 0. Use 1 to show a language picker at start when the stream has several audio tracks
Examplehttps://vidly.pro/movie/1010581Try it →
HTML
<iframe
  src="https://vidly.pro/movie/1010581"
  width="100%"
  height="100%"
  frameborder="0"
  allowfullscreen
  allow="autoplay; encrypted-media; picture-in-picture"
></iframe>

Built-In Features

Everything you need, out of the box

Multi-language subtitles
Embedded and external tracks with size, colour and offset controls
Fully responsive
Adapts to desktop, tablet and mobile with touch gestures
Adaptive streaming
HLS and DASH with adaptive bitrate, loaded only when needed
Quality control
Auto or manual resolution selection up to 4K
Themes
Swap the player look with ?theme= — aurora, slate or retro
Server-side sources
Provider calls and keys stay on the server, never in the browser

postMessage Events

The player talks to your page. Listen for these messages to sync watch history or react to playback.

Message types
VIDLY_PLAYER_EVENT

Player state changes. Use it for analytics or to react to playback in your own UI.

Fields · event.data.data
eventstring"play", "pause", "timeupdate" or "ended"
currentTimenumberPlayback position in seconds
durationnumberTotal duration in seconds
tmdbIdstring | nullTMDB ID, null for anime
mediaTypestring"movie", "tv" or "anime"
seasonnumber | nullSeason number, null for movies and anime
episodenumber | nullEpisode number, null for movies
Example
{
  "type": "VIDLY_PLAYER_EVENT",
  "data": {
    "event": "timeupdate",
    "currentTime": 312.4,
    "duration": 7557,
    "tmdbId": "1726",
    "mediaType": "movie",
    "season": null,
    "episode": null
  }
}
Listen in your page · JavaScript
window.addEventListener('message', (e) => {
  if (e.data?.type === 'SYNC_HISTORY') {
    const { media_id, media_type, title, duration, watched } = e.data.data;
    // Save to your DB / update UI
  }

  if (e.data?.type === 'VIDLY_PLAYER_EVENT') {
    const { event, currentTime, duration } = e.data.data;
    // event: 'play' | 'pause' | 'timeupdate' | 'ended'
  }
});

Quick Start

Three steps. Zero config. No API key.

  1. Step 1

    Find your ID

    Movies and TV: search on themoviedb.org. Anime: search on anilist.co or myanimelist.net. Grab the numeric ID from the URL.

  2. Step 2

    Build the URL

    Use a pattern from above, for example:

    https://vidly.pro/movie/1726
  3. Step 3

    Embed it

    Drop the iframe into your HTML. Server selection, quality and subtitles are handled for you.

    <iframe src="https://vidly.pro/movie/1726" allowfullscreen></iframe>
Vidly — embeddable player