# IMDb Movie & TV Titles Scraper (`scrapers_lat/imdb-titles-scraper`) Actor

Scrape IMDb movie and TV title data: title, original title, type, year, genres, IMDb rating and vote count, runtime, plot, directors, main cast, content rating and poster image. Search by keyword or look up title IDs. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/imdb-titles-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** News, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.80 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## IMDb Movie & TV Titles Scraper

> Pull clean, structured IMDb data for any movie or TV show: rating and vote count, genres, runtime, plot, directors, main cast, content rating and poster. Search by keyword or look up exact title IDs and export ready-to-use data for research, catalogs and recommendation models.

**📥 [Input](https://apify.com/scrapers_lat/imdb-titles-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/imdb-titles-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/imdb-titles-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/imdb-titles-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Movies & TV](https://img.shields.io/badge/Data-Movies%20%26%20TV-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>Rating & votes</strong><br>plus genres and runtime</td>
<td align="center"><strong>Cast & crew</strong><br>directors and main cast</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
</tr></table>

<br>

### Who is it for

| Use case | Who benefits |
|---|---|
| Catalogs and metadata | Streaming, media and library teams enriching their title data |
| Recommendation & ML | Data scientists building models on ratings, genres and cast |
| Research and journalism | Analysts and writers studying films, shows and audience scores |
| Apps and dashboards | Builders adding rich title cards, ratings and posters to their product |

### How to use it

1. Add one or more **search keywords** (movie or show names), one per line.
2. Optionally add exact **IMDb title IDs** (they start with `tt`) to fetch specific titles.
3. Set **Max Titles To Scrape** and run. Export as JSON, CSV or Excel, or pull it through the Apify API.

### Frequently Asked Questions

**How do I get a specific title and not just search matches?**
Add its IMDb title ID (for example `tt0111161`) to the IMDb Title IDs field. Every ID you provide is fetched exactly.

**What does the rating mean?**
`rating` is the IMDb user rating from 0 to 10, and `votes` is the number of votes it is based on, so you can weight popularity against score.

**Does it cover TV shows as well as movies?**
Yes. Movies, TV series, mini-series, shorts and more are all supported, with the type stored in `type` and `typeLabel`.

**How fresh is the data?**
Ratings, votes and details are read live at run time, so each record reflects the title at the moment of the run (see `observedAt`).

### Related scrapers

- [Yahoo Finance Scraper](https://apify.com/scrapers_lat/yahoo-finance-scraper)
- [Google News Scraper](https://apify.com/scrapers_lat/google-news-scraper)
- [SeatGeek Events Scraper](https://apify.com/scrapers_lat/seatgeek-events-scraper)

### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for public platforms: finance, news, real estate, jobs, e-commerce and government data. Browse the full catalog or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> This actor is an independent tool and has no affiliation with IMDb or Amazon. It only accesses publicly available title data. Use the results in accordance with the source's terms.

# Actor input Schema

## `searchQueries` (type: `array`):

Movie or TV titles to search for, one per line (for example 'Inception', 'Breaking Bad', 'Dune'). Each keyword returns its best-matching titles. Add IMDb title IDs below to look up exact titles.

## `imdbIds` (type: `array`):

Optional. Exact IMDb title IDs to fetch (they start with 'tt', for example 'tt0111161'). Use these when you already know the titles you want.

## `maxTitles` (type: `integer`):

Maximum number of titles to collect across all searches and IDs.

## Actor input object example

```json
{
  "searchQueries": [
    "Inception",
    "Breaking Bad",
    "The Godfather"
  ],
  "maxTitles": 30
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "Inception",
        "Breaking Bad",
        "The Godfather"
    ],
    "maxTitles": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/imdb-titles-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": [
        "Inception",
        "Breaking Bad",
        "The Godfather",
    ],
    "maxTitles": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/imdb-titles-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "Inception",
    "Breaking Bad",
    "The Godfather"
  ],
  "maxTitles": 30
}' |
apify call scrapers_lat/imdb-titles-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/imdb-titles-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/1jwOWz2dN2V3g3EYG/builds/KqhLxMm5ffOkZJavH/openapi.json
