v1

latestOpenAPI 3.0.0MIT License2026-07-2271015.6 KB
Content

Get streaming sources for a TV episode

Retrieve all available streaming sources and subtitles for a TV episode by TMDB series ID, season number, and episode number.

Requirements:

  • Season number: 0–99 (0 = specials)
  • Episode number: 1–9,999
  • Returns sources with URLs, quality, audio tracks, and provider information
  • Returns subtitles with URLs, labels, and formats
  • Uses proxy paths for all URL fields
  • Includes a unique responseId and expiration timestamp
get/v1/tv/{id}/seasons/{s}/episodes/{e}

Path parameters

idstring required

TMDB series ID (numeric, max 20 characters)

sinteger required

Season number (0–99, where 0 is specials)

einteger required

Episode number (1–9,999)

Response

Streaming sources and subtitles found

responseIdstring uuid required

Unique identifier for this response (UUID v4)

expiresAtstring date-time required

ISO 8601 timestamp when sources expire and cache is invalidated. Recommended default: 2 hours from response time for sources.

Example response

{
  "responseId": "bdfa40a7-a468-461c-8563-7a0c165f252c",
  "expiresAt": "2026-01-15T18:00:00Z",
  "sources": [
    {
      "url": "/v1/proxy?data=%7B%22url%22%3A%22https%3A%2F%2Fcdn.example.com%2Fstream.m3u8%22%7D",
      "quality": "1080p",
      "audioTracks": [
        {
          "language": "en",
          "label": "English"
        }
      ],
      "provider": {
        "id": "prov_1",
        "name": "Provider One"
      }
    }
  ],
  "subtitles": [
    {
      "url": "/v1/proxy?data=%7B%22url%22%3A%22https%3A%2F%2Fcdn.example.com%2Fsub.vtt%22%7D",
      "label": "English",
      "format": "vtt"
    }
  ],
  "diagnostics": [
    {
      "code": "QUALITY_INFERRED",
      "message": "Quality for source 'src_tv_002' was inferred from filename",
      "field": "sources.quality",
      "severity": "warning"
    }
  ]
}