home / skills / openclaw / skills / tmdb

tmdb skill

This skill lets you search TMDb for movies, TV shows, and people, retrieve details, streams, and personalized recommendations.

npx playbooks add skill openclaw/skills --skill tmdb

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
3.2 KB
---
name: tmdb
description: Search movies/TV, get cast, ratings, streaming info, and personalized recommendations via TMDb API.
homepage: https://www.themoviedb.org/
metadata: {"clawdis":{"emoji":"🎬","requires":{"bins":["uv"],"env":["TMDB_API_KEY"]},"primaryEnv":"TMDB_API_KEY"}}
---

# TMDb - The Movie Database

Comprehensive movie and TV information with streaming availability, recommendations, and personalization.

## Setup

Set environment variable:
- `TMDB_API_KEY`: Your TMDb API key (free at themoviedb.org)

## Quick Commands

### Search
```bash
# Search movies
uv run {baseDir}/scripts/tmdb.py search "Inception"

# Search TV shows
uv run {baseDir}/scripts/tmdb.py search "Breaking Bad" --tv

# Search people (actors, directors)
uv run {baseDir}/scripts/tmdb.py person "Christopher Nolan"
```

### Movie/TV Details
```bash
# Full movie info
uv run {baseDir}/scripts/tmdb.py movie 27205

# With cast
uv run {baseDir}/scripts/tmdb.py movie 27205 --cast

# TV show details
uv run {baseDir}/scripts/tmdb.py tv 1396

# By name (searches first, then shows details)
uv run {baseDir}/scripts/tmdb.py info "The Dark Knight"
```

### Where to Stream
```bash
# Find streaming availability
uv run {baseDir}/scripts/tmdb.py where "Inception"
uv run {baseDir}/scripts/tmdb.py where 27205

# Specify region
uv run {baseDir}/scripts/tmdb.py where "Inception" --region GB
```

### Discovery
```bash
# Trending this week
uv run {baseDir}/scripts/tmdb.py trending
uv run {baseDir}/scripts/tmdb.py trending --tv

# Recommendations based on a movie
uv run {baseDir}/scripts/tmdb.py recommend "Inception"

# Advanced discover
uv run {baseDir}/scripts/tmdb.py discover --genre action --year 2024
uv run {baseDir}/scripts/tmdb.py discover --genre sci-fi --rating 7.5
```

### Personalization
```bash
# Get personalized suggestions (uses Plex history + preferences)
uv run {baseDir}/scripts/tmdb.py suggest <user_id>

# Set preferences
uv run {baseDir}/scripts/tmdb.py pref <user_id> --genres "sci-fi,thriller,drama"
uv run {baseDir}/scripts/tmdb.py pref <user_id> --directors "Christopher Nolan,Denis Villeneuve"
uv run {baseDir}/scripts/tmdb.py pref <user_id> --avoid "horror,romance"

# View preferences
uv run {baseDir}/scripts/tmdb.py pref <user_id> --show
```

### Watchlist
```bash
# Add to watchlist
uv run {baseDir}/scripts/tmdb.py watchlist <user_id> add 27205
uv run {baseDir}/scripts/tmdb.py watchlist <user_id> add "Dune: Part Two"

# View watchlist
uv run {baseDir}/scripts/tmdb.py watchlist <user_id>

# Remove from watchlist
uv run {baseDir}/scripts/tmdb.py watchlist <user_id> rm 27205
```

## Integrations

### Plex
If the Plex skill is available, `suggest` command pulls recent watch history to inform recommendations.

### ppl.gift (CRM)
If ppl skill is available, preferences are stored as notes on the user's contact for persistence across sessions.

## Genre IDs

Common genres for `--genre` filter:
- action (28), adventure (12), animation (16)
- comedy (35), crime (80), documentary (99)
- drama (18), family (10751), fantasy (14)
- horror (27), mystery (9648), romance (10749)
- sci-fi (878), thriller (53), war (10752)

## Notes

- TMDb API: 40 requests per 10 seconds (free tier)
- Watch providers vary by region (default: US)
- Recommendations combine TMDb data + user preferences + watch history

Overview

This skill connects to The Movie Database (TMDb) to search movies, TV shows, and people, retrieve detailed metadata, and surface streaming availability. It also offers discovery, personalized recommendations, and simple watchlist management driven by user preferences and watch history. Setup requires a TMDb API key in the TMDB_API_KEY environment variable.

How this skill works

The skill queries TMDb endpoints to perform searches, fetch full movie or TV details (including cast), and lookup regional streaming providers. It supports discovery and trending feeds, recommendation generation that blends TMDb suggestions with stored user preferences and optional watch history (e.g., from Plex). Watchlist and preference changes are stored per user and can be used to refine future suggestions.

When to use it

  • Find where a movie or show is streaming in a specific region
  • Look up full cast, ratings, and metadata for a title or person
  • Generate recommendations tailored to a user’s genres, directors, and viewing history
  • Discover trending movies or TV shows and explore by genre/year/rating
  • Manage a personal watchlist and preferences for repeated use

Best practices

  • Set TMDB_API_KEY as an environment variable before running commands
  • Respect TMDb rate limits (40 requests per 10 seconds) when scripting bulk requests
  • Specify region for accurate streaming availability (default is US)
  • Use the suggest flow with Plex integration to improve personalization via real watch history
  • Store preferences (genres, directors, avoid-list) for better long-term recommendations

Example use cases

  • Search for a movie by name and fetch full cast and ratings to decide whether to watch
  • Ask where a title streams in your country and open the correct provider
  • Discover recommended titles similar to a favorite film or tailored to saved genre preferences
  • Set a user’s preferred genres and directors, then request personalized suggestions using Plex history
  • Add or remove titles from a user watchlist and view the aggregated watchlist

FAQ

Do I need an API key?

Yes. Set TMDB_API_KEY to your TMDb API key obtained from themoviedb.org.

How do recommendations get personalized?

Recommendations combine TMDb’s recommendation engine with stored user preferences and optional watch history (e.g., from Plex) to produce tailored suggestions.