Rotten Tomatoes API: List movies
Lists Rotten Tomatoes movies in theaters, coming soon, or at home, by genre and site sort order, with scores, release dates, age ratings, posters and links.
Unofficial. Not affiliated with or endorsed by Rotten Tomatoes.
Inputs
Values from the run on Oct 27, 2026, shown under Output.
- List optional
list Which movie list to browse, for example in_theaters.
in_theaters (default)
One of
in_theaters,coming_soon,at_home.- Sort optional
sort Movie order, for example highest_tomatometer.
popular (default)
One of
popular,newest,highest_tomatometer.- Genre optional
genre A genre such as comedy, horror, or all for every genre.
all (default)
- Max Results optional
max_results Maximum number of movies to return, for example 30.
30 (default)
Whole number from 1 to 100.
Input as JSON
{}Output
{ "movies": [ { "title": "Clayface", "age_rating": "R", "poster_url": "https://resizing.flixster.com/8_nzAOUQI30pSRAcyNqfdWAUe4w=/164x246/v2/https://resizing.flixster.com/O8G8HZEBw1uKp4Sc2X4VFjg0KUI=/ems.cHJkLWVtcy1hc3NldHMvbW92aWVzL2M0MzFlZWJlLTc1NWUtNGQ0YS1iYjc5LTZlZTRhZTBhNWU5YS5qcGc=" , "tomatometer": 76, "popcornmeter": 94, "release_date": "2026-10-23", "rotten_tomatoes_url": "https://www.rottentomatoes.com/m/clayface" }, { "title": "Wildwood", "age_rating": "PG-13", "poster_url": "https://resizing.flixster.com/gPNZYWtyMODaicuGSxJEszbGq1I=/164x246/v2/https://resizing.flixster.com/HpkfBndrOSDT-UQdWbwK7oq3Sc8=/ems.cHJkLWVtcy1hc3NldHMvbW92aWVzLzk5Nzk1ZGRkLTdkOGMtNDZmMy1hNzk4LTg4ZmYwODU2M2ViMi5qcGc=" , "tomatometer": 99, "popcornmeter": 97, "release_date": "2026-10-23", "rotten_tomatoes_url": "https://www.rottentomatoes.com/m/wildwood" }, { "title": "Street Fighter", "age_rating": "PG-13", "poster_url": "https://resizing.flixster.com/KMI97W_98kuvqFjO7WIlnYG8Th4=/164x246/v2/https://resizing.flixster.com/HI64aC1g5q3IEbUvYxwC7aD2k8E=/ems.cHJkLWVtcy1hc3NldHMvbW92aWVzLzBmZTYzOGEwLTRjMTQtNDcxYS1hMzY3LTUwOTI5OGQ1OTI0Ny5qcGc=" , "tomatometer": 41, "popcornmeter": 78, "release_date": "2026-10-16", "rotten_tomatoes_url": "https://www.rottentomatoes.com/m/street_fighter_2026" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"rottentomatoes.com/list_movies","input":{}}' # 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": "rottentomatoes.com/list_movies" , "input": {}})# 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": "rottentomatoes.com/list_movies" , "input": {} }), 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 rottentomatoes.com/list_movies# with {}"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", "properties": { "list": { "enum": [ "in_theaters", "coming_soon", "at_home" ], "type": "string", "default": "in_theaters", "description": "Which movie list to browse, for example in_theaters." }, "sort": { "enum": [ "popular", "newest", "highest_tomatometer" ], "type": "string", "default": "popular", "description": "Movie order, for example highest_tomatometer." }, "genre": { "type": "string", "default": "all", "description": "A genre such as comedy, horror, or all for every genre." }, "max_results": { "type": "integer", "default": 30, "maximum": 100, "minimum": 1, "description": "Maximum number of movies to return, for example 30." } }}Output schema
{ "type": "object", "required": [ "movies" ], "properties": { "movies": { "type": "array", "items": { "type": "object", "required": [ "title", "tomatometer", "popcornmeter", "release_date", "age_rating", "poster_url", "rotten_tomatoes_url" ], "properties": { "title": { "type": "string", "description": "Movie title." }, "age_rating": { "type": [ "string", "null" ], "description": "Age classification, or null if not listed." }, "poster_url": { "type": [ "string", "null" ], "description": "Poster image link, or null if unavailable." }, "tomatometer": { "type": [ "integer", "null" ], "description": "Critics score as a percent, or null if unavailable." }, "popcornmeter": { "type": [ "integer", "null" ], "description": "Audience score as a percent, or null if unavailable." }, "release_date": { "type": [ "string", "null" ], "format": "date", "description": "Theatrical release date, or streaming release date for at-home movies." }, "rotten_tomatoes_url": { "type": "string", "description": "Rotten Tomatoes movie page." } }, "additionalProperties": false }, "description": "Movies in the selected site order." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
rottentomatoes.com/list_movies- Returns
- title, tomatometer, popcornmeter, release_date, age_rating, poster_url, rotten_tomatoes_url
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 rottentomatoes.com/list_movies with the inputs above.
Ask your agent
- Show me the movies currently playing in theaters sorted by highest tomatometer score, limit to 15
- What horror films are coming soon? Include release dates and age ratings
- Browse at-home movies in the comedy genre ranked by popularity, give me the top 25
- List the newest films out right now on Rotten Tomatoes with their popcornmeter scores
- I want a list of upcoming movies with posters and links, all genres, up to 40 results
See more
All Rotten Tomatoes methodsGets 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_scoresReads the newest critic or audience reviews for a Rotten Tomatoes movie or TV show. For a whole TV show it combines reviews from its seasons.
rottentomatoes.com/get_reviewsLists Fandango movies now playing or coming soon in U.S. theaters, in Fandango's order, with release dates, age ratings, runtimes and Rotten Tomatoes scores when shown.
fandango.com/list_now_playingLists Letterboxd films in popularity order for a week, month, year or all time, optionally filtered by genre and decade. Ratings and posters may be unavailable for some films.
letterboxd.com/list_popular_filmsLists MyAnimeList's top anime in rank order for a selected ranking (all, airing, upcoming, TV, movies or most popular), with English title, score, type, episodes, airing dates and members.
myanimelist.net/list_top_animeLists 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 titles in an IMDb movie or TV chart (Top 250 movies, Top 250 TV shows, most popular movies or TV shows) with ratings, votes, runtime, age rating and weekly rank movement for popularity charts. Popular charts contain up to 100 titles.
imdb.com/list_top_chartsLists the highest-Metascore games, movies or TV shows on Metacritic for a release year or all time. You can filter by genre, and by platform for games.
metacritic.com/list_best_reviewed