Rotten Tomatoes Scraper - Search or Direct URL, Full Metadata
Pricing
$5.00 / 1,000 item scrapeds
Rotten Tomatoes Scraper - Search or Direct URL, Full Metadata
Scrape Rotten Tomatoes by keyword or direct URL: Tomatometer, audience score, cast, director, genres, review counts for movies and TV shows. $0.005/title.
Why use this scraper
Rotten Tomatoes has no public API for its Tomatometer and audience-score data. If you need those scores, plus cast, genres and review counts, for more than a handful of titles, hand-copying pages does not scale, and a homemade scraper breaks the first time Rotten Tomatoes changes its markup.
Rotten Tomatoes Scraper takes a keyword or a direct movie/TV-show URL and returns full title metadata as structured JSON: Tomatometer score, audience (Popcornmeter) score, critic and audience review counts, cast, director, genres, content rating and runtime, in one call.
Overview
The actor accepts either search keywords or a list of direct Rotten Tomatoes URLs, and returns one record per title. Each title scraped is charged $0.005, whichever mode produced it. A run of a few titles finishes in well under a minute.
Supported inputs
- searchTerms (array, optional) - keywords to search on Rotten
Tomatoes, e.g.
"breaking bad","inception","the office". Each term runs its own search. - urls (array, optional) - direct Rotten Tomatoes URLs for a specific
movie or TV show, e.g.
https://www.rottentomatoes.com/m/inceptionorhttps://www.rottentomatoes.com/tv/breaking_bad. Use this when you know exactly which title you want. - maxItems (optional, default 50) - maximum items to scrape; set
0for unlimited. - proxy (optional) - proxy configuration; Rotten Tomatoes generally works without one, but it can be enabled for reliability at scale.
At least one of searchTerms or urls should be set; you can combine
both in the same run.
Use cases
- Streaming and media research. Pull Tomatometer and audience scores across a slate of titles to spot critic/audience gaps worth writing about.
- Recommendation and rating datasets. Build a structured dataset of scores, genres and cast for a recommendation engine or a personal movie tracker.
- Content licensing due diligence. Check critical reception and review volume for titles under consideration before a licensing or acquisition decision.
- Film and TV journalism. Track how a title's Tomatometer score moves over its release window by re-running the same URL list on a schedule.
- Watchlist and catalog enrichment. Attach real Tomatometer and audience scores, cast and genre tags to an existing catalog of titles by running the actor once per title URL, instead of maintaining a manual spreadsheet that goes stale the day someone re-checks a score by hand.
How it works
For a keyword, the actor runs Rotten Tomatoes' own search and opens the resulting title pages. For a direct URL, it opens that page immediately. Either way, it reads the same fields off the title's own page: scores, cast, genres, description, runtime and content rating, exactly as a visitor's browser renders them.
Input configuration
1. Search by keyword
{"searchTerms": ["breaking bad", "inception", "the office"],"maxItems": 20}
2. Specific titles by direct URL
{"urls": ["https://www.rottentomatoes.com/m/inception","https://www.rottentomatoes.com/tv/breaking_bad"]}
3. Combined search and direct URLs, unlimited
{"searchTerms": ["dune part two"],"urls": ["https://www.rottentomatoes.com/m/oppenheimer_2023"],"maxItems": 0}
Output sample
Real output from a production run against direct title URLs (September 2026):
[{"title": "Inception","type": "Movie","url": "https://www.rottentomatoes.com/m/inception","year": "2010","genres": ["Sci-Fi", "Mystery & Thriller", "Action"],"contentRating": "PG-13","duration": "2h 28m","tomatoMeterScore": "86","tomatoMeterSentiment": "POSITIVE","tomatoMeterCertified": true,"criticsAvgRating": "8.40","criticsReviewCount": 364,"audienceScore": "91","audienceSentiment": "POSITIVE","audienceAvgRating": "4.4","audienceReviewCount": 41620,"cast": ["Leonardo DiCaprio", "Joseph Gordon-Levitt", "Elliot Page", "Tom Hardy", "Ken Watanabe"],"director": "Christopher Nolan","producers": ["Chris Brigham", "Thomas Tull"],"numberOfSeasons": null,"image": "https://resizing.flixster.com/-XZAfHZM39UwaGJIFWKAE8fS0ak=/v3/t/assets/p7825626_p_v10_ae.jpg","scrapedAt": "2026-09-30T09:25:14.607Z"},{"title": "Breaking Bad","type": "TV Series","url": "https://www.rottentomatoes.com/tv/breaking_bad","year": "2008","genres": ["Crime", "Drama"],"contentRating": "TV-14","tomatoMeterScore": "96","tomatoMeterSentiment": "POSITIVE","criticsAvgRating": "9.20","criticsReviewCount": 250,"audienceScore": "97","audienceSentiment": "POSITIVE","cast": ["Bryan Cranston", "Aaron Paul", "Anna Gunn", "RJ Mitte", "Dean Norris"],"director": "Michelle MacLaren, Adam Bernstein, Vince Gilligan","producers": ["Vince Gilligan", "Mark Johnson"],"numberOfSeasons": 5,"image": "https://resizing.flixster.com/-XZAfHZM39UwaGJIFWKAE8fS0ak=/v3/t/assets/p185846_b_v8_ad.jpg","scrapedAt": "2026-09-30T09:25:22.307Z"}]
Key output fields
| Field | Type | Description |
|---|---|---|
title / type | string | Title name and Movie or TV Series. |
url / year | string | Canonical Rotten Tomatoes URL and release year. |
genres | array | Genre tags as shown on the title page. |
contentRating / duration | string | null | Content rating and runtime, when Rotten Tomatoes shows them (TV series often omit runtime). |
tomatoMeterScore / tomatoMeterSentiment / tomatoMeterCertified | string / string / boolean | Critic Tomatometer score, its sentiment label, and whether it's Certified Fresh. |
criticsAvgRating / criticsReviewCount | string / number | Average critic rating and number of critic reviews counted. |
audienceScore / audienceSentiment / audienceAvgRating / audienceReviewCount | string / string / string / number | Popcornmeter audience score, sentiment, average rating and review count. |
cast / director / producers | array / string / array | Credited cast, director(s) and producers. |
numberOfSeasons | number | null | Set for TV series, null for movies. |
image | string | Poster image URL. |
searchTerm | string | null | The keyword that found this title, null when it came from a direct URL. |
scrapedAt | string | Scrape timestamp. |
Pricing
Pay-per-event, one charge type:
| Event | Price |
|---|---|
| Item scraped | $0.005 |
That is $5.00 per 1,000 titles scraped, for either search or direct-URL mode.
What makes this richer than the competition
Two other actors on the Apify Store cover the same general Rotten Tomatoes metadata (search or direct URL, Tomatometer, audience score, cast):
- lulzasaur/rottentomatoes-scraper (1 user in the last 30 days) has the same search-or-URL input shape, but charges $0.01 per result, twice this actor's $0.005.
- omkar-cloud/rotten-tomatoes-scraper (1 user in the last 30 days) charges $0.001 per title, a fifth of this actor's price, and advertises 5,000 free titles per month.
Being honest about the numbers: this actor beats lulzasaur's price, but omkar-cloud's actor is cheaper still and offers a monthly free allotment this actor does not have. If price per title is your only criterion, compare omkar-cloud's actor first. This actor's case is a simpler input shape (two array fields, no box-office-list mode to configure) and a straightforward one-record-per-title output that maps directly to the sample above.
Notes & limitations
- Keyword search is Rotten Tomatoes' own search, not exact-title
matching. A search term like
"inception"can surface titles Rotten Tomatoes' search engine considers related, not necessarily the exact title you meant. When you need a guaranteed exact match, use theurlsfield with the title's direct Rotten Tomatoes URL instead. - Some fields are
nullwhen Rotten Tomatoes doesn't show them. For example,tomatoMeterScoreandcriticsAvgRatingarenullfor titles with too few critic reviews to be scored, anddurationis oftennullfor TV series. - No individual review text. This actor returns scores and counts, not the text of individual critic or audience reviews.
- Public data only. The actor reads publicly visible title pages; it does not access any authenticated Rotten Tomatoes account area.
- First production runs, no prior track record. This actor had no completed production runs before this README was written; the sample output above comes from two smoke tests run for this README (one search mode, one direct-URL mode), not from months of production traffic like an established actor would have.
FAQ
Do I need a Rotten Tomatoes account to use this? No. The actor reads public title pages; no login or credentials are required.
Should I use searchTerms or urls?
Use urls when you know exactly which title you want, it guarantees the
right match. Use searchTerms for discovery, when you don't have a
specific URL yet, keeping in mind the result is whatever Rotten Tomatoes'
own search engine returns for that term.
Can I scrape TV shows and movies in the same run?
Yes, both searchTerms and urls accept a mix of movie and TV-show
targets in the same run.
Why are some score fields null?
Rotten Tomatoes doesn't publish a Tomatometer or critic average when a
title has too few qualifying reviews. The actor returns null rather than
a fabricated score.
Does this include individual reviews? No, this actor returns aggregate scores and counts. It does not extract individual review text.
How much does a 100-title run cost? $0.50 at $0.005 per title scraped.
Can I schedule this to run automatically? Yes, use Apify's built-in schedules to re-check scores on a recurring basis.
For AI Agents & LLM Apps
This actor is callable from any MCP-compatible AI assistant through the Apify MCP server, and directly from code through the Apify API.
Via MCP (mcp.apify.com): add the Apify MCP server to your AI
assistant and call the gio21/rotten-tomatoes-scraper actor by name with
searchTerms or urls.
Via API (run-sync-get-dataset-items):
curl "https://api.apify.com/v2/acts/gio21~rotten-tomatoes-scraper/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"urls": ["https://www.rottentomatoes.com/m/inception"], "maxItems": 1}'
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Rotten Tomatoes or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
SEO Keywords
rotten tomatoes scraper, rotten tomatoes api, tomatometer scraper, movie ratings scraper, scrape rotten tomatoes scores, tv show ratings data extraction