IMDb Search Scraper - Titles, People & IMDb IDs
Pricing
$2.50 / 1,000 item returneds
IMDb Search Scraper - Titles, People & IMDb IDs
Search IMDb for titles, people and companies. This reads IMDb's autocomplete index, so about 8 results come back per query. No ratings. You get the IMDb ID, year, category and poster. Also the stars or known-for line and popularity rank. $2.50 per 1,000.
Pricing
$2.50 / 1,000 item returneds
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
IMDb Search Scraper: resolve a name to an IMDb ID, for titles and people
Type breaking bad or tom hanks and get back the IMDb ID, the title or name, what kind of thing
it is, the year, the stars or known-for line, the poster or headshot, IMDb's popularity rank and the
imdb.com URL. No API key, no account.
Read this bit before you build on it: this is the index behind IMDb's own search box, so about 8 results come back per query and there is no page two. No ratings, no vote counts, no genre, no runtime, no plot. It is very good at turning a name into an ID, which is usually the first thing you need, and it is the wrong tool for full title metadata.
| Input | One search term, or a list of them |
| Output | One row per result |
| Ceiling | 1,000 rows per run, but only about 8 per query |
| Account needed | None, and no IMDb API key |
| Price | $2.50 per 1,000 rows, flat on every plan |
๐ What IMDb Search Scraper does
It searches the same index IMDb's own search box uses. One term in query, or a list in queries,
or both at once. Every term is searched separately and the rows are merged and deduplicated on IMDb
ID, so inception and the matrix in one run come back as one clean list.
That list is the only way past the per-query ceiling. Setting maxItems to 200 does not turn one
term into 200 rows, because the index hands out about 8 and offers no pagination. Twenty-five terms
will get you there; one term will not.
Titles, people and companies all come back. type narrows it to one of the first two.
๐ฅ What you give it
{"queries": ["inception", "the matrix", "arrival"],"type": "titles","maxItems": 50}
| Field | Default | What it is |
|---|---|---|
query | none | A single thing to search for, a film, a show or a person. The Console box starts at breaking bad; an API call has to send its own. |
queries | empty list | Several terms in one run, searched one request each, merged and deduplicated by IMDb ID. Set this and query together and all of them are searched. |
type | all | all keeps titles, people and companies. titles keeps IDs starting tt. people keeps IDs starting nm. Companies only appear under all. |
maxItems | 50 | 1 to 1,000, counted after deduplication across every term. Ask for more than exists and you get what exists. |
notionConnector | none | Optional. Writes one Notion page per row when the run finishes. Authorise the connector once under Settings, API & Integrations, MCP connectors. |
notionParentId | none | Optional. The Notion data source to write into. Leave it empty and the pages land privately in your workspace. |
proxyConfiguration | off | Optional network settings. A normal run does not need them. |
Send neither query nor queries and the run returns a BAD_INPUT row instead of results.
๐ค What you get back
A real row from a recent run, trimmed where the poster URL runs long:
{"ok": true,"id": "tt0903747","kind": "title","title": "Breaking Bad","category": "TV series","year": 2008,"yearRange": "2008-2013","starsOrKnownFor": "Bryan Cranston, Aaron Paul","rank": 46,"image": "https://m.media-amazon.com/images/M/MV5BOWE4NTc3YmYt...jpg","url": "https://www.imdb.com/title/tt0903747/"}
| Field | What it is |
|---|---|
id | The IMDb ID, and the reason most people run this. tt for titles, nm for people, co for companies. |
kind | title, person, company or other, worked out from the ID prefix. |
title | The title, or the person's name. |
category | IMDb's own label, such as feature, TV series or video game. null for people. |
year, yearRange | Release year, and the run span for a series like 2008-2013. null where neither applies. |
starsOrKnownFor | The main cast for a title, the known-for line for a person. |
rank | IMDb's popularity rank. Lower is more popular. |
image | Poster or headshot. null when IMDb has none. |
url | The imdb.com page. A company ID gets a company search URL. null on the odd kind: "other" row, which has no page of its own. |
๐งพ Reading the output
Two kinds of row land in your dataset.
| Row | How to spot it | Charged |
|---|---|---|
| A result | ok: true and an id | yes |
| A diagnostic | ok: false and an errorCode | no |
| Code | What it means |
|---|---|
BAD_INPUT | Neither query nor queries was set. Nothing was searched and nothing was charged. |
NO_RESULTS | The search ran but type removed everything it found. Try type: "all". |
Other diagnostics carry their own errorCode in the same shape. One thing to know about multi-term
runs: if some terms work and others fail, the failures show up in the run log rather than as rows,
so compare the row count against the number of terms you sent.
โถ๏ธ How to run it
- Open IMDb Search Scraper and click Try for free.
- Type one thing into Search query, or paste a list into Multiple queries.
- Set Result type if you only want titles or only people.
- Leave Max results alone for a first run, then click Start.
- Download the dataset as JSON, CSV or Excel, or read it from the Apify API.
๐ฐ How much does it cost?
$2.50 per 1,000 rows. Flat on every Apify plan, no volume tiers.
You pay per row delivered. Duplicates removed across your terms are not charged, diagnostic rows are not charged, and a run that finds nothing costs you nothing. Since a term returns about 8 rows, a 20-term run lands near 160 rows.
๐ก What people use it for
- Turning a spreadsheet of film or show names into IMDb IDs, so the rest of a pipeline has a key to join on.
- Checking that a title people typed by hand actually exists, and catching the ones that matched nothing.
- Pulling posters and headshots for a set of titles or actors without touching a page.
- Ranking a shortlist by
rankto see which of them anyone is actually looking up.
๐ง What it does not do
- No ratings, vote counts, genres, runtime, plot or full cast. Those live on the title page, which this does not read.
- About 8 rows per query, and no second page. More rows means more terms, not a bigger
maxItems. typefilters on the ID prefix only. It is not a search-side filter, so narrowing can empty a run that did find things.- Companies are only returned under
type: "all". - A
kind: "other"row has nourl. Franchise-style entries have no page of their own. - Search ranking is IMDb's. This actor does not re-order what comes back.
- No watchlists, no reviews, no box office.
๐งญ Which reference scraper do you need?
| If you want | Use |
|---|---|
| IMDb IDs for titles and people | This one |
| TV shows, episodes and cast records | TV Show Scraper |
| Artists, releases and labels | MusicBrainz Scraper |
| Books, editions and ISBNs | Books Scraper |
| Mobile apps and their listings | App Store Scraper |
โ Questions people ask
Can I get a film's rating out of this? No. The index behind IMDb's search box does not carry ratings, and neither does this actor.
Why did I only get 8 rows? That is the ceiling per term. Put more terms into queries.
Do repeated terms cost me twice? No. Terms that differ only in capitalisation are searched once, and identical IDs across terms are merged before anything is charged.
Can I search people and titles at once? Yes, that is what type: "all" does. It is the default.
Can I schedule it? Yes, like any Apify actor. A saved list of terms in queries makes it
repeatable.
Is scraping IMDb search results legal? These are public search results. They can still describe real people, which GDPR and similar laws cover, so have a reason for collecting them. Apify's write-up on scraping and the law is a good place to start, and we are not lawyers.
๐ If something breaks
Open the Issues tab on the actor page. Send the terms you searched and the run ID. The
errorCode on the diagnostic row usually names the problem on its own.
