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

# Get title details

`GET /title/{title_id}/details`

Get detailed information about a specific movie or TV show.

**ID Formats Accepted:**
- Watchmode ID (e.g., `345534`) - costs 1 credit
- IMDB ID (e.g., `tt0903747`) - costs 2 credits
- TMDB format (e.g., `movie-278` or `tv-1396`) - costs 2 credits

Use `append_to_response` to include additional data in a single request.

## Path parameters

- `title_id` string, required

## Query parameters

- `append_to_response` string
- `language` string
- `regions` string

## Response `200`

Title details

- TitleDetails
  - `id` integer
  - `title` string
  - `original_title` string, nullable
  - `plot_overview` string, nullable — Plot overview (AI-enhanced when available)
  - `will_you_like_this` string, nullable — AI-generated "Will you like this?" snippet
  - `review_summary` string, nullable — AI-generated summary of reviews
  - `type` 'movie' | 'tv_series' | 'tv_special' | 'tv_miniseries' | 'short_film' | 'tv_movie'
  - `runtime_minutes` integer, nullable
  - `year` integer
  - `end_year` integer, nullable — For TV series, the year the show ended
  - `release_date` string, date, nullable
  - `imdb_id` string, nullable
  - `tmdb_id` integer, nullable
  - `tmdb_type` 'movie' | 'tv', nullable
  - `genres` integer[], nullable — Array of genre IDs
  - `genre_names` string[], nullable — Array of genre names
  - `user_rating` number, nullable — User rating (0-10)
  - `critic_score` integer, nullable — Critic score (0-100)
  - `us_rating` string, nullable — US content rating
  - `content_ratings` object — Content ratings keyed by ISO 3166-1 alpha-2 country code
  - `poster` string, uri, nullable — Poster image URL. May point to a third-party host. Watchmode does not grant any license to the underlying image.
  - `posterMedium` string, uri, nullable — Medium poster image URL. May point to a third-party host. Watchmode does not grant any license to the underlying image.
  - `posterLarge` string, uri, nullable — Large poster image URL. May point to a third-party host. Watchmode does not grant any license to the underlying image.
  - `backdrop` string, uri, nullable — Backdrop image URL. May point to a third-party host. Watchmode does not grant any license to the underlying image.
  - `original_language` string, nullable — ISO 639-1 language code
  - `similar_titles` integer[], nullable — Array of similar title IDs
  - `networks` integer[], nullable — Network IDs (for TV)
  - `network_names` string[], nullable — Network names (for TV)
  - `relevance_percentile` number, nullable — Relevance percentile (0-100)
  - `popularity_percentile` number, nullable — Popularity percentile (0-100)
  - `trailer` string, uri, nullable — YouTube trailer URL
  - `trailer_thumbnail` string, uri, nullable — Trailer thumbnail URL
  - `english_title` string — English title (when language param is not EN)
  - `sources` TitleSource[] — Streaming sources (when append_to_response=sources)
    - `source_id` integer
    - `name` string
    - `type` 'sub' | 'rent' | 'buy' | 'free' | 'tve' — Availability type for this title 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 URL. For free plans, returns "Deeplinks available for paid plans only."
    - `android_url` string, nullable — Android deep link URL. For free plans, returns "Deeplinks available for paid plans only."
    - `web_url` string, uri, nullable — Web URL to watch the title
    - `tvos_url` string, uri, nullable — tvOS deep link. **Only included if TV links are enabled for your account.**
    - `android_tv_url` string, uri, nullable — Android TV deep link. **Only included if TV links are enabled for your account.**
    - `roku_url` string, uri, nullable — Roku deep link. **Only included if TV links are enabled for your account.**
    - `format` string, nullable — Video quality (HD, 4K, etc.)
    - `price` number, nullable — Price for rent/buy sources
    - `seasons` integer, nullable — Number of seasons available (for TV)
    - `episodes` integer, nullable — Number of episodes available (for TV)
  - `seasons` Season[] — Seasons (when append_to_response=seasons)
    - `id` integer
    - `poster_url` string, uri, nullable — Season poster image URL. May point to a third-party host. Watchmode does not grant any license to the underlying image.
    - `name` string, nullable
    - `overview` string, nullable
    - `number` integer, nullable — Season number
    - `air_date` string, date, nullable
    - `episode_count` integer, nullable
  - `episodes` Episode[] — Episodes (when append_to_response=episodes)
    - `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
  - `cast` CastCrew[] — Cast/crew (when append_to_response=cast-crew)
    - `person_id` integer — Watchmode person ID
    - `type` 'Cast' | 'Crew'
    - `full_name` string
    - `role` string — Character name (cast) or job title (crew)
    - `episode_count` integer — Number of episodes (for TV)
    - `order` integer, nullable — Billing order

## Other responses

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

## Changes

- **2026-08-20** `3215d2b959fa` — 1 info
  - added the optional property `content_ratings` to the response with the `200` status

[Change history](https://skmtc.dev/watchmode/apis/watchmode-api/changes/title/:title_id/details/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)
