tmdb
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
# 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
# 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
# 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
# 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
# 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
# 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
More from thinkfleetai/thinkfleet-engine
local-whisper
Local speech-to-text using OpenAI Whisper. Runs fully offline after model download. High quality transcription with multiple model sizes.
149flyio-cli-public
Use the Fly.io flyctl CLI for deploying and operating apps on Fly.io: deploys (local or remote builder), viewing status/logs, SSH/console, secrets/config, scaling, machines, volumes, and Fly Postgres (create/attach/manage databases). Use when asked to deploy to Fly.io, debug fly deploy/build/runtime failures, set up GitHub Actions deploys/previews, or safely manage Fly apps and Postgres.
24kagi-search
Web search using Kagi Search API. Use when you need to search the web for current information, facts, or references. Requires KAGI_API_KEY in the environment.
22bambu-local
Control Bambu Lab 3D printers locally via MQTT (no cloud). Supports A1, A1 Mini, P1P, P1S, X1C.
10voice-transcribe
Transcribe audio files using OpenAI's gpt-4o-mini-transcribe model with vocabulary hints and text replacements. Requires uv (https://docs.astral.sh/uv/).
10video-subtitles
Generate SRT subtitles from video/audio with translation support. Transcribes Hebrew (ivrit.ai) and English (whisper), translates between languages, burns subtitles into video. Use for creating captions, transcripts, or hardcoded subtitles for WhatsApp/social media.
10