# Rotten Tomatoes Scraper (`apiguruu/rotten-tomatoes-scraper`) Actor

this is rotten tomato scraper for more detailed api you can visit this  https://rapidapi.com/matepapava123/api/rottentomato

- **URL**: https://apify.com/apiguruu/rotten-tomatoes-scraper.md
- **Developed by:** [apiguru](https://apify.com/apiguruu) (community)
- **Categories:** News, Videos, Social media
- **Stats:** 11 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Rotten Tomatoes Scraper

A powerful Apify Actor for scraping movie ratings, TV show information, streaming content, posters, and spoilers from Rotten Tomatoes and related sources.

### Features

- **Movie Information**: Get Tomatometer scores, audience scores, critics consensus, and reviews
- **TV Show Information**: Get ratings, cast, seasons, and photos for TV shows
- **Streaming Content**: Browse movies and TV shows available on major streaming platforms
- **Coming Soon**: Get upcoming movies in theaters
- **Netflix Top 100**: Get the top 100 TV shows on Netflix
- **Today's Recommendations**: Get daily recommendations from Rotten Tomatoes
- **Critics Database**: Query critics by name
- **Search**: Search for movies, TV shows, and actors
- **Movie Posters**: Search and browse movie posters from CineMaterial
- **Spoilers**: Get movie spoilers from MoviePooper

### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `action` | string | Yes | The scraping action to perform (see Actions below) |
| `name` | string | No | Movie or TV show name (for get\_movie, get\_tv\_show) |
| `page` | integer | No | Page number for paginated results (default: 1) |
| `sortby` | string | No | Sort order for streaming content |
| `genre` | string | No | Genre filter for streaming movies |
| `letter` | string | No | Single letter (a-z) for critics query |
| `endCursor` | string | No | Pagination cursor for critics |
| `search_term` | string | No | Search term for Algolia search |
| `query` | string | No | Query for poster/spoiler search |
| `full_id` | string | No | Full ID for poster details |
| `versions_gallery_id` | string | No | Gallery ID for poster versions |
| `spoiler_id` | string | No | Movie ID for spoilers |
| `after` | string | No | Cursor for streaming content pagination |

### Available Actions

| Action | Description | Required Parameters |
|--------|-------------|---------------------|
| `get_movie` | Get movie information | `name` |
| `get_tv_show` | Get TV show information | `name` |
| `soon_in_theaters` | Get upcoming movies | `page` (optional) |
| `top100_netflix` | Get top 100 Netflix shows | None |
| `streaming_movies` | Browse streaming movies | `genre`, `sortby`, `after` (all optional) |
| `streaming_tv` | Browse streaming TV shows | `sortby`, `after` (optional) |
| `today_recommendations` | Get daily recommendations | None |
| `query_critics` | Query critics by letter | `letter`, `endCursor` (optional) |
| `search` | Search content | `search_term` |
| `query_posters` | Search movie posters | `query` |
| `get_poster_details` | Get poster details | `full_id` |
| `get_poster_gallery` | Get poster gallery | `versions_gallery_id` |
| `vintage_us_posters` | Browse vintage US posters | `page` (optional) |
| `classic_polish_posters` | Browse classic Polish posters | `page` (optional) |
| `search_spoilers` | Search movies for spoilers | `query` |
| `get_spoilers` | Get movie spoilers | `spoiler_id` |

### Example Input

#### Get Movie Information

```json
{
    "action": "get_movie",
    "name": "The Matrix"
}
```

#### Get Streaming Movies by Genre

```json
{
    "action": "streaming_movies",
    "genre": "sci-fi",
    "sortby": "critic_highest"
}
```

#### Search for Content

```json
{
    "action": "search",
    "search_term": "Christopher Nolan"
}
```

### Output Format

All results are returned in a consistent format:

```json
{
    "action": "get_movie",
    "success": true,
    "data": {
        "title": "The Matrix",
        "tomatometer_score": 83,
        "audience_score": 85,
        "critics_consensus": "...",
        "image": "https://..."
    },
    "error": null,
    "timestamp": "2026-03-18T12:00:00Z"
}
```

### Environment Variables

| Variable | Description |
|----------|-------------|
| `GOOGLE_TRANSLATE_API_KEY` | Google Translate API key for non-English movie name translation (optional) |

Set this in Apify Console under **Actor Settings → Environment Variables**.

### Sort Options

For `streaming_movies` and `streaming_tv` actions:

- `most_popular` - Sort by popularity
- `newest` - Sort by release date
- `a_z` - Sort alphabetically
- `critic_highest` - Highest critic scores first
- `critic_lowest` - Lowest critic scores first
- `audience_highest` - Highest audience scores first
- `audience_lowest` - Lowest audience scores first

### Genre Options

For `streaming_movies` action:

action, adventure, animation, anime, biography, comedy, crime, documentary, drama, entertainment, faith-spirituality, fantasy, game-show, health-wellness, history, holiday, horror, house-garden, kids-family, music, musical, mystery-thriller, nature, news, reality, romance, sci-fi, short, soap, special-interest, sports, stand-up, talk-show, travel, variety, war, western, lgbtq, other

### License

This Actor is provided for educational and personal use. Please respect the terms of service of the websites being scraped.

# Actor input Schema

## `action` (type: `string`):

Select the scraping action to perform. Each action requires different parameters - see field descriptions below.

## `name` (type: `string`):

REQUIRED for: get\_movie, get\_tv\_show. Enter the name of the movie or TV show to look up.

## `search_term` (type: `string`):

REQUIRED for: search. Enter keywords to search for movies, TV shows, or actors.

## `genre` (type: `string`):

OPTIONAL for: streaming\_movies. Filter movies by genre.

## `sortby` (type: `string`):

OPTIONAL for: streaming\_movies, streaming\_tv. Sort order for results.

## `after` (type: `string`):

OPTIONAL for: streaming\_movies, streaming\_tv. Cursor from previous response for pagination.

## `letter` (type: `string`):

REQUIRED for: query\_critics. Single letter (a-z) to filter critics by last name.

## `endCursor` (type: `string`):

OPTIONAL for: query\_critics. Cursor from previous response for pagination.

## `query` (type: `string`):

REQUIRED for: query\_posters, search\_spoilers. Search query for posters or movies with spoilers.

## `full_id` (type: `string`):

REQUIRED for: get\_poster\_details. The full\_id from query\_posters results.

## `versions_gallery_id` (type: `string`):

REQUIRED for: get\_poster\_gallery. The versions\_gallery\_id from poster details.

## `spoiler_id` (type: `string`):

REQUIRED for: get\_spoilers. The spoilers\_id from search\_spoilers results.

## `page` (type: `integer`):

OPTIONAL for: soon\_in\_theaters, vintage\_us\_posters, classic\_polish\_posters. Page number (default: 1).

## Actor input object example

```json
{
  "action": "get_movie",
  "name": "The Matrix",
  "letter": "a",
  "page": 1
}
```

# Actor output Schema

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

Scraped data from Rotten Tomatoes stored in the default dataset

# 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 = {
    "action": "get_movie",
    "name": "The Matrix",
    "letter": "a"
};

// Run the Actor and wait for it to finish
const run = await client.actor("apiguruu/rotten-tomatoes-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 = {
    "action": "get_movie",
    "name": "The Matrix",
    "letter": "a",
}

# Run the Actor and wait for it to finish
run = client.actor("apiguruu/rotten-tomatoes-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 '{
  "action": "get_movie",
  "name": "The Matrix",
  "letter": "a"
}' |
apify call apiguruu/rotten-tomatoes-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,apiguruu/rotten-tomatoes-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/7Sv4APjuuUM63COB8/builds/l5LufDciAzDkY5v62/openapi.json
