Skip to main content
GET
/
api
/
movie
GET /api/movie
curl --request GET \
  --url https://vyla-api.pages.dev/api/movie
{
  "success": true,
  "results_found": 123,
  "sources": [
    {
      "url": "<string>",
      "type": "<string>",
      "quality": "<string>",
      "provider": "<string>",
      "audioTracks": [
        {
          "language": "<string>",
          "label": "<string>"
        }
      ],
      "headers": {
        "Referer": "<string>",
        "Origin": "<string>"
      },
      "vlc_url": "<string>"
    }
  ],
  "subtitles": [
    {
      "url": "<string>",
      "label": "<string>",
      "format": "<string>"
    }
  ]
}
Scrapes all providers for a movie and returns the raw source list. Sources are sorted by quality and filtered to English audio only. No deduplication beyond exact URL matches is applied at this layer.
For enriched output with pre-built download_url, ffmpeg_command, and deeper deduplication across all providers in parallel, use GET /api/stream/movie instead.

Query Parameters

id
string
required
TMDB movie ID. Find it at themoviedb.org — it’s the number in the URL, e.g. themoviedb.org/movie/550550.

Example Request

curl https://vyla-api.pages.dev/api/movie?id=550

Response

success
boolean
required
true if scraping succeeded, false otherwise.
results_found
number
required
Total number of sources returned.
sources
Source[]
required
Array of stream source objects, sorted by quality descending.
subtitles
Subtitle[]
required
Array of subtitle objects. See Subtitles for full details.
{
  "success": true,
  "results_found": 9,
  "sources": [
    {
      "url": "https://vixsrc.to/playlist/170060?token=...&expires=...&h=1",
      "type": "hls",
      "quality": "1080p",
      "provider": "VixSrc",
      "audioTracks": [
        { "language": "eng", "label": "English" }
      ],
      "headers": {
        "Referer": "https://vixsrc.to",
        "Origin": "https://vixsrc.to"
      },
      "vlc_url": "https://vixsrc.to/playlist/170060?token=...&expires=...&h=1"
    }
  ],
  "subtitles": [
    {
      "url": "https://vdrk.b-cdn.net/cache/movie/550/English.vtt",
      "label": "English",
      "format": "vtt"
    }
  ]
}
The headers field on each source must be forwarded when fetching the stream directly. Pass them as base64 JSON to /api/proxy via the headers param, or use /api/stream/movie which handles header encoding in vlc_url automatically.