ZOYKUHot Board

walterwhite-69/moviebox-apiDocumentation

High-performance, asynchronous REST API for MovieBox Featuring real-time metadata scraping, search suggestions, and direct video stream extraction (MP4/HLS) with auto-server discovery and Cloudflare bypass. Built with FastAPI.

Quick Install
pip install moviebox-api

MovieBox REST API (v2.0.0)

FastAPI Python Status License

REST API for MovieBox with 1080p stream extraction, adaptive DASH manifests, multi-language subtitle parsing, and an embedded web dashboard.


Features

  • 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.

Tech Stack

  • Framework: FastAPI
  • Networking: curl_cffi (TLS/JA3 fingerprint impersonation) with httpx fallback
  • Server: Uvicorn

Getting Started

Installation

  1. Clone the repository:

    git clone https://github.com/walterwhite-69/Moviebox-API.git
    cd Moviebox-API
  2. Install dependencies:

    pip install -r requirements.txt
  3. Start the server:

    uvicorn api:app --host 0.0.0.0 --port 8000 --reload
  4. Open http://localhost:8000 in your browser.


Workflow & Examples

1. Movie Stream Flow

Movies only require the subject_id:

  1. Search Title:
    GET /search?q=Avatar
  2. Resolve 1080p Streams:
    GET /api/stream/8906247916759695608
  3. Fetch Subtitles:
    GET /api/stream/8906247916759695608/captions

2. TV Series Episode Stream Flow

TV series require checking available seasons and episodes first, then querying with se (season) and ep (episode) query parameters:

  1. Search Series:
    GET /search?q=Breaking+Bad
  2. Retrieve Season & Episode Breakdown:
    GET /episodes/6207982430134357800
    Response:
    {
      "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}
      ]
    }
  3. Resolve Streams for a Specific Episode (e.g. Season 1, Episode 1):
    GET /api/stream/6207982430134357800?se=1&ep=1
    Querying Season 1, Episode 2:
    GET /api/stream/6207982430134357800?se=1&ep=2
  4. Fetch Subtitles for that Episode:
    GET /api/stream/6207982430134357800/captions?se=1&ep=1

Endpoints Summary

Streams & Subtitles

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.

Search & Details

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.

Catalog & Discovery

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.

License

Distributed under the MIT License. See LICENSE for details.

Document mirror archived from official upstream repository · Visit upstream GitHub
Snapshot date: 2026-11-14