Free · no key required

A streaming API for movies and TV.

Give it an IMDb or TMDB id and get back a player you can embed anywhere. Quality options, subtitles, a source list, and a player that behaves on a phone as well as a projector.

no signup any device up to 1080p
request
GET https://embed.vidsrc.pk/movie/tt0133093

<iframe src="https://embed.vidsrc.pk/movie/tt0133093"
        allowfullscreen></iframe>
200 · player ready · no key, no signup
Try it

The player, running

The real embed rather than a picture of one. Paste an id and it loads in place.

Loading the player…

Film · The Matrix

Loads https://embed.vidsrc.pk/movie/tt0133093

Features

Built to be embedded

The parts that matter once the player is inside someone else's page rather than on a page of its own.

Kept current

Sources are re-resolved per request, so a link that has gone stale is replaced rather than served.

Every frame size

The chrome is sized from the player's own box, from a 320×180 widget to a full-screen hero.

Quality and audio

Whatever the source offers, listed and switchable: renditions, audio tracks and playback speed.

Several sources

If one upstream will not answer, the next is tried before the viewer is told anything failed.

Subtitles

Track lists come from the source and are served through the same proxy as the video.

Safe in a frame

Embeddable anywhere, and it refuses to run inside a sandboxed frame where its own guard would be stripped.

API

Endpoints

Two ways in — an embed URL for the player, and a JSON API behind it — plus the data endpoints the player itself is built on.

GET embed.vidsrc.pk/movie/{id}
id required An IMDb id with the tt prefix, or a TMDB id.
https://embed.vidsrc.pk/movie/tt0133093
https://embed.vidsrc.pk/movie/927085
GET embed.vidsrc.pk/tv/{id}/{season}/{episode}
id required An IMDb id with the tt prefix, or a TMDB id.
season optional Defaults to 1.
episode optional Defaults to 1.
https://embed.vidsrc.pk/tv/66732/1/1
https://embed.vidsrc.pk/tv/1399/8/6
GET embed.vidsrc.pk/__stream/providers

Every player by name, with the id to ask for it and whether it is answering right now. This is the list the source menu is built from, so a caller can offer the same choice without loading the player to find out what it has.

https://embed.vidsrc.pk/__stream/providers
id field Pass to the player as ?provider=, or leave it out for auto.
label field The display name, for a menu of your own.
hint field A short note where there is one — a language count, for instance.
healthy field Whether it answered recently. Changes between calls; the caller decides what to do about it.
{ "id": "auto", "label": "Auto", "hint": "best available", "healthy": true }
{ "id": "vidsrcru", "label": "VidSrc.ru", "hint": "", "healthy": false }
GET embed.vidsrc.pk/__stream/getSeasonList?id={id}

Every season of a series with how many episodes each has and the languages available, which is what the player's season and episode switchers are built from.

id required An IMDb or TMDB id for a series.
https://embed.vidsrc.pk/__stream/getSeasonList?id=1399
{ "season": "Season 8", "totalEpisodes": 6, "lang": ["English"] }
GET embed.vidsrc.pk/__stream/mediaInfo?id={id}
id required The same id the player takes.
type required for a series movie or tv. Without it a series is answered as a film, which is the usual way to get a wrong answer out of this one.
season, episode optional Which episode to describe.

Answers with the languages a title is available in, which is what the player's language menu is built from.

https://embed.vidsrc.pk/__stream/mediaInfo?id=550&type=movie
https://embed.vidsrc.pk/__stream/mediaInfo?id=1399&type=tv&season=1&episode=1
FAQs

Questions

Are the links protected from DMCA notices?

Sources are refreshed continuously, so a link that is withdrawn is replaced rather than left to fail.

Are subtitles available for every title?

Subtitles arrive from the source alongside the video, so they appear wherever the source provides them. The menu only appears when there is more than one track to choose from.

How do I use the API?

It is a URL. Put it in an iframe and you have a player; there is nothing to install and no key to request. The endpoints above are the whole of it.

What if a title plays the wrong thing, or nothing?

If nothing plays, the player says so and names which sources it tried; the source menu lets you pick another without leaving the page. A wrong match can be reported from the player.

Can the quality be changed?

Yes, when the source offers more than one rendition. The settings menu holds quality, subtitles and playback speed together.

Are titles available in languages other than English?

Films are largely offered in their original language and the language menu lists what a given source has. Where a source carries several audio tracks they are listed with the quality.

Is anime supported?

Not as a separate thing. Anything with an IMDb or TMDB id resolves the same way as any other title.

Contact

Get in touch

For anything the pages above do not cover.

This form is a preview: it is not connected to a mailbox yet, so please use the address on the left.