themoviedb.org API: Get movie details
Finds a movie on TMDB by exact title (optionally its release year) or by TMDB movie link, and returns its details, cast, crew, trailers, and the release date, age rating and streaming services for a chosen country.
Unofficial. Not affiliated with or endorsed by themoviedb.org.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Year optional
year Release year to distinguish similarly named movies, for example 2024.
1933
Whole number.
- Title, required
title Movie name or TMDB movie link, for example Dune: Part Two.
King Kong
- Country optional
country Country name or two-letter code for releases, ratings and watching options, for example France or FR.
GB
Default
United States.
Input as JSON
{ "year": 1933, "title": "King Kong", "country": "GB"}Output
{ "cast": [ { "actor": "Robert Armstrong", "character": "Carl Denham" }, { "actor": "Fay Wray", "character": "Ann Darrow" }, { "actor": "Bruce Cabot", "character": "Jack Driscoll" } ], "title": "King Kong", "budget": { "amount": 672000, "currency": "USD" }, "genres": [ "Adventure", "Fantasy", "Horror" ], "revenue": { "amount": 10001781, "currency": "USD" }, "runtime": "1h 40m", "tagline": "Beauty conquered the beast!", "tmdb_id": 244, "writers": [ "James Ashmore Creelman", "Ruth Rose" ], "overview": "Adventurous filmmaker Carl Denham sets out to produce a motion picture unlike anything the world has seen before. Alongside his leading lady Ann Darrow and his first mate Jack Driscoll, they arrive on an island and discover a legendary creature said to be neither beast nor man. Denham captures the m…", "trailers": [ { "link": "https://www.youtube.com/watch?v=H0WpKl2A_2k" , "title": "King Kong Trailer (1933)" }, { "link": "https://www.youtube.com/watch?v=I8P7RzqOU_M" , "title": "Trailer" } ], "directors": [ "Ernest B. Schoedsack", "Merian C. Cooper" ], "tmdb_link": "https://www.themoviedb.org/movie/244-king-kong" , "age_rating": "PG", "release_date": "1933-06-23", "original_title": "King Kong", "where_to_watch": [ "Amazon Prime Video", "Amazon Prime Video with Ads", "BBC iPlayer" ], "number_of_votes": 1671, "original_language": "English", "poster_image_link": "https://media.themoviedb.org/t/p/original/lHlnxKL5GbgRibyRFI7n1Ey850i.jpg" , "user_score_percent": 76, "backdrop_image_link": "https://media.themoviedb.org/t/p/original/lYfHa1AtkUMtplrKx7SRLHpwonW.jpg" }Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"themoviedb.org/get_movie","input":{"year":1933,"title":"King Kong","country":"GB"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "themoviedb.org/get_movie" , "input": { "year": 1933, "title": "King Kong", "country": "GB" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "themoviedb.org/get_movie" , "input": { "year": 1933, "title": "King Kong", "country": "GB" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run themoviedb.org/get_movie# with {"year":1933,"title":"King Kong","country":"GB"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "title" ], "properties": { "year": { "type": "integer", "description": "Release year to distinguish similarly named movies, for example 2024." }, "title": { "type": "string", "description": "Movie name or TMDB movie link, for example Dune: Part Two." }, "country": { "type": "string", "default": "United States", "description": "Country name or two-letter code for releases, ratings and watching options, for example France or FR." } }}Output schema
{ "type": "object", "required": [ "title", "original_title", "tagline", "overview", "release_date", "age_rating", "runtime", "genres", "user_score_percent", "number_of_votes", "budget", "revenue", "original_language", "directors", "writers", "cast", "trailers", "where_to_watch", "poster_image_link", "backdrop_image_link", "tmdb_link", "tmdb_id" ], "properties": { "cast": { "type": "array", "items": { "type": "object", "required": [ "actor", "character" ], "properties": { "actor": { "type": [ "string", "null" ] }, "character": { "type": [ "string", "null" ] } } } }, "title": { "type": "string" }, "budget": { "type": [ "object", "null" ], "required": [ "amount", "currency" ], "properties": { "amount": { "type": "number" }, "currency": { "type": "string" } } }, "genres": { "type": "array", "items": { "type": "string" } }, "revenue": { "type": [ "object", "null" ], "required": [ "amount", "currency" ], "properties": { "amount": { "type": "number" }, "currency": { "type": "string" } } }, "runtime": { "type": [ "string", "null" ] }, "tagline": { "type": [ "string", "null" ] }, "tmdb_id": { "type": "integer" }, "writers": { "type": "array", "items": { "type": "string" } }, "overview": { "type": [ "string", "null" ] }, "trailers": { "type": "array", "items": { "type": "object", "required": [ "title", "link" ], "properties": { "link": { "type": "string" }, "title": { "type": "string" } } } }, "directors": { "type": "array", "items": { "type": "string" } }, "tmdb_link": { "type": "string" }, "age_rating": { "type": [ "string", "null" ] }, "release_date": { "type": [ "string", "null" ], "format": "date" }, "original_title": { "type": [ "string", "null" ] }, "where_to_watch": { "type": "array", "items": { "type": "string" } }, "number_of_votes": { "type": [ "integer", "null" ] }, "original_language": { "type": [ "string", "null" ] }, "poster_image_link": { "type": [ "string", "null" ] }, "user_score_percent": { "type": [ "integer", "null" ] }, "backdrop_image_link": { "type": [ "string", "null" ] } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
themoviedb.org/get_movie- Returns
- title, original title, tagline, overview, release date, age rating, runtime, genres, user score, votes, budget, revenue, language, directors, writers, cast, trailers, where to watch, poster and backdrop images, TMDB link and ID
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method themoviedb.org/get_movie with the inputs above.
Ask your agent
- Who directed Oppenheimer (2023), how long is it, and where can I stream it in the US?
- Pull up the TMDB page for Parasite and tell me its original title, user score, and budget vs box office revenue.
- What's the age rating and release date of Inside Out 2 in Germany, and which services there carry it?
- I need the cast list, writers, and trailer links for the 1982 version of The Thing.
- Get me everything on https://www.themoviedb.org/movie/603-the-matrix — tagline, genres, runtime, and where to watch it in the UK.
See more
All themoviedb.org methodsFinds a TV show on TMDB by exact name or TMDB show link and returns its details, cast, seasons, the last aired and next scheduled episodes, and the streaming services listed for a chosen country.
themoviedb.org/get_tv_showLists movies scheduled for theatrical release in a country over the coming three weeks, soonest first, from TMDB's country-specific release calendar, with genres, overview and user score.
themoviedb.org/list_upcoming_moviesLists TMDB homepage trending titles for today or this week in displayed order, with year, user score, overview and poster. The homepage shows up to 20 mixed movie and TV titles per period; the movie and TV filters select from those.
themoviedb.org/list_trendingGets a movie or TV show's IMDb details from its name, IMDb title link or title ID; a year picks between titles with the same name. Unavailable details are null.
imdb.com/get_movie_or_showGets one Netflix movie or series by its exact name or Netflix title URL: title details, publicly shown seasons and episodes, and whether it is available in a given country's catalogue (checked against public JustWatch listings).
netflix.com/get_movie_or_showFinds a movie on Box Office Mojo by title, with an optional year, and returns its box office totals, release details, theater counts and markets.
boxofficemojo.com/get_movie_box_officeGets Rotten Tomatoes critic and audience scores and title details for a movie or TV show, optionally for one TV season. Audience rating counts may be unavailable for series.
rottentomatoes.com/get_scoresFinds where a movie or show can be watched in a country on JustWatch. Returns streaming, rental and purchase offers with prices, plus ratings and whether it is in cinemas.
justwatch.com/get_where_to_watch