IMDb User Reviews Scraper
Pricing
from $6.80 / 1,000 results
IMDb User Reviews Scraper
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.
Pricing
from $6.80 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
0.042 hours
Issues response
14 days ago
Last modified
Categories
Share
IMDb User Reviews Scraper
Here is one real result, with every field the actor returns (review text trimmed for length, kept real):
{"imageUrl": "https://m.media-amazon.com/images/M/MV5BMDAyY2FhYjctNDc5OS00MDNlLThiMGUtY2UxYWVkNGY2ZjljXkEyXkFqcGc@._V1_.jpg","reviewTitle": "An incredible movie. One that lives with you.","reviewId": "rw6606154","rating": 10,"author": "Sleepin_Dragon","authorUrl": "https://www.imdb.com/user/ur15311310/","reviewDate": "2021-02-17","helpfulUpVotes": 628,"helpfulTotalVotes": 679,"spoiler": false,"reviewText": "It is no wonder that the film has such a high rating, it is quite literally breathtaking. What can I say that hasn't said before? ... The ultimate story of friendship, of hope, and of life, and overcoming adversity. ... it's amazing. 10/10. (trimmed)","permalink": "https://www.imdb.com/review/rw6606154/","imdbId": "tt0111161","titleName": "The Shawshank Redemption","titleYear": 1994,"titleUrl": "https://www.imdb.com/title/tt0111161/","titleRating": 9.3,"titleVotes": 3223482,"titleRatingBreakdown": [{ "rating": 1, "voteCount": 43564 },{ "rating": 8, "voteCount": 380871 },{ "rating": 9, "voteCount": 836657 },{ "rating": 10, "voteCount": 1769830 }],"aiSentiment": null,"aiSentimentScore": null,"aiSummary": null,"aiTopics": null,"source": "IMDb","observedAt": "2026-08-14T08:21:31.702Z","error": null}
The most complete IMDb user-reviews scraper available. It returns every field each review exposes (title, full text, author, star rating, date, helpfulness, spoiler flag, permalink), plus the title's aggregate rating, total votes and full per-star breakdown, with optional AI sentiment, summary and topic add-ons.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor takes one or more IMDb titles (title IDs like tt0111161 or full title URLs), pages through their user reviews, and writes one normalized record per review to the run's dataset. Each record carries the review title, full plain-text body, author and author URL, star rating, submission date, helpfulness votes, spoiler flag and permalink, along with the parent title's name, year, poster image, aggregate rating, total vote count and full per-star rating breakdown. It reads only publicly available IMDb data.
Choose the sort order (most helpful, newest, user rating or total votes) and how many reviews to collect per title. Optional AI add-ons tag each review with sentiment, a short summary and the topics it discusses.
Quickstart
Open the actor, paste this into the input, and press Run. It collects the 10 most helpful reviews of The Shawshank Redemption.
{"titleUrls": ["tt0111161"],"sort": "helpfulness","sortOrder": "DESC","maxReviews": 10}
Add several titles to titleUrls (IDs or URLs, one per line) to scrape reviews from many titles in one run.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
titleUrls | string[] | yes | ["tt0111161"] | IMDb titles to scrape. Accepts title IDs (tt...) or full title URLs, one per line. |
maxReviews | integer | no | 100 | Maximum reviews to collect per title. Free Apify plans are capped at 10 per title. |
sort | enum | no | helpfulness | Sort reviews by helpfulness, date, rating, or votes. |
sortOrder | enum | no | DESC | DESC (most helpful/newest/highest first) or ASC. |
withSentiment | boolean | no | false | Paid add-on. AI sentiment and score per review (aiSentiment, aiSentimentScore). Paid plans only. |
withSummary | boolean | no | false | Paid add-on. AI 1-2 sentence summary per review (aiSummary). Paid plans only. |
withTopics | boolean | no | false | Paid add-on. AI topics/aspects per review (aiTopics). Paid plans only. |
Output reference
One dataset item per review. Types: string, number, integer, boolean, object[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
imageUrl | string | Title poster image URL. |
reviewTitle | string | Review headline/summary. |
reviewId | string | IMDb review ID, for example rw6606154. |
rating | integer | Reviewer star rating 1-10, or null if unrated. |
author | string | Reviewer nickname. |
authorUrl | string | Reviewer profile URL, else null. |
reviewDate | string | Submission date (YYYY-MM-DD). |
helpfulUpVotes | integer | Number of helpful up-votes. |
helpfulTotalVotes | integer | Total helpfulness votes (up plus down). |
spoiler | boolean | true if the review is flagged as a spoiler. |
reviewText | string | Full plain-text review body. |
permalink | string | Permalink to the review. |
imdbId | string | Parent title ID. |
titleName | string | Parent title name. |
titleYear | integer | Parent title release year. |
titleUrl | string | Parent title URL. |
titleRating | number | Title aggregate rating. |
titleVotes | integer | Title total vote count. |
titleRatingBreakdown | object[] | Per-star breakdown: rating (1-10) and voteCount. |
aiSentiment | string | AI sentiment positive/negative/mixed/neutral (paid add-on), else null. |
aiSentimentScore | number | AI sentiment score -1..1 (paid add-on), else null. |
aiSummary | string | AI review summary (paid add-on), else null. |
aiTopics | string[] | AI review topics (paid add-on), else null. |
source | string | Always IMDb. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed title, an item with a populated error field (and imdbId) is written instead. |
Example output record
Real record from a live run (input {"imdbIds":["tt0111161"],"maxReviews":3,"withSentiment":true,"withSummary":true,"withTopics":true}). Review text and breakdown trimmed for length, all values real:
{"reviewTitle": "An incredible movie. One that lives with you.","reviewId": "rw6606154","rating": 10,"author": "Sleepin_Dragon","reviewDate": "2021-02-17","helpfulUpVotes": 628,"helpfulTotalVotes": 679,"spoiler": false,"permalink": "https://www.imdb.com/review/rw6606154/","imdbId": "tt0111161","titleName": "The Shawshank Redemption","titleYear": 1994,"titleRating": 9.3,"titleVotes": 3223482,"aiSentiment": "positive","aiSentimentScore": 0.9,"aiSummary": "The reviewer praises the film as breathtaking and unforgettable, highlighting its powerful story, acting, and emotional impact, while acknowledging its status as a highly regarded film.","aiTopics": ["acting", "plot", "emotional impact", "themes", "friendship", "adversity"],"source": "IMDb","observedAt": "2026-08-14T08:21:31.702Z","error": null}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~imdb-reviews-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"titleUrls":["tt0111161"],"sort":"helpfulness","maxReviews":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~imdb-reviews-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"titleUrls":["https://www.imdb.com/title/tt0068646/"],"sort":"date","maxReviews":100}'
Apify CLI:
apify call scrapers_lat/imdb-reviews-scraper \--input '{"titleUrls":["tt0111161","tt0068646"],"maxReviews":50}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per review returned (
resultevent). See the pricing tab for the current per-result price. - Paid AI add-ons.
withSentiment,withSummaryandwithTopicscharge separate per-review events (ai_sentiment,ai_summary,ai_topics) only when they produce output, and are disabled for free plans. - No charge on failure. If a title errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 reviews per title. Upgrade for higher
maxReviews.
FAQ and troubleshooting
A title returned an error item. Why?
IMDb briefly blocked the request or the title ID was invalid. The item carries an error field and imdbId and is not charged. Retry, or confirm the title ID.
How do I get the newest reviews first?
Set sort to date and sortOrder to DESC.
What is titleRatingBreakdown?
The count of votes at each star level (1 through 10) for the title, so you can chart the full rating distribution, not just the average.
Can I scrape reviews for many titles at once?
Yes. Add multiple IDs or URLs to titleUrls. maxReviews applies per title.
Is this an official IMDb tool? No. This actor is independent and has no affiliation with IMDb or Amazon. It reads only data that is publicly available on IMDb. Use it in accordance with IMDb's terms of service.
Related scrapers
- IMDb Titles Scraper: IMDb title metadata, ratings and credits.
- App Store Reviews Scraper: Apple App Store app reviews.
- Google Play Reviews Scraper: Google Play app reviews.
- Goodreads Scraper: Goodreads book data and reviews.
- Google Maps Reviews Scraper: Google Maps place reviews.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with IMDb or Amazon. Accesses only publicly available IMDb data. Use in accordance with IMDb's terms of service.

