# IMDb User Reviews Scraper (`scrapers_lat/imdb-reviews-scraper`) Actor

Scrape IMDb user reviews: review title, full text, author, star rating, date, helpfulness votes, spoiler flag and permalink, plus the title's aggregate rating, total votes and per-star breakdown. Sort by helpfulness, date, rating or votes. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/imdb-reviews-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** E-commerce, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.80 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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

[![IMDb User Reviews Scraper](https://scrapers.lat/banners/imdb-reviews-scraper.png)](https://console.apify.com/actors/JFEvhgcqrNkd5pxHb/input)

## IMDb User Reviews Scraper

> Extract every user review for any movie or TV title on IMDb, with star rating, full text, author, helpfulness votes and spoiler flags, plus the title's aggregate rating and per-star breakdown.

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Global-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>21 fields</strong><br>per record</td>
<td align="center"><strong>Global</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated</strong><br>2026-07-26</td>
</tr></table>

<br>

### What you get

Give the scraper one or more IMDb titles (a title ID like tt0111161 or a full title URL) and it returns each user review as its own record, sorted by helpfulness, date, user rating or total votes. Every record also carries the title's own aggregate rating and vote breakdown so you can analyse reviews in context.

- **imageUrl**: the title's poster image URL
- **reviewTitle**: the review headline the author wrote
- **reviewId**: the IMDb review ID
- **rating**: the reviewer's star rating out of 10 (empty when the reviewer left no rating)
- **author**: the reviewer's username
- **authorUrl**: link to the reviewer's IMDb profile
- **reviewDate**: the date the review was submitted
- **helpfulUpVotes**: how many users found the review helpful
- **helpfulTotalVotes**: total helpfulness votes cast on the review
- **spoiler**: whether the review is flagged as containing spoilers
- **reviewText**: the full review text
- **permalink**: a direct link to the review on IMDb
- **imdbId**: the title ID the review belongs to
- **titleName**: the movie or TV title name
- **titleYear**: the title's release year
- **titleUrl**: link to the title on IMDb
- **titleRating**: the title's aggregate IMDb rating
- **titleVotes**: the title's total number of rating votes
- **titleRatingBreakdown**: per-star vote distribution for the title (how many votes at each score from 1 to 10)
- **observedAt**: when this review was last seen by the scraper

### Who is it for

| Use case | Who benefits |
|---|---|
| Sentiment analysis on a film or series | Data scientists and researchers |
| Tracking audience reaction to a new release | Studios and streaming teams |
| Building a movie recommendation dataset | ML engineers |
| Monitoring reviews and ratings over time | Media analysts |
| Sourcing quotes and audience opinions | Journalists and content teams |

### Frequently Asked Questions

**Which titles does this cover?**\
Any movie, TV series, episode or short that has a page on IMDb worldwide. You reference a title by its ID (the tt code in its URL, for example tt0111161) or by pasting the full title URL. You can submit many titles in one run.

**How many reviews can I collect per title?**\
Set the Max Reviews Per Title value to any number. Popular titles have tens of thousands of reviews and the scraper pages through them until it reaches your limit or runs out. On free Apify plans the per-title count is capped; upgrade for the full set.

**Can I control the order reviews come back in?**\
Yes. Choose Most helpful, Newest first, User rating or Total votes, in ascending or descending direction. Most helpful descending returns the reviews the community found most useful first.

**Does it include the star rating and spoiler flag?**\
Yes. Each review carries the reviewer's 1 to 10 star rating (left empty when the reviewer wrote a review without scoring), a spoiler flag, and the helpful and total vote counts. Every record also includes the title's aggregate rating and full per-star vote breakdown.

**What happens if a title has no reviews or the ID is wrong?**\
The scraper reports the title cleanly and moves on to the next one. Records that could not be retrieved carry an error field so nothing silently disappears from your dataset.

### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> This actor is an independent tool and has no affiliation with IMDb. It only accesses data that is publicly available on the platform. Use it in accordance with IMDb's terms of service.

# Actor input Schema

## `maxReviews` (type: `integer`):

Maximum number of user reviews to collect for each title. Optional.

## `titleUrls` (type: `array`):

IMDb titles to scrape reviews for. Accepts title IDs (they start with 'tt', for example 'tt0111161') or full title URLs (for example 'https://www.imdb.com/title/tt0111161/'). One per line.

## `sort` (type: `string`):

Order in which reviews are collected.

## `sortOrder` (type: `string`):

Descending returns the most helpful, newest or highest-rated first.

## Actor input object example

```json
{
  "maxReviews": 100,
  "titleUrls": [
    "tt0111161"
  ],
  "sort": "helpfulness",
  "sortOrder": "DESC"
}
```

# 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 = {
    "maxReviews": 100,
    "titleUrls": [
        "tt0111161"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/imdb-reviews-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 = {
    "maxReviews": 100,
    "titleUrls": ["tt0111161"],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/imdb-reviews-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "maxReviews": 100,
  "titleUrls": [
    "tt0111161"
  ]
}' |
apify call scrapers_lat/imdb-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/imdb-reviews-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/JFEvhgcqrNkd5pxHb/builds/y7dI3BmOeGSfY9Ubu/openapi.json
