IMDB Scraper avatar

IMDB Scraper

Pricing

Pay per event

Go to Apify Store
IMDB Scraper

IMDB Scraper

Scrape IMDB movie and TV show data — ratings, votes, genres, runtime, plot, metascore, and more.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day 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:

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.

Pricing

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.

How to use IMDB Scraper via API

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('YOUR_USERNAME/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('YOUR_USERNAME/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.

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.