REST API for MovieBox with 1080p stream extraction, adaptive DASH manifests, multi-language subtitle parsing, and an embedded web dashboard.
- 1080p Stream Extraction: Direct MP4 streams up to 1080p resolution and DASH manifests.
- Signed Policy Decoder: Decodes signed Edge-Cache-Cookie and CloudFront-Policy tokens.
- Subtitles: Multi-language SRT and VTT caption tracks with authenticated CDN URLs.
- Search & Autocomplete: Keyword search with suggestions and full metadata.
- TV Series & Movies: Deep metadata, seasons, episode breakdowns, and audio dub lists.
- Dashboard: Embedded web UI at root (
/) for testing streams, watching in-browser, and opening raw JSON endpoints.
- Framework: FastAPI
- Networking:
curl_cffi(TLS/JA3 fingerprint impersonation) withhttpxfallback - Server: Uvicorn
-
Clone the repository:
git clone https://github.com/walterwhite-69/Moviebox-API.git cd Moviebox-API -
Install dependencies:
pip install -r requirements.txt
-
Start the server:
uvicorn api:app --host 0.0.0.0 --port 8000 --reload
-
Open
http://localhost:8000in your browser.
Movies only require the subject_id:
- Search Title:
GET /search?q=Avatar
- Resolve 1080p Streams:
GET /api/stream/8906247916759695608
- Fetch Subtitles:
GET /api/stream/8906247916759695608/captions
TV series require checking available seasons and episodes first, then querying with se (season) and ep (episode) query parameters:
- Search Series:
GET /search?q=Breaking+Bad
- Retrieve Season & Episode Breakdown:
Response:
GET /episodes/6207982430134357800
{ "subject_id": "6207982430134357800", "seasons": [ {"season": 1, "episode_count": 7}, {"season": 2, "episode_count": 13}, {"season": 3, "episode_count": 13}, {"season": 4, "episode_count": 13}, {"season": 5, "episode_count": 16} ] } - Resolve Streams for a Specific Episode (e.g. Season 1, Episode 1):
Querying Season 1, Episode 2:
GET /api/stream/6207982430134357800?se=1&ep=1
GET /api/stream/6207982430134357800?se=1&ep=2
- Fetch Subtitles for that Episode:
GET /api/stream/6207982430134357800/captions?se=1&ep=1
| Endpoint | Method | Description |
|---|---|---|
/api/stream/{subject_id} |
GET |
Resolves 1080p, 720p, 480p, 360p MP4 & DASH streams. Query params: se (season, default 0), ep (episode, default 0), detail_path. |
/api/stream/{subject_id}/captions |
GET |
Subtitle tracks (.srt/.vtt) with signed URLs. Query params: se, ep, stream_id. |
| Endpoint | Method | Description |
|---|---|---|
/search?q={query}&page=1 |
GET |
Search titles with release year, ratings, and posters. |
/search/suggest?q={query} |
GET |
Search autocomplete suggestions. |
/detail/{subject_id} |
GET |
Title metadata, genres, audio dubs, and plot summary. |
/episodes/{subject_id} |
GET |
Season breakdown and episode counts for TV Series. |
| Endpoint | Method | Description |
|---|---|---|
/movies?page=1 |
GET |
Filtered movies catalog. |
/tv-series?page=1 |
GET |
Filtered TV series catalog. |
/home |
GET |
Featured banners, trending titles, and section feeds. |
Distributed under the MIT License. See LICENSE for details.