IMDB Movies Search Scraper avatar

IMDB Movies Search Scraper

Under maintenance

Pricing

from $4.99 / 1,000 results

Go to Apify Store
IMDB Movies Search Scraper

IMDB Movies Search Scraper

Under maintenance

Search IMDB for movies, TV shows, and other titles with comprehensive filters including genre, year, rating, language, and more.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 days ago

Last modified

Share

IMDb Movies Search & Detail Scraper

This actor discovers IMDb title pages from a keyword search, advanced title search, chart, or IMDb start URL, then opens every title page and emits an enriched record from IMDb's structured page state. It does not invent values, emit placeholder rows, or silently accept an IMDb verification page.

Reliable use

Use the default Apify Residential proxy configuration and a low maxConcurrency (2–3). IMDb can return a Human Verification shell (often HTTP 202/403/429); the actor detects this by response status, document title, and body markers, treats it as a failure, and writes no rows from that page.

maxItems is a hard cap, not a promise that IMDb has that many matching titles. The run fails on blocked/failed requests or zero usable records; a naturally shorter result set succeeds with a warning.

Inputs

InputMeaning
modesearch, advancedSearch, startUrls, or topChart.
searchQueryRequired for keyword search.
startUrlsIMDb-only list/search/chart URLs; required for startUrls.
topCharttop250, top250tv, bottom100, moviemeter, or tvmeter.
maxItemsMaximum enriched titles requested (1–500).
maxConcurrencyConcurrent Chromium pages (1–5; default 2).
filterstitleType, genres, year/rating/vote ranges, languages, countries, certificates, and sortBy apply to advanced search.

Output contract

Every row has at least 25 populated fields. Optional IMDb values are omitted when IMDb does not publish them—there are no null, blank string, empty array, or empty-object values. The reserved top-level keys id, title, and description are intentionally not used; use titleId, titleName, and plot.

Common fields include IMDb identifiers and URLs, release/runtime/rating data, genres, credits, cast, countries and languages, images/trailers, review and award counts, and browser/proxy/source provenance. Values are derived from the current IMDb title page's JSON-LD or Next.js state.

Example input

{
"mode": "search",
"searchQuery": "Inception",
"maxItems": 10,
"maxConcurrency": 2,
"genres": ["Drama"],
"ratingMin": 7
}

Example output

{
"recordType": "imdb-title",
"titleId": "tt1375666",
"titleName": "Inception",
"titleType": "movie",
"releaseYear": 2010,
"genres": ["Action", "Sci-Fi", "Thriller"],
"imdbRating": 8.8,
"voteCount": 2500000,
"plot": "A thief who steals corporate secrets through dream-sharing technology.",
"primaryImageUrl": "https://m.media-amazon.com/images/example.jpg",
"resultPosition": 1,
"scrapingTimestamp": "2026-08-18T00:00:00.000Z"
}

Local checks

Run npm test for input/URL contract tests, npm run lint for syntax checks, and npm run validate-dataset after a local run. The dataset validator rejects partial records, empty nested values, schema type mismatches, and reserved keys.