Tomatometer and audience score collection
Use Rotten Tomatoes endpoints to turn tomatometer and audience score collection into repeatable API requests with documented inputs and JSON responses.
Collect Rotten Tomatoes movie, series, season, and episode detail with Tomatometer and audience scores, critic and audience reviews, cast and crew, and browse listings as normalized JSON for catalogs and research.
Extract Rotten Tomatoes movie and TV scores, ratings, reviews, seasons, episodes, and people as structured JSON from public pages.
Endpoint families
6
Documented params
32
Examples
9
Live catalog snapshot
Active endpoints
9
Methods
GET
Required params
10
Schema refs
9
{
"platform": "Rotten Tomatoes",
"endpoint": "rottentomatoes-search",
"method": "GET",
"path": "/rottentomatoes/search",
"auth": "apiKey"
}Related use cases
Use cases
Extract Rotten Tomatoes movie and TV scores, ratings, reviews, seasons, episodes, and people as structured JSON from public pages.
Use Rotten Tomatoes endpoints to turn tomatometer and audience score collection into repeatable API requests with documented inputs and JSON responses.
Use Rotten Tomatoes endpoints to turn critic and audience review monitoring into repeatable API requests with documented inputs and JSON responses.
Use Rotten Tomatoes endpoints to turn movie and tv catalog enrichment into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Rotten Tomatoes endpoint catalog — 9 endpoints, 32 documented request parameters, and 9 published response schemas — the same catalog Docs and Playground run against.
9 documented Rotten Tomatoes endpoints, grouped into 7 request families — Browse, Movie and Episode, plus 4 more.
32 request parameters are documented across those Rotten Tomatoes endpoints, 10 of them required — the full input contract is public before you write any integration code.
9 of the 9 Rotten Tomatoes endpoints ship a recorded example response, and 9 carry a documented response schema — you can code against the real JSON before the first request.
Rotten Tomatoes endpoints document their error responses (400, 404, 429, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
9 hosted MCP tools back the Rotten Tomatoes endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/rottentomatoes/browse/movies
/rottentomatoes/movie
/rottentomatoes/episode
/rottentomatoes/person
/rottentomatoes/search
/rottentomatoes/season
Endpoint catalog
/rottentomatoes/searchReturns normalized Rotten Tomatoes movie search rows from credential-free server-rendered search HTML.
Response notes
- Returns normalized movie rows parsed from credential-free Rotten Tomatoes search HTML. - A true no-results page returns an empty `results` array. Challenge pages or parser drift return an upstream error. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "inception", "limit": 2, "results": [ { "title": "Inception", "path": "/m/inception", "url": "https://www.rottentomatoes.com/m/inception", "release_year": "2010", "tomatometer_score": 87, "tomatometer_sentiment": "POSITIVE" } ] } } ```
MCP tool rottentomatoes_search
/rottentomatoes/movieReturns normalized Rotten Tomatoes movie metadata, scorecard data, and representative embedded audience reviews. Pass exactly one of `path` or `url`.
Response notes
- `data.public_page_derived` is `true`. - `critics_score` and `audience_score` are included only when the public page exposes scorecard data. - Upstream challenge pages, malformed page data, or parser drift are returned as typed upstream errors. Example response: ```json { "code": 200, "msg": "OK", "data": { "title": "Inception", "path": "/m/inception", "url": "https://www.rottentomatoes.com/m/inception", "media_type": "Movie", "critics_score": { "score_percent": "87%" }, "audience_score": { "score_percent": "91%" }, "public_page_derived": true } } ```
MCP tool rottentomatoes_movie
/rottentomatoes/seriesReturns normalized Rotten Tomatoes TV series metadata and scorecard data from a credential-free public series page. Pass exactly one of `path` or `url`.
Response notes
- `data.public_page_derived` is `true`. - `critics_score` and `audience_score` are included only when the public page exposes scorecard data. - `seasons` comes from public `TVSeries` JSON-LD `containsSeason` entries. - Upstream challenge pages, malformed page data, or parser drift are returned as typed upstream errors. Example response: ```json { "code": 200, "msg": "OK", "data": { "title": "Breaking Bad", "path": "/tv/breaking_bad", "url": "https://www.rottentomatoes.com/tv/breaking_bad", "media_type": "TvSeries", "number_of_seasons": 5, "critics_score": { "score_percent": "96%" }, "audience_score": { "score_percent": "97%" }, "public_page_derived": true } } ```
MCP tool rottentomatoes_series
/rottentomatoes/seasonReturns normalized Rotten Tomatoes TV season metadata, scorecard data, parent series metadata, and episode rows from a credential-free public season page. Pass exactly one of `path` or `url`.
Response notes
- `data.public_page_derived` is `true`. - `episodes` comes from public `TVSeason` JSON-LD `episode` entries. - `critics_score` and `audience_score` are included only when the public page exposes scorecard data. - Upstream challenge pages, malformed page data, or parser drift are returned as typed upstream errors. Example response: ```json { "code": 200, "msg": "OK", "data": { "title": "Season 1", "path": "/tv/breaking_bad/s01", "url": "https://www.rottentomatoes.com/tv/breaking_bad/s01", "media_type": "TvSeason", "parent_series": { "title": "Breaking Bad", "path": "/tv/breaking_bad" }, "episode_count": 7, "critics_score": { "score_percent": "86%" }, "audience_score": { "score_percent": "95%" }, "public_page_derived": true } } ```
MCP tool rottentomatoes_season
/rottentomatoes/episodeReturns normalized Rotten Tomatoes TV episode metadata, scorecard data, parent series/season metadata, and public video metadata from a credential-free public episode page. Pass exactly one of `path` or `url`.
Response notes
- `data.public_page_derived` is `true`. - `parent_series` and `parent_season` come from public JSON-LD and vanity metadata when exposed by the page. - `video` is included only when the public `TVEpisode` JSON-LD exposes video metadata. - `critics_score` and `audience_score` are included only when the public page exposes scorecard data. Some episode pages expose review/rating counts without score percentages. - Upstream challenge pages, malformed page data, or parser drift are returned as typed upstream errors. Example response: ```json { "code": 200, "msg": "OK", "data": { "title": "Pilot", "path": "/tv/breaking_bad/s01/e01", "url": "https://www.rottentomatoes.com/tv/breaking_bad/s01/e01", "ems_id": "ccda9549-4dcb-3147-9a2b-1106dcf852f7", "media_type": "TvEpisode", "parent_series": { "title": "Breaking Bad", "path": "/tv/breaking_bad" }, "parent_season": { "title": "Season 1", "path": "/tv/breaking_bad/s01", "season_number": 1 }, "season_number": 1, "episode_number": 1, "air_date": "2008-01-20", "video": { "title": "Breaking Bad: Official Clip - Walter Wants to Cook" }, "public_page_derived": true } } ```
MCP tool rottentomatoes_episode
/rottentomatoes/movie/reviewsReturns normalized critic or audience reviews from Rotten Tomatoes public review JSON hydrated by the movie review page, including pagination metadata. Pass exactly one of `path` or `url`. Supported `type` values are `critics`, `top-critics`, `audience`, and `verified-audience`.
Response notes
- `data.public_page_derived` is `true`. - `data.page_info.has_next_page` and `data.page_info.end_cursor` expose Rotten Tomatoes pagination state when another page is available. - Review type values other than `critics`, `top-critics`, `audience`, and `verified-audience` are rejected before upstream IO. - Blocked pages, malformed review JSON, and parser drift return upstream errors. Example response: ```json { "code": 200, "msg": "OK", "data": { "type": "critics", "limit": 10, "page_info": { "has_next_page": true, "end_cursor": "eyJ0eXBlIjoiUmV2aWV3In0" }, "reviews": [ { "display_name": "Danilo Castro", "review": "A representative review excerpt." } ], "public_page_derived": true } } ```
MCP tool rottentomatoes_movie_reviews
/rottentomatoes/browse/moviesReturns normalized movie rows from Rotten Tomatoes public browse pages using credential-free JSON-LD ItemList data. Supported `list` values are `movies_in_theaters`, `movies_at_home`, and `movies_coming_soon`. Supported `sort` values are `popular`, `newest`, and `top_box_office`; `top_box_office` is only valid with `movies_in_theaters`.
Response notes
- `data.public_page_derived` is `true`. - `items` contains public JSON-LD rows with title, path, image, release/date text, Tomatometer score/count when available, and trailer metadata when present. - Browse pages that stop exposing JSON-LD `ItemList` rows return typed upstream errors instead of `200 []`. Example response: ```json { "code": 200, "msg": "OK", "data": { "list": "movies_in_theaters", "sort": "popular", "limit": 3, "title": "Movies Out Now in Theaters (2026)", "items": [ { "position": 1, "media_type": "Movie", "title": "Wildwood, NJ", "path": "/m/wildwood_nj", "url": "https://www.rottentomatoes.com/m/wildwood_nj", "date_created": "1994" } ], "public_page_derived": true } } ```
MCP tool rottentomatoes_browse_movies
/rottentomatoes/browse/tvReturns normalized TV series rows from Rotten Tomatoes public browse pages using credential-free JSON-LD ItemList data. Supported `list` value is `tv_series_browse`. Supported `sort` values are `popular` and `newest`.
Response notes
- `data.public_page_derived` is `true`. - `items` contains public JSON-LD rows with title, path, image, start/date text, Tomatometer score/count when available, and trailer metadata when present. - Browse pages that stop exposing JSON-LD `ItemList` rows return typed upstream errors instead of `200 []`. Example response: ```json { "code": 200, "msg": "OK", "data": { "list": "tv_series_browse", "sort": "popular", "limit": 3, "title": "Best TV Shows (June 2026)", "items": [ { "position": 1, "media_type": "TVSeries", "title": "Spider-Noir", "path": "/tv/spider_noir", "url": "https://www.rottentomatoes.com/tv/spider_noir", "date_created": "2026-05-27", "tomatometer_score": 91, "critics_review_count": 96 } ], "public_page_derived": true } } ```
MCP tool rottentomatoes_browse_tv
/rottentomatoes/personReturns normalized Rotten Tomatoes celebrity/person metadata and filmography rows from public Person JSON-LD and the credential-free filmography module. Pass exactly one of `path` or `url`.
Response notes
- `data.public_page_derived` is `true`. - `highest_rated` and `lowest_rated` are included only when the public bio panel exposes those title links and scores. - `filmography` rows prefer the embedded filmography module because it includes credits plus critic and audience score summaries. - Blocked pages, malformed page data, or missing person/filmography markers return typed upstream errors. Example response: ```json { "code": 200, "msg": "OK", "data": { "name": "Christopher Nolan", "path": "/celebrity/christopher_nolan", "url": "https://www.rottentomatoes.com/celebrity/christopher_nolan", "ems_id": "a015d515-713e-38e3-abbe-cf0cdaa519b0", "birth_date": "1970-07-30", "birthplace": "London, England, UK", "highest_rated": { "title": "The Dark Knight", "path": "/m/the_dark_knight", "score": 94, "year": "2008" }, "filmography": [ { "title": "Oppenheimer", "path": "/m/oppenheimer_2023", "credits": "Director, Screenwriter, Producer", "critics_score": { "score_percent": "93%" } } ], "public_page_derived": true } } ```
MCP tool rottentomatoes_person
Related APIs
Media & Streaming
Research streaming catalogs, title availability, providers, offers, seasons, episodes, and release changes from JustWatch with normalized JSON.
Media & Streaming
Turn Apple Books ebook and audiobook pages into structured data — search, catalog detail, paginated customer reviews, similar titles, author bibliographies, series listings, and chart rankings as normalized JSON. Credential-free.
Media & Streaming
Search public Ticketmaster events and browse the full discovery hierarchy by category or city, with pagination plus event, attraction, and venue detail endpoints -- including fan reviews, related attractions, trending attractions, and enhanced venue branding -- for live-entertainment research.
How to scrape Rotten Tomatoes
Rotten Tomatoes discontinued open developer access and now licenses data through Fandango. Crawlora's 9 Rotten Tomatoes endpoints read the credential-free public pages instead, returning movie, series, season, and episode detail with Tomatometer and audience scores, critic and audience reviews, cast and crew, and browse listings as normalized JSON.
The search endpoint takes a query and returns movie rows from Rotten Tomatoes' server-rendered search, each carrying the path you need next.
Movie, series, season, and episode endpoints each take a path or a full url — whichever you already have.
The reviews endpoint takes a type of critics, top-critics, audience, or verified-audience, with limit and an after cursor for paging.
Movie browse covers movies_in_theaters, movies_at_home, and movies_coming_soon sorted by popular, newest, or top_box_office; TV browse covers the series listing.
FAQ
Not an open one. Rotten Tomatoes discontinued public developer access and now licenses data through Fandango partnerships. Crawlora is not affiliated with Rotten Tomatoes; its endpoints read the credential-free public pages and return the scores and reviews as JSON.
Yes. Title detail returns the critic Tomatometer and the audience score together, along with cast and crew, for movies, series, seasons, and episodes.
The reviews endpoint's type parameter takes critics, top-critics, audience, or verified-audience, so each cohort is its own call rather than something you filter client-side.
A Rotten Tomatoes path or the full url. Search returns the path, so the normal flow is search first, then pass the path to the detail or reviews endpoint.