Rotten Tomatoes Tomatometer & Popcornmeter Score Scraper avatar

Rotten Tomatoes Tomatometer & Popcornmeter Score Scraper

Pricing

Pay per event

Go to Apify Store
Rotten Tomatoes Tomatometer & Popcornmeter Score Scraper

Rotten Tomatoes Tomatometer & Popcornmeter Score Scraper

Scrape Tomatometer and Popcornmeter scores, critics consensus, genres, release dates, runtime, directors, cast, and streaming availability for movies and TV from Rotten Tomatoes. Discover titles via the RT sitemap (default) or explicit title URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

4 days ago

Last modified

Share

Scrape Tomatometer and Popcornmeter scores, critics consensus, genres, release dates, runtime, directors, cast, and streaming availability for movies and TV series from Rotten Tomatoes.

What It Does

The scraper discovers titles via the RT sitemap (tens of thousands of movies and TV series) by default and extracts structured score data from each detail page. For targeted runs, either pass startUrls to skip the sitemap for a single run, or set discovery: "urls" with a urls list to run in a dedicated direct-URL discovery mode (ported from the decommissioned rotten-tomatoes-scraper).

Data comes from three embedded JSON blobs per page — the media scorecard, the JSON-LD schema block, and the where-to-watch affiliate list — so it's stable and doesn't depend on CSS selectors that change with redesigns.

Output

Each record contains:

FieldTypeDescription
titlestringMovie or TV series title
media_typestringmovie or tv
rt_urlstringCanonical RT detail page URL
tomatometer_scoreintegerCritics score (0–100), or null if unscored
tomatometer_statestringcertified-fresh, fresh, or rotten
critics_review_countintegerNumber of critics reviews counted
audience_scoreintegerAudience (Popcornmeter) score (0–100)
audience_rating_countintegerNumber of audience ratings counted
critics_consensusstringRT critics consensus text
mpaa_ratingstringMPAA/content rating (e.g. PG-13, TV-MA)
genresarrayGenre list from structured data
release_date_theatersstringTheatrical release date
release_date_streamingstringStreaming release date
runtime_minutesintegerRuntime in minutes
directorsarrayDirector name(s)
streaming_providersarrayCurrent streaming platforms
castarrayTop-billed cast member name(s), from JSON-LD
synopsisstringMovie or show synopsis/description, from JSON-LD

Input

maxItems (integer, required) — Maximum records to return. Set to 10–100 for test runs, leave higher for bulk pulls.

mediaType (string, optional) — Filter by movie, tv, or leave empty to scrape both. Only applies to sitemap-driven discovery; ignored when startUrls or discovery: "urls" are used.

startUrls (array, optional) — List of specific RT movie or TV detail page URLs. When provided, the scraper hits those pages directly and skips sitemap discovery entirely. Useful for monitoring a watchlist or validating specific titles.

discovery (string, optional) — sitemap (default): discover titles via the RT sitemap, unchanged behavior. urls: scrape only the explicit title URLs given in the urls field, no sitemap discovery. Ported from the decommissioned rotten-tomatoes-scraper.

urls (array, optional) — Explicit RT movie or TV detail URLs to scrape when discovery is "urls". Ignored in sitemap mode.

{
"maxItems": 100,
"mediaType": "movie",
"startUrls": []
}

For targeted runs (legacy startUrls bypass):

{
"maxItems": 5,
"startUrls": [
{ "url": "https://www.rottentomatoes.com/m/dune_part_two" },
{ "url": "https://www.rottentomatoes.com/tv/the_boys_2019" }
]
}

For the dedicated direct-URL discovery mode:

{
"maxItems": 5,
"discovery": "urls",
"urls": [
"https://www.rottentomatoes.com/m/oppenheimer_2023",
"https://www.rottentomatoes.com/tv/breaking_bad"
]
}

Discovery Strategy

Full-catalog runs use RT's public sitemap index at /sitemaps/sitemap.xml, which links to dedicated sitemap files for movies (movie_N.xml) and TV series (tv-series_N.xml). The scraper filters to canonical title pages only — season pages, episode pages, and photo galleries are skipped.

discovery: "urls" bypasses the sitemap entirely and scrapes only the URLs given in urls, detecting movie vs tv from the URL path (/m/ vs /tv/) the same way the legacy startUrls bypass does.

RT detail pages serve structured data via embedded <script> blocks, so no JavaScript rendering is required. The actor runs as a lightweight HTML crawler.

Notes

  • Scores update as new reviews come in — results reflect whatever RT shows at scrape time.
  • Titles with no reviews yet return null for tomatometer_score and audience_score.
  • The tomatometer_state field follows RT's own certification logic: certified-fresh requires a minimum review count plus a score above the threshold; otherwise it's fresh or rotten based on the score.
  • streaming_providers lists the platforms RT shows in the "Where to Watch" module. This is affiliate data and may not reflect every available platform.
  • cast and synopsis come from the same JSON-LD block as genres/directors/mpaa_rating and are populated in both sitemap and urls discovery modes.