# 🚀 Rotten Tomatoes Movie Scraper · 2,500 Free Titles/Month (`omkar-cloud/rotten-tomatoes-movie-scraper`) Actor

Rotten Tomatoes Movie Scraper gets you full movie & TV pages ⚡ fast, 🎯 100% accurate and 🔍 ridiculously detailed — Tomatometer, Popcornmeter, consensus, cast, reviews, where to watch, seasons & episodes. 💰 $2 per 1,000 titles, no start fee. Scrape your first 2,500 titles free every month 🚀

- **URL**: https://apify.com/omkar-cloud/rotten-tomatoes-movie-scraper.md
- **Developed by:** [Chetan Jain](https://apify.com/omkar-cloud) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 title page scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Rotten Tomatoes Movie Scraper

Rotten Tomatoes Movie Scraper by Omkar Cloud gets you 🎯 accurate, 🔍 detailed Rotten Tomatoes movie and TV show pages.

Rotten Tomatoes uses Akamai bot protection to stop you from getting its data.

Rotten Tomatoes Movie Scraper beats it, so you get the data, and can successfully complete your project.

**$2 per 1,000 titles.** And with Apify's free plan you get $5 of credit every month, so your first **~2,500 titles each month are free**.

This is an excellent Actor made by Omkar Cloud, which is Rated Excellent — [4.7 based on 30 reviews on Trustpilot](https://www.trustpilot.com/review/omkar.cloud).

👉 [**Try Rotten Tomatoes Movie Scraper free**](https://apify.com/omkar-cloud/rotten-tomatoes-movie-scraper) — your first ~2,500 titles are Free.

### What can I get

- 🍅 **Every score on the page** — Tomatometer and Popcornmeter with Certified Fresh / Verified Hot flags, and the full breakdown: all critics, top critics, all audience and verified audience, each with average rating, review count and like / dislike counts
- 🎬 **The whole movie page** — Critics Consensus, content rating and reasons, runtime, genres, synopsis, directors, producers and screenwriters, distributor, production companies, US box office, theatrical and streaming release dates, poster, backdrop and trailer, top cast with roles, similar titles
- 📺 **TV shows, seasons & episodes** — a show with every season and its score, a season with its episode list, air dates and stills, an episode with its own scores and siblings
- ⭐ **Reviews & where to watch** — the 6 latest critic reviews (critic, publication, Top Critic flag, Fresh / Rotten, original score, quote, link), the 6 latest audience reviews, and every streaming, rent or buy option with deep links
- 🔗 **By name, slug or URL** — type "Avengers: Endgame", paste `avengers_endgame` or any rottentomatoes.com title link; turn on full cast & crew, all videos and all photos at no extra cost

### Why Rotten Tomatoes Movie Scraper

Most other Rotten Tomatoes scrapers fail you in one of four ways:

- 🗄️ **Inaccurate, cached, stale data**
- 🧩 **Low-detail data** — a title and a score, never the consensus, cast, reviews or where to watch
- 💸 **Pay more to get the same data** — start fees, tiers and paid "enrichment" events
- 🪦 **Works today, breaks next month** — nobody maintains it

Rotten Tomatoes Movie Scraper is scraped live on every run, priced honestly, and actively maintained.

### Example: A Full Rotten Tomatoes Movie

```json
{
  "input": "Avengers: Endgame",
  "matched_title": "Avengers: Endgame",
  "is_exact_match": true,
  "ems_id": "7b2bcd9a-359f-3ffd-bbbd-abe9e5ce3f9e",
  "type": "movie",
  "title": "Avengers: Endgame",
  "slug": "avengers_endgame",
  "link": "https://www.rottentomatoes.com/m/avengers_endgame",
  "year": 2019,
  "content_rating": "PG-13",
  "content_rating_reasons": ["Sequences of Sci-Fi Violence", "Action", "Some Language"],
  "runtime_minutes": 181,
  "genres": ["Action", "Adventure", "Fantasy"],
  "synopsis": "Adrift in space with no food or water, Tony Stark sends a message to Pepper Potts as his oxygen supply starts to dwindle...",
  "critics_consensus": "Exciting, entertaining, and emotionally impactful, Avengers: Endgame does whatever it takes to deliver a satisfying finale to Marvel's epic Infinity Saga.",
  "tomatometer": 94,
  "popcornmeter": 90,
  "is_certified_fresh": true,
  "scores": {
    "critics": {
      "all": { "score": 94, "average_rating": 8.2, "review_count": 551, "liked_count": 518, "not_liked_count": 33 },
      "top_critics": { "score": 93, "review_count": 91, "liked_count": 85, "not_liked_count": 6 }
    },
    "audience": {
      "all": { "score": 90, "average_rating": 4.5, "review_count": 20472, "banded_rating_count": "50,000+ Ratings" }
    }
  },
  "release": { "release_date_theaters": "2019-04-26", "release_type_theaters": "wide", "release_date_streaming": "2019-07-30" },
  "credits": {
    "directors": [
      { "name": "Anthony Russo", "slug": "anthony_russo", "link": "https://www.rottentomatoes.com/celebrity/anthony_russo" },
      { "name": "Joe Russo", "slug": "joseph_russo", "link": "https://www.rottentomatoes.com/celebrity/joseph_russo" }
    ],
    "producers": [{ "name": "Kevin Feige", "slug": "kevin_feige" }]
  },
  "production": {
    "distributors": ["Walt Disney Pictures"],
    "production_companies": ["Walt Disney Pictures", "Marvel Studios"],
    "box_office_gross_usa": { "amount": 858400000, "currency": "USD", "text": "$858.4M" }
  },
  "poster_link": "https://resizing.flixster.com/zcGZJicE-5MRF19K_ZaNsE1a_48=/164x246/v2/https://resizing.flixster.com/hu13NxX2cqnYsnL7vDtkOoq7Z-A=/ems.cHJkLWVtcy1hc3NldHMvbW92aWVzLzQwYTA0ZmQyLTEzZmMtNGIwMS1hNDdjLTE3NWIwOTY2MzNkYi5qcGc=",
  "trailer": { "title": "Avengers: Endgame: Encore Trailer", "duration": "1:36", "thumbnail_link": "https://statcdn.fandango.com/MPX/image/NBCU_Fandango/588/215/thumb_B6F8D71D-0BA0-4F86-8826-1DDA78C3209C.jpg" },
  "cast": [
    { "name": "Robert Downey Jr.", "slug": "robert_downey_jr", "role": "Tony Stark", "link": "https://www.rottentomatoes.com/celebrity/robert_downey_jr" }
  ],
  "critic_reviews": [
    {
      "critic": { "name": "Amy Nicholson", "slug": "amy-nicholson", "is_top_critic": true },
      "publication": { "name": "FilmWeek (LAist)" },
      "date": "2019-09-27",
      "sentiment": "positive",
      "quote": "This is a feat of engineering... I felt a sense of catharsis finishing it."
    }
  ],
  "where_to_watch": { "primary_cta": { "label": "Buy Tickets", "affiliate": "fandango", "link": "https://www.fandango.com/avengers-endgame-encore-2026-246870/movie-overview" } }
}
```

*Trimmed for readability.*

### Get Started with 2,500 Free Titles

1. [Hit **Try for Free Button**](https://apify.com/omkar-cloud/rotten-tomatoes-movie-scraper) — the input is pre-filled with Avengers: Endgame, the Stranger Things show page and its first episode.
2. Enjoy your data 😎.

### Pricing

High value, Low price.

| What | Price | What you get |
|---|---|---|
| **Title page** | **$2 per 1,000** | Everything on a movie, TV show, season or episode page — scores with the full breakdown, consensus, credits, production & box office, release dates, poster, backdrop, trailer, top cast, where to watch, the latest critic & audience reviews, videos, photos, similar titles, seasons & episodes |
| **Full cast & crew, all videos, all photos** | included | Toggle them on — a few more requests per title, no extra charge |

No start fee — you pay only for the rows you get. A title that cannot be found is not billed. Control your spend with **Max Titles**: 1,000 titles ≈ $2.

💡 Apify's free plan includes $5 of credit every month — about **2,500 free titles, every month**.

👉 [**Scrape your first 2,500 titles free**](https://apify.com/omkar-cloud/rotten-tomatoes-movie-scraper)

### Run It from Code

Grab your API token from [Integrations Settings here](https://console.apify.com/settings/integrations) and replace `<YOUR_API_TOKEN>` below.

**Python** (`pip install apify-client`)

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("omkar-cloud/rotten-tomatoes-movie-scraper").call(run_input={
    "titles": ["Avengers: Endgame", "https://www.rottentomatoes.com/tv/stranger_things"],
    "scrapeFullCast": True,
})
for title in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(title["title"], title["tomatometer"], title["popcornmeter"], title["critics_consensus"])
```

**Node.js** (`npm install apify-client`)

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('omkar-cloud/rotten-tomatoes-movie-scraper').call({
    titles: ['avengers_endgame', 'https://www.rottentomatoes.com/tv/stranger_things/s01/e01'],
    scrapeAllVideos: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### FAQ

#### What can I paste under Titles?

Three things: a movie or show **name** as you would search it (`Avengers: Endgame`, `Stranger Things` — the Actor resolves it to the closest title on the site and the row says which one in `matched_title` and `is_exact_match`), a Rotten Tomatoes **slug** (`avengers_endgame`, the last part of the page URL), or a pasted rottentomatoes.com **URL** — a movie (`/m/…`), a TV show (`/tv/…`), one season (`/tv/…/s01`) or one episode (`/tv/…/s01/e01`). Paste a URL when a name is ambiguous (a remake, or a show and a movie with the same name). Duplicates — a name and its slug — are scraped and billed once.

#### What do TV, season and episode rows carry?

A show row adds `years`, `is_ongoing`, `season_count`, `seasons` (each with its score, poster and air date) and `news`. A season row adds `series`, `season_number`, `premiere`, the `episodes` list (number, title, air date, synopsis, still) and the sibling `seasons`. An episode row adds `series`, `season`, `episode_number`, `air_date` and the sibling `episodes`. Reviews live on season and episode pages, so a season row carries the season's latest critic and audience reviews.

#### What do the extras add?

**Full Cast & Crew** replaces the page's top cast with the complete cast-and-crew page — every actor with character names, every crew member with credits, each with slug, link and headshot (`cast` + `crew`, plus `cast_count`). **All Videos** replaces the video carousel with every trailer, clip, featurette and TV spot with stream links. **All Photos** replaces the photo carousel with the complete gallery with original image links. They are included in the price.

#### Can I get reviews?

Every row carries the 6 latest critic reviews (critic, publication, Top Critic flag, Fresh/Rotten sentiment, original score, quote, link) and 6 latest audience reviews (reviewer, star rating, text, verified flag), plus the total counts in `scores`. Rotten Tomatoes walls deeper review pagination behind bot protection, so those 6 + 6 are what a page ships.

#### Is the data live?

Yes. Every run fetches Rotten Tomatoes live — scores, review counts, box office and where-to-watch are as fresh as the site itself.

#### What does it cost?

$0.002 per title — $2 per 1,000, flat on every plan, with no start fee. Full cast, all videos and all photos are included. A title that cannot be found is not billed. Apify's free plan gives you $5 of credit every month, which is 2,500 titles free every month.

#### Is it legal to scrape Rotten Tomatoes?

The Actor collects publicly available title data — scores, consensus, credits, reviews and posters — without personal information beyond the public names of cast, crew and critics. Please review Rotten Tomatoes' terms of use and make sure your use complies with the law of your jurisdiction.

#### I want to search or browse, not scrape a list I already have

Use the [**Rotten Tomatoes Scraper**](https://apify.com/omkar-cloud/rotten-tomatoes-scraper) — search by keyword, browse in-theaters / streaming / coming-soon / TV grids, the Top Box Office and the homepage, at $1 per 1,000 titles, with the same full pages one toggle away.

### 💬 Have Questions? We Have Answers.

You're a business owner — we know how hard completing a project can be. So we offer full support: just message us and we'll reply ✅ with a solution within 1 working day.

[![Message Us on WhatsApp](https://raw.githubusercontent.com/omkarcloud/assets/master/images/whatsapp-us.png)](https://api.whatsapp.com/send?phone=918178804274\&text=I%20need%20help%20with%20using%20the%20Rotten%20Tomatoes%20Movie%20Scraper%20Actor.)

[![Ask Us on Email](https://raw.githubusercontent.com/omkarcloud/assets/master/images/ask-on-email.png)](mailto:happy.to.help@omkar.cloud?subject=Help%20with%20Rotten%20Tomatoes%20Movie%20Scraper%20Actor\&body=I%20need%20help%20with%20using%20the%20Rotten%20Tomatoes%20Movie%20Scraper%20Actor.)

You are important to us — just message us and we will solve your problem ✅ within 1 working day. 🩷 Pinky Promise 🤙!

### Related Actors

- 🍅 [**Rotten Tomatoes Scraper**](https://apify.com/omkar-cloud/rotten-tomatoes-scraper) — search, browse, box office, homepage and editorial lists with Tomatometer and Popcornmeter, $1 per 1,000 titles.

### Popular Actors by Omkar Cloud

- [**IMDb Scraper**](https://apify.com/omkar-cloud/imdb-scraper) — IMDb titles, charts, cast, ratings & box office
- [**Shein Scraper**](https://apify.com/omkar-cloud/shein-scraper) — Shein products by keyword or category with prices, sizes & stock, $0.50 per 1,000 products
- [**AliExpress Product Scraper**](https://apify.com/omkar-cloud/aliexpress-product-scraper) — live product details, SKU variants, stock & shipping
- [**Etsy Scraper**](https://apify.com/omkar-cloud/etsy-scraper) — Etsy products: prices, discounts, shops & variations
- [**Booking Scraper**](https://apify.com/omkar-cloud/booking-scraper) — Booking.com hotels: prices, ratings, rooms & amenities
- [**Skyscanner Scraper**](https://apify.com/omkar-cloud/skyscanner-scraper) — Skyscanner flights with every agent's price & booking link, $1 per 1,000 itineraries
- [**Rightmove Scraper**](https://apify.com/omkar-cloud/rightmove-scraper) — UK homes for sale, to rent & new homes with agent phones, $1 per 1,000 listings
- [**G2 Product Scraper**](https://apify.com/omkar-cloud/g2-product-scraper) — G2 product details, ratings & AI-found contacts
- [**Website Email Contact Scraper**](https://apify.com/omkar-cloud/website-email-contact-scraper) — emails, phones & socials from any website

👉 [**Scrape your first 2,500 titles free now**](https://apify.com/omkar-cloud/rotten-tomatoes-movie-scraper)

# Actor input Schema

## `titles` (type: `array`):

Titles to scrape, one per line: a movie or show name as you would search it (`Avengers: Endgame`, `Stranger Things` — resolved to the closest title on the site, rows carry `matched_title` and `is_exact_match`), a Rotten Tomatoes slug (`avengers_endgame`), or a pasted rottentomatoes.com URL of a movie (`/m/…`), TV show (`/tv/…`), season (`/tv/…/s01`) or episode (`/tv/…/s01/e01`). Rows carry an `input` field so you can match them back. Duplicates are scraped and billed only once.

## `scrapeFullCast` (type: `boolean`):

Replace the page's top cast with the complete cast-and-crew page: every actor with character names and every crew member with credits, each with slug, link and headshot (`cast` + `crew`).

## `scrapeAllVideos` (type: `boolean`):

Replace the page's video carousel with every trailer, clip, featurette and TV spot: title, type, duration, thumbnail, stream link and video page link.

## `scrapeAllPhotos` (type: `boolean`):

Replace the page's photo carousel with the complete gallery: caption, dimensions, aspect ratio, display and mobile renditions and the original image link.

## `maxTitles` (type: `integer`):

Stop after this many titles from the list above (in order). Use it to control your cost (1,000 titles ≈ $2). Leave empty to scrape every title listed.

## Actor input object example

```json
{
  "titles": [
    "Avengers: Endgame",
    "https://www.rottentomatoes.com/tv/stranger_things",
    "https://www.rottentomatoes.com/tv/stranger_things/s01/e01"
  ],
  "scrapeFullCast": false,
  "scrapeAllVideos": false,
  "scrapeAllPhotos": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "titles": [
        "Avengers: Endgame",
        "https://www.rottentomatoes.com/tv/stranger_things",
        "https://www.rottentomatoes.com/tv/stranger_things/s01/e01"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("omkar-cloud/rotten-tomatoes-movie-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "titles": [
        "Avengers: Endgame",
        "https://www.rottentomatoes.com/tv/stranger_things",
        "https://www.rottentomatoes.com/tv/stranger_things/s01/e01",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("omkar-cloud/rotten-tomatoes-movie-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "titles": [
    "Avengers: Endgame",
    "https://www.rottentomatoes.com/tv/stranger_things",
    "https://www.rottentomatoes.com/tv/stranger_things/s01/e01"
  ]
}' |
apify call omkar-cloud/rotten-tomatoes-movie-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,omkar-cloud/rotten-tomatoes-movie-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/QfmQXZbO3W642jBJ5/builds/QW86G0OPPp9709SDc/openapi.json
