Video Streaming API
With No Ads

We offer free streaming links for movies and episodes that can be effortlessly integrated into your website through our embed links, API

Documentation

Learn how to effortlessly integrate the player on your website.

Quickstart

Integrating Vares is as simple as inserting an iframe. Copy the snippet below and paste it into your HTML file.

HTML EMBED
html
<iframe
  src="https://vares.top/movie/1084242"
  width="100%"
  height="100%"
  frameborder="0"
  allowfullscreen
></iframe>

Embed URL Formats

Vares supports specific URL structures for Movies, TV Episodes, and Anime titles depending on the media catalogs you are deploying.

TypeEndpoint StructureExample
Movie/movie/{tmdb_id}/movie/1084242
TV Show/tv/{tmdb_id}/{season}/{episode}/tv/76479/1/1
Anime/anime/{anilist_id}/{episode}/anime/172463/1
URL EXAMPLE PATH
https://vares.top/movie/1084242

Customization

Append URL query parameters to customize the player controls, styling settings, subtitles, and server defaults.

ParamTypeDescription
autostartbooleanAutomatically trigger playback on document mount. Defaults to false.
sub_langstringPre-select subtitles language code on startup (e.g. en, es, fr).
serverstringDirect default streaming server source selection index.

Player Events

The player sends watch-time progress updates periodically to the parent window layout using postMessage APIs.

JAVASCRIPT LISTEN EVENT
javascript
// Listen to progress updates
window.addEventListener('message', (e) => {
  if (e.data?.type !== 'MEDIA_DATA') return;

  const entry = Object.values(e.data.data)[0] as {
    id: string;
    type: 'movie' | 'tv';
    title: string;
    progress: { watched: number; duration: number };
    season?: number;
    episode?: number;
  };

  console.log(entry.id, entry.progress.watched, '/', entry.progress.duration);
});

Player Methods

You can also trigger direct actions on the embedded player frame by sending corresponding postMessage commands from your host page.

SEND COMMAND TRIGGER
javascript
// Pause Active Playback
const iframe = document.querySelector('iframe');
iframe.contentWindow.postMessage({ type: 'PAUSE_MEDIA' }, '*');

// Trigger Playback
iframe.contentWindow.postMessage({ type: 'PLAY_MEDIA' }, '*');

Best Practices

  • Configure the sandboxing attributes on your parent element frames carefully to avoid external script exploits.
  • Implement watch history progress handlers to save playback indexes on your database endpoints.
  • Avoid running redundant postMessage pings on host sites to reduce render latencies.