IMDB Scraper
Pricing
Pay per event
IMDB Scraper
Scrape movie and TV show data from IMDb — titles, ratings, cast, crew, genres, runtime, plot summaries, and box office numbers. Build entertainment databases, track ratings trends, and analyze film industry data at scale.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does IMDB Scraper do?
IMDB Scraper extracts movie and TV show data from IMDB search results. Get structured data for titles including ratings, vote counts, genres, runtime, plot summaries, metascores, content certificates, and poster images. Filter by title type, genre, release year, rating range, and minimum votes.
Use it for movie research, content analysis, recommendation systems, data journalism, and entertainment industry analytics.
Use cases
- Movie research — Find top-rated movies by genre, year, or vote count. Build curated movie lists for any criteria.
- Content analysis — Analyze rating distributions, genre trends, and audience preferences across decades of film history.
- Recommendation systems — Feed structured IMDB data into recommendation engines to suggest movies based on ratings, genres, and metadata.
- Data journalism — Research film industry trends, box office performance indicators, and critical reception patterns.
- Entertainment analytics — Track new releases, monitor rating changes, and compare titles by metascore vs audience rating.
Why use IMDB Scraper?
- Rich data extraction — Every title includes IMDB rating, vote count, metascore, genres, runtime, plot summary, certificate, and poster image.
- Powerful filters — Filter by title type (movie, TV series, mini-series), genre, release year range, rating range, and minimum vote count.
- Fast and lightweight — Extracts data from IMDB's embedded JSON (
__NEXT_DATA__), no HTML parsing needed. Single request returns up to 50 titles. - Multiple sort options — Sort by most voted, highest/lowest rating, newest/oldest, or alphabetical.
- No browser needed — Pure HTTP extraction, extremely fast and reliable.
- Pay-per-event pricing — You only pay for titles scraped. No monthly subscription.
What data can you extract?
Each title in the output includes:
| Field | Description |
|---|---|
titleId | IMDB title identifier (e.g., "tt0111161") |
title | Title name |
originalTitle | Original title (for foreign films) |
titleType | Type: "movie", "tvSeries", "tvMovie", etc. |
releaseYear | Release year |
endYear | End year (for TV series) |
runtime | Runtime in minutes |
runtimeFormatted | Formatted runtime (e.g., "2h 22m") |
rating | IMDB rating (0–10) |
voteCount | Number of user votes |
metascore | Metacritic score (0–100) |
certificate | Content certificate (e.g., "R", "PG-13") |
genres | Array of genres |
plot | Plot summary |
imageUrl | Poster image URL |
url | Direct link to the IMDB title page |
scrapedAt | Timestamp when the data was extracted |
Output example
{"titleId": "tt1160419","title": "Dune: Part Two","originalTitle": "Dune: Part Two","titleType": "movie","releaseYear": 2024,"endYear": null,"runtime": 166,"runtimeFormatted": "2h 46m","rating": 8.4,"voteCount": 719914,"metascore": 79,"certificate": "PG-13","genres": ["Action", "Adventure", "Drama"],"plot": "Paul Atreides unites with the Fremen while on a warpath of revenge...","imageUrl": "https://m.media-amazon.com/images/M/MV5...","url": "https://www.imdb.com/title/tt1160419/","scrapedAt": "2026-03-03T00:58:41.000Z"}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
titleType | string | "feature" | Title type: feature, tvSeries, tvMovie, short, tvMiniSeries. |
genres | array | [] | Filter by genres. Leave empty for all. Examples: action, comedy, drama, sci-fi, horror. |
releaseYearFrom | integer | - | Minimum release year. |
releaseYearTo | integer | - | Maximum release year. |
ratingMin | number | - | Minimum IMDB rating (0–10). |
ratingMax | number | - | Maximum IMDB rating (0–10). |
minVotes | integer | - | Minimum number of votes. Use 10000+ for well-known titles. |
sort | string | "num_votes_desc" | Sort: num_votes_desc, user_rating_desc, user_rating_asc, release_date_desc, release_date_asc, alpha_asc. |
maxResults | integer | 50 | Maximum titles to return (up to 50). |
maxRequestRetries | integer | 3 | Retry attempts for failed requests. |
How to scrape IMDB
- Go to IMDB Scraper on Apify Store
- Choose a title type (movie, TV series, etc.)
- Optionally filter by genre, release year, rating range, or minimum votes
- Set the sort order and maximum results
- Click Start and wait for results
- Download data as JSON, CSV, or Excel
How much does it cost to scrape IMDB?
IMDB Scraper uses pay-per-event pricing — you only pay for what you scrape.
| Event | Price |
|---|---|
| Actor start | $0.001 per run |
| Title scraped | $0.002 per title |
Cost examples:
- 50 titles (default): ~$0.10
- 10 titles (filtered): ~$0.02
- 50 titles x 5 runs (different genres): ~$0.50
No monthly subscription. Platform costs (compute, proxy) are included in the per-event price.
Using IMDB Scraper with the Apify API
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('automation-lab/imdb-scraper').call({titleType: 'feature',genres: ['sci-fi'],releaseYearFrom: 2024,minVotes: 10000,sort: 'user_rating_desc',});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(movie => {console.log(`${movie.rating}/10 - ${movie.title} (${movie.releaseYear})`);});
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/imdb-scraper').call(run_input={'titleType': 'feature','genres': ['sci-fi'],'releaseYearFrom': 2024,'minVotes': 10000,'sort': 'user_rating_desc',})items = client.dataset(run['defaultDatasetId']).list_items().itemsfor movie in items:print(f"{movie['rating']}/10 - {movie['title']} ({movie['releaseYear']})")
Integrations
IMDB Scraper works with all standard Apify integrations:
- Webhooks — Get notified when a scraping run finishes.
- API — Start runs and fetch results programmatically with REST API or official clients.
- Scheduling — Run weekly to track new releases and rating changes.
- Storage — Export as JSON, CSV, or Excel. Push to Google Sheets, Slack, or email.
- Zapier / Make / n8n — Connect IMDB data to thousands of apps and workflows.
Tips and best practices
- Use minVotes — Set
minVotesto 10000+ to filter out obscure titles and get well-known movies with reliable ratings. - Combine filters — Use genre + year + minVotes for targeted lists like "Best Horror Movies of 2024 with 10k+ votes".
- TV Series — Set
titleTypeto "tvSeries" to scrape TV show data including end year for completed series. - Schedule for tracking — Run weekly with the same filters to track new entries and rating changes.
- Metascore comparison — Use both
rating(audience) andmetascore(critics) for comprehensive title evaluation. - 50 titles per search — IMDB returns up to 50 titles per search. Use multiple runs with different filters for larger datasets.
Use with AI agents via MCP
IMDB Scraper is available as a tool for AI assistants via the Model Context Protocol (MCP).
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Example prompts
- "Get IMDB details for 'The Shawshank Redemption'"
- "Search IMDB for top-rated TV shows of 2025"
- "Find the highest-rated sci-fi movies with at least 50,000 votes on IMDB"
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~imdb-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"titleType": "feature","genres": ["sci-fi"],"releaseYearFrom": 2024,"minVotes": 10000,"sort": "user_rating_desc"}'
Legality
Scraping publicly available data is generally legal according to the US Court of Appeals ruling (HiQ Labs v. LinkedIn). This actor only accesses publicly available information and does not require authentication. Always review and comply with the target website's Terms of Service before scraping. For personal data, ensure compliance with GDPR, CCPA, and other applicable privacy regulations.
FAQ
Why does my search return 0 results? IMDB's advanced search requires at least one filter to return results. If you set a very narrow combination of filters (e.g., a rare genre + high minimum votes + a single year), there may be no matching titles. Try relaxing one or more filters.
Some titles are missing metascore or plot data. Not all IMDB titles have Metacritic scores or plot summaries in the search index. These fields will be null when unavailable. For more complete data, consider using the title's IMDB page directly.
Limitations
- Returns up to 50 titles per search (IMDB's page limit). Multi-page pagination is not supported.
- Some titles may not have metascore, certificate, or plot data.
- Runtime is extracted in seconds from IMDB's data and converted to minutes.
- Only supports IMDB's advanced title search. Does not scrape individual title pages, reviews, or cast details.
Other entertainment scrapers
- Goodreads Scraper — Books, ratings, and reviews from Goodreads
- Steam Scraper — Games, prices, and reviews from Steam
- Metacritic Scraper — Critic and user scores from Metacritic
