Free REST API

Movie & TV Show
Data API

39+ endpoints for movies, TV shows, streaming links, genres, cast, sub/dub info. No API key required. Free forever.

39+
API Endpoints
0
API Keys Required
75
Genres Available
Free
Forever

Base URL

All endpoints are accessed via this base URL. No authentication needed.

Base URL
https://multimoviesapis.vercel.app/api/
All responses are JSON. Every response includes success, results, and creator fields.

All 39+ Endpoints

Complete list of every API endpoint with descriptions and examples.

Home

GET
/api/
Homepage — featured content, latest movies, TV shows, genres

Search & Filter

GET
/api/search?q={query}
Search movies and TV shows by title
GET
/api/search/suggest?q={query}
Autocomplete search suggestions
GET
/api/filter?genre={g}&year={y}&quality={q}
Filter by genre, year, quality, type, letter
GET
/api/filter/options
Available filter options (genres, years, qualities)
GET
/api/az-list/{letter}
Alphabetical listing (A-Z, 0-9)
GET
/api/random
Random movie or TV show

Movies

GET
/api/movies
Paginated movie listing (18 per page)
GET
/api/movies/{slug}
Movie detail — info, sources, related
GET
/api/movies/{slug}/subdub
Sub/dub detection for movie

TV Shows

GET
/api/tvshows
Paginated TV show listing (18 per page)
GET
/api/tvshows/{slug}
TV show detail — info, sources, seasons
GET
/api/tvshows/{slug}/seasons
Season list for TV show
GET
/api/tvshows/{slug}/seasons/{n}/episodes
Episodes for specific season
GET
/api/tvshows/{slug}/episodes?season={n}
Episode list (query param style)
GET
/api/tvshows/{slug}/subdub
Sub/dub detection for TV show

Streaming

GET
/api/stream?id={id}&nume={n}&type={t}
DooPlayer stream URL resolution
GET
/api/embed/{slug}?type={t}
CineVerse embed URL via TMDB lookup
GET
/api/player/{slug}?type={t}&title={title}
Ad-blocked player wrapper page (HTML)

Content Sections

GET
/api/featured
Featured content carousel
GET
/api/trending?type={type}
Trending movies or TV shows
GET
/api/popular?type={type}
Most popular content
GET
/api/recently-added?type={type}
Recently added content

Categories & Taxonomies

GET
/api/genre/{slug}
Content by genre
GET
/api/cast/{slug}
Cast member filmography
GET
/api/director/{slug}
Director filmography
GET
/api/year/{slug}
Content by year
GET
/api/studio/{slug}
Studio filmography
GET
/api/network/{slug}
Network content
GET
/api/quality/{slug}
Content by quality

Taxonomy Lists (WP REST API)

GET
/api/genres
All 75 genres
GET
/api/cast
All cast members (37,000+)
GET
/api/directors
All directors (12,000+)
GET
/api/years
All release years
GET
/api/studios
All studios
GET
/api/networks
All networks
GET
/api/quality
All quality tags (30)
GET
/api/creators
All content creators

Health & Status

GET
/api/status
API health check, uptime, version info
GET
/api/health
Health check (alias for /status)

Ad-Blocked Player

Embed our ad-blocked player on your website. Popup ads, redirects, and overlays are automatically blocked.

Player URL Format
https://multimoviesapis.vercel.app/api/player/{slug}?type=movie&title=Movie+Title
TV Show Player
https://multimoviesapis.vercel.app/api/player/{slug}?type=tv&season=1&episode=1&title=Show+Title
Parameters
ParameterTypeRequiredDescription
typestringRequiredmovie or tv
titlestringOptionalContent title for page title
seasonintegerTV OnlySeason number
episodeintegerTV OnlyEpisode number
serverintegerOptionalServer index (default: 0)
yearstringOptionalRelease year for TMDB lookup
Ad-blocking includes: Popup blocker, redirect blocker, ad element removal, external iframe removal, sandboxed iframe, beforeunload hijack prevention.
HTML — iFrame Integration
<!-- Ad-blocked player iframe -->
<iframe
  src="https://multimoviesapis.vercel.app/api/player/inception?type=movie&title=Inception"
  width="100%"
  height="500"
  frameborder="0"
  allowfullscreen
  allow="autoplay; fullscreen; picture-in-picture"
></iframe>

Integration Examples

Copy-paste ready code for JavaScript, PHP, Python, and cURL.

JavaScript
PHP
Python
cURL
Responsive iFrame
JavaScript — Fetch API
const API = 'https://multimoviesapis.vercel.app';

const search = async (query) => {
  const res = await fetch(`${API}/api/search?q=${query}`);
  const data = await res.json();
  return data.results;
};

const getMovie = async (slug) => {
  const res = await fetch(`${API}/api/movies/${slug}`);
  return (await res.json()).results;
};

function loadPlayer(containerId, slug, type) {
  const url = `${API}/api/player/${slug}?type=${type}`;
  document.getElementById(containerId).innerHTML =
    `<iframe src="${url}" style="width:100%;height:500px;border:none;" allowfullscreen></iframe>`;
}
PHP
<?php
$API = 'https://multimoviesapis.vercel.app';

function api_get($endpoint) {
  global $API;
  $data = file_get_contents($API . $endpoint);
  return json_decode($data, true);
}

$results = api_get('/api/search?q=batman');
foreach ($results['results']['items'] as $movie) {
  echo $movie['title'] . '<br>';
}

function player_embed($slug, $type = 'movie') {
  global $API;
  $url = "$API/api/player/$slug?type=$type";
  return "<iframe src='$url' style='width:100%;height:500px;border:none;' allowfullscreen></iframe>";
}
Python — requests
import requests

API = "https://multimoviesapis.vercel.app"

def search(query):
    r = requests.get(f"{API}/api/search", params={"q": query})
    return r.json()["results"]["items"]

def get_movie(slug):
    r = requests.get(f"{API}/api/movies/{slug}")
    return r.json()["results"]

def player_url(slug, type_="movie"):
    return f"{API}/api/player/{slug}?type={type_}"

movies = search("batman")
print(movies[0]["title"])
cURL
# Search
curl "https://multimoviesapis.vercel.app/api/search?q=batman"

# Movie detail
curl "https://multimoviesapis.vercel.app/api/movies/inception"

# TV show episodes
curl "https://multimoviesapis.vercel.app/api/tvshows/the-boys/seasons/1/episodes"

# Filter movies
curl "https://multimoviesapis.vercel.app/api/filter?genre=action&year=2024&type=movie"

# Health check
curl "https://multimoviesapis.vercel.app/api/status" | jq
HTML + CSS — Responsive 16:9
<!-- Responsive ad-blocked player -->
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;">
  <iframe
    src="https://multimoviesapis.vercel.app/api/player/inception?type=movie"
    style="position:absolute;top:0;left:0;width:100%;height:100%;border:none;"
    allowfullscreen
    allow="autoplay; fullscreen; picture-in-picture"
  ></iframe>
</div>

Test the API

Make a live request to any endpoint directly from this page.

API Explorer
GET
// Click "Run" to test

Rate Limits

Fair usage limits protect the API from abuse and ensure availability for everyone.

Current Limits
LimitValueDescription
Requests per minute60Per IP address
Burst allowance10Short burst allowed
Cache TTL30 minIn-memory response cache
Exceeding these limits may result in 429 Too Many Requests. Cache responses on your end when possible.

Error Codes

Common HTTP status codes returned by the API.

Error Reference
StatusMeaningWhen It Happens
200 OKSuccessRequest succeeded
400 Bad RequestClient ErrorMissing or invalid parameters
404 Not FoundNot FoundContent or endpoint doesn't exist
429 Too Many RequestsRate LimitedRequest quota exceeded
500 Server ErrorServer ErrorUpstream source failed
503 Service UnavailableUnavailableSource website temporarily down

Standard Response

Every endpoint returns data in this consistent format.

JSON — Response Structure
{
  "success": true,
  "results": {
    "title": "Inception",
    "type": "movie",
    "slug": "inception",
    "sources": [
      {
        "title": "Server 01",
        "embed_url": "https://gdmirrorbot.nl/embed/abt92w4",
        "type": "iframe"
      }
    ]
  },
  "creator": {
    "name": "Shinei Nouzen",
    "github": "https://github.com/Shineii86",
    "telegram": "https://t.me/Shineii86",
    "timestamp": "2026-06-16T12:00:00+05:30"
  }
}

What's Included

39+ Endpoints

Complete coverage — search, filter, detail, streaming, genres, cast, directors.

No API Key Required

Zero authentication. Just call the endpoint and get JSON data. Free forever.

Ad-Blocked Player

Built-in player wrapper that blocks popups, redirects, and ad overlays.

Fast Response

In-memory caching with 30-minute TTL. Sub-second response times.

Mobile Friendly

Responsive JSON data. Works seamlessly on mobile and desktop clients.

Multiple Sources

DooPlayer + CineVerse (TMDB) sources. Automatic fallback between servers.

Important Notes

Rate limiting is enabled. Excessive requests may be temporarily blocked. Be respectful.
CineVerse sources require TMDB_API_KEY env var. DooPlayer sources work without configuration.
All responses include creator attribution. Please keep it intact when using the API.