---
title: "Get title episodes"
method: GET
path: "/title/{title_id}/episodes"
tags: ["Title"]
---

# Get title episodes

`GET /title/{title_id}/episodes`

Get episodes for a TV series or mini-series, including streaming sources for each episode.
For paid plans, includes deep links to watch each episode on streaming services.
Use `season` and `episode` for granular retrieval, or `limit` and `offset` to page through large series.
Episode localization is opt-in with `episode_language`; unavailable fields fall back to English.

## Path parameters

- `title_id` string, required

## Query parameters

- `regions` string
- `season` integer
- `episode` integer
- `episode_id` integer
- `episode_language` string
- `include_sources` boolean
- `limit` integer
- `offset` integer

## Response `200`

List of episodes with sources

- Episode[]
  - `id` integer
  - `name` string
  - `episode_number` integer
  - `season_number` integer
  - `season_id` integer, nullable
  - `tmdb_id` integer, nullable
  - `imdb_id` string, nullable
  - `thumbnail_url` string, uri, nullable — Episode thumbnail image URL. May point to a third-party host. Watchmode does not grant any license to the underlying image.
  - `release_date` string, date, nullable
  - `runtime_minutes` integer, nullable
  - `overview` string, nullable
  - `sources` EpisodeSource[]
    - `source_id` integer
    - `name` string
    - `type` 'sub' | 'rent' | 'buy' | 'free' | 'tve' — Availability type for this episode on this source: - `sub` - Available with subscription - `rent` - Available for rental - `buy` - Available for purchase - `free` - Available for free (ad-supported) - `tve` - Available with TV Channel App (cable login)
    - `region` string
    - `ios_url` string, nullable — iOS deep link. For free plans, returns message string.
    - `android_url` string, nullable — Android deep link. For free plans, returns message string.
    - `web_url` string, nullable — Web URL. For free plans, returns message string.
    - `tvos_url` string, uri, nullable — tvOS deep link (only if TV links enabled)
    - `android_tv_url` string, uri, nullable — Android TV deep link (only if TV links enabled)
    - `roku_url` string, uri, nullable — Roku deep link (only if TV links enabled)
    - `format` string, nullable — Video quality
    - `price` number, nullable — Price for rent/buy

## Other responses

- `400` — Invalid request parameters
- `401` — Invalid or missing API key
- `404` — Resource not found

## Changes

- **2026-07-26** `9e306e252b81` — 8 info
  - added the new optional `query` request parameter `episode`
  - added the new optional `query` request parameter `episode_id`
  - added the new optional `query` request parameter `episode_language`
  - added the new optional `query` request parameter `include_sources`
  - …4 more

[Change history](https://skmtc.dev/watchmode/apis/watchmode-api/changes/title/:title_id/episodes/get.md)

---

[API](https://skmtc.dev/watchmode/apis/watchmode-api.md) · [All operations](https://skmtc.dev/watchmode/apis/watchmode-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/watchmode/watchmode-api/revisions/3215d2b959fa/schema)
