Unified Cinema & Streaming Web API

Unified access to high-performance movie & TV show metadata, direct subtitle feeds powered by OnlySub MediaSync, local VOD availability (Filimo, Namava, Filmnet), and upcoming 2026 releases.

⚡ Sub-20ms local SQLite Cache 🌐 No API Key Required (Public Access) 🔗 Full CORS Support for Any Platform
🔍
Real-Time Search
Query titles by English/Persian names, TMDB IDs, or IMDb identifiers.
🎬
Streaming & Affiliate Links
Automated direct watch links for Filimo, Namava, and Filmnet with tracking tags.
📝
OnlySub Subtitles
Direct stream links for UTF-8 SRT and VTT subtitle tracks.

Standard REST Endpoints

GET https://tvi.ir/api/v1/search?q={query}
Search cinema catalog. Items missing in the local database are fetched and cached on-demand from upstream TMDB.
curl -X GET "https://tvi.ir/api/v1/search?q=Spider-Man" \ -H "Accept: application/json"
GET https://tvi.ir/api/v1/titles/{id_or_slug}
Retrieve detailed title info (English & Persian titles, synopsis, ratings, posters, streaming providers, and subtitles).
// JavaScript / Frontend Client Example fetch("https://tvi.ir/api/v1/titles/spider-man-brand-new-day") .then(res => res.json()) .then(data => { console.log("Title:", data.title_en); console.log("Ratings:", data.tmdb_rating); console.log("Available Subtitles:", data.subtitles); console.log("Streaming Platforms:", data.available_platforms); });
GET https://tvi.ir/api/v1/subtitles/{id_or_slug}
Dedicated subtitle track discovery for custom video players (Video.js, HLS.js, native apps).
curl -X GET "https://tvi.ir/api/v1/subtitles/spider-man-brand-new-day" \ -H "Accept: application/json"
GET https://tvi.ir/api/v1/platforms/{id_or_slug}
Query availability and affiliate deep-links across Filimo, Namava, and Filmnet.
curl -X GET "https://tvi.ir/api/v1/platforms/spider-man-brand-new-day" \ -H "Accept: application/json"

WordPress / PHP Integration

Seamlessly import or display cinema titles in WordPress plugins, templates, or REST endpoints:
// Standard WordPress HTTP API call $response = wp_remote_get('https://tvi.ir/api/v1/titles/spider-man-brand-new-day', array('timeout' => 8)); if (!is_wp_error($response) && wp_remote_retrieve_response_code($response) === 200) { $movie = json_decode(wp_remote_retrieve_body($response), true); $title_en = $movie['title_en']; $poster = $movie['poster_url']; $platforms = $movie['available_platforms']; $subtitles = $movie['subtitles']; }