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.
Deliver an optimized User Experience
There are plenty of essential features optimized to provide the best user experience.
Auto Update
Responsive
High Quality
Fast Streaming Servers
API Documentation
Example:
Or:
Example:
Example with IDs:
Note: The /media/ format requires TMDB IDs for season and episode, while the /embed/ format uses season and episode numbers.
Example:
Time Stamp Parameter
t=08:47
Time code in HH:MM:SS format
Theme Parameter theme=default
Player theme (default: default)
Language Parameter language=en
Player interface language (default: en)
Logo Parameter logo=true
Show/hide player logo (default: true)
Downloads Parameter downloads=true
Enable/disable downloads menu (default: true)
Watch Party Parameter
has-watchparty=true
Enable/disable watch party feature (default: true)
Language Order Parameter
language-order=en,hi,fr,de,nl,pt
Set subtitle language priority order (default: en,hi,fr,de,nl,pt)
All In One Parameter allinone=true
Enable/disable episode selector, next episode button, and info button (default: false)
Scale Parameter scale=0.9
Set the scale of the interface (default: 1)
Backlink Parameter
backlink=https://yoursite.com
Backlink URL (default: "" = hidden)
Enable FED API Parameter fedapi=true
"Setup FED API" button visiblility (default: true)
Enable Debrid Parameter debrid=true
"Setup Debrid" button visiblility (default: true)
Interface settings Parameter
interface-setting=true
Hide or show interface settings (default: true)
Tips Parameter
tips=true
Hide or show tips (default: true)
The player can communicate with your website through postMessage events. The player sends time updates that can be used to track playback progress or integrate with your analytics. Here's how to listen for these events:
Basic Implementation:
// Listen for messages from the player iframe
window.addEventListener("message", (event) => {
// Verify the message is from our player domain
if (event.origin !== "https://iframe.pstream.mov") return;
// Handle time update events
if (event.data.type === "playerTimeUpdate") {
console.log("Current time:", event.data.time);
console.log("Total duration:", event.data.duration);
}
// Handle episode change events
if (event.data.type === "episodeChanged") {
console.log("Changed from S" + event.data.oldSeasonNumber +
"E" + event.data.oldEpisodeNumber +
" to S" + event.data.seasonNumber +
"E" + event.data.episodeNumber);
// You can use this to update your UI or track viewing history
}
});
Available Events:
playerTimeUpdate
Fired when the playback time changes. Updates are throttled to every 1 second to prevent excessive message passing.
{
type: "playerTimeUpdate",
time: number, // Current time in seconds
duration: number // Total duration in seconds
tmdbId: string, // TMDB ID
imdbId: string // IMDB ID
}
episodeChanged
Fired when the user changes episodes within a TV series. This event provides both the new episode/season information and the previous values.
{
type: "episodeChanged",
episodeNumber: number, // New episode number
seasonNumber: number, // New season number
tmdbId: string, // TMDB ID of the show
imdbId: string, // IMDB ID of the show
oldEpisodeNumber: number, // Previous episode number
oldSeasonNumber: number // Previous season number
}
Implementation Details:
- Time updates are throttled to prevent excessive message passing
- The time value is always between 0 and the total duration
- Updates are sent both during normal playback and when seeking
- Episode change events are fired whenever a user switches episodes within a series
-
The event is sent to the parent window using
window.parent.postMessage()