IMDb Search Scraper - Titles, People & IMDb IDs avatar

IMDb Search Scraper - Titles, People & IMDb IDs

Pricing

$2.50 / 1,000 item returneds

Go to Apify Store
IMDb Search Scraper - Titles, People & IMDb IDs

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

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

1

Monthly active users

2 days ago

Last modified

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.

InputOne search term, or a list of them
OutputOne row per result
Ceiling1,000 rows per run, but only about 8 per query
Account neededNone, 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
}
FieldDefaultWhat it is
querynoneA 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.
queriesempty listSeveral 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.
typeallall keeps titles, people and companies. titles keeps IDs starting tt. people keeps IDs starting nm. Companies only appear under all.
maxItems501 to 1,000, counted after deduplication across every term. Ask for more than exists and you get what exists.
notionConnectornoneOptional. Writes one Notion page per row when the run finishes. Authorise the connector once under Settings, API & Integrations, MCP connectors.
notionParentIdnoneOptional. The Notion data source to write into. Leave it empty and the pages land privately in your workspace.
proxyConfigurationoffOptional 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/"
}
FieldWhat it is
idThe IMDb ID, and the reason most people run this. tt for titles, nm for people, co for companies.
kindtitle, person, company or other, worked out from the ID prefix.
titleThe title, or the person's name.
categoryIMDb's own label, such as feature, TV series or video game. null for people.
year, yearRangeRelease year, and the run span for a series like 2008-2013. null where neither applies.
starsOrKnownForThe main cast for a title, the known-for line for a person.
rankIMDb's popularity rank. Lower is more popular.
imagePoster or headshot. null when IMDb has none.
urlThe 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.

RowHow to spot itCharged
A resultok: true and an idyes
A diagnosticok: false and an errorCodeno
CodeWhat it means
BAD_INPUTNeither query nor queries was set. Nothing was searched and nothing was charged.
NO_RESULTSThe 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

  1. Open IMDb Search Scraper and click Try for free.
  2. Type one thing into Search query, or paste a list into Multiple queries.
  3. Set Result type if you only want titles or only people.
  4. Leave Max results alone for a first run, then click Start.
  5. 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 rank to 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.
  • type filters 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 no url. 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 wantUse
IMDb IDs for titles and peopleThis one
TV shows, episodes and cast recordsTV Show Scraper
Artists, releases and labelsMusicBrainz Scraper
Books, editions and ISBNsBooks Scraper
Mobile apps and their listingsApp 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.