IMDB Scraper avatar

IMDB Scraper

Pricing

Pay per event

Go to Apify Store
IMDB Scraper

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

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

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:

FieldDescription
titleIdIMDB title identifier (e.g., "tt0111161")
titleTitle name
originalTitleOriginal title (for foreign films)
titleTypeType: "movie", "tvSeries", "tvMovie", etc.
releaseYearRelease year
endYearEnd year (for TV series)
runtimeRuntime in minutes
runtimeFormattedFormatted runtime (e.g., "2h 22m")
ratingIMDB rating (0–10)
voteCountNumber of user votes
metascoreMetacritic score (0–100)
certificateContent certificate (e.g., "R", "PG-13")
genresArray of genres
plotPlot summary
imageUrlPoster image URL
urlDirect link to the IMDB title page
scrapedAtTimestamp 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

ParameterTypeDefaultDescription
titleTypestring"feature"Title type: feature, tvSeries, tvMovie, short, tvMiniSeries.
genresarray[]Filter by genres. Leave empty for all. Examples: action, comedy, drama, sci-fi, horror.
releaseYearFrominteger-Minimum release year.
releaseYearTointeger-Maximum release year.
ratingMinnumber-Minimum IMDB rating (0–10).
ratingMaxnumber-Maximum IMDB rating (0–10).
minVotesinteger-Minimum number of votes. Use 10000+ for well-known titles.
sortstring"num_votes_desc"Sort: num_votes_desc, user_rating_desc, user_rating_asc, release_date_desc, release_date_asc, alpha_asc.
maxResultsinteger50Maximum titles to return (up to 50).
maxRequestRetriesinteger3Retry attempts for failed requests.

How to scrape IMDB

  1. Go to IMDB Scraper on Apify Store
  2. Choose a title type (movie, TV series, etc.)
  3. Optionally filter by genre, release year, rating range, or minimum votes
  4. Set the sort order and maximum results
  5. Click Start and wait for results
  6. 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.

EventPrice
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 ApifyClient
client = 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().items
for 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 minVotes to 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 titleType to "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) and metascore (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