# **IMDb Search Prompt** (`dtrungtin/imdb-search-prompt`) Actor

Scrape IMDb listings from a **plain-English prompt** — no URL building required. Describe what you're looking for (for example, *"gaming laptop under 1000 USD with RTX 4060"*), and the Actor uses AI to turn your prompt into multiple targeted IMDb search URLs, scrapes the matching listings

- **URL**: https://apify.com/dtrungtin/imdb-search-prompt.md
- **Developed by:** [Tin](https://apify.com/dtrungtin) (community)
- **Categories:** Videos, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 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.

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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

### What does IMDb Search Prompt do?

**IMDb Search Prompt** lets you scrape [IMDb](https://www.imdb.com/) movies, TV shows, and other titles from a **plain-English prompt** — no URL building required. Describe what you're looking for (for example, *"highest-rated sci-fi movies from the 1980s"*), and the Actor uses AI to turn your prompt into multiple targeted IMDb search URLs, scrapes the matching titles, and stores them as a structured dataset.

Under the hood, it chains two Actors together:

1. [AI Scraper Input Generator](https://apify.com/dtrungtin/ai-scraper-input-generator) converts your prompt into IMDb search URLs.
2. [IMDb Scraper](https://apify.com/dtrungtin/imdb-scraper) crawls those URLs and extracts the title details — ratings, year, genre, director, stars, and more.

Because it runs on the Apify platform, you get **API access, scheduling, monitoring, and integrations** (Make, Zapier, webhooks, Google Drive, and more) out of the box.

### Why use IMDb Search Prompt?

- **No manual URL construction** — describe your intent in natural language, and the AI handles IMDb's search URL format, filters, and query variations.
- **Better coverage** — one prompt becomes several targeted search URL variations, surfacing titles a single query would miss.
- **Watchlist and catalog research made simple** — schedule a run of "new crime series with rating above 8" and feed the results into your own database.
- **Film and market research** — build datasets of titles by genre, era, country, or rating for analysis and recommendation systems.
- **Automation-ready** — predictable JSON output that plugs straight into data pipelines and integrations.

### How to use IMDb Search Prompt

1. Open the Actor in Apify Console.
2. In the **Input** tab, enter your search prompt in plain English.
3. Optionally adjust **Max items** to limit how many titles are scraped.
4. Set the Actor's memory to **128 MB or less** in the run options (the Actor enforces this limit, since the heavy lifting happens in the chained Actors).
5. Click **Start** and wait for the run to finish.
6. Open the **Output** tab or the dataset API URL to view and export your results.

### Input

Set the input in the Actor's Input tab. Only the prompt is required.

```json
{
    "prompt": "highest-rated sci-fi movies from the 1980s",
    "maxItems": 50
}
````

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| prompt | string | Yes | Plain-English description of the titles to find on IMDb. Genre, era, rating, and country all improve results. |
| maxItems | integer | No | Maximum number of title pages to scrape (default 10, maximum 500).

### Output

Each scraped IMDb title is stored as one item in the default dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Example dataset item:

```json
{
    "title": "Blade Runner (1982)",
    "original title": "",
    "runtime": "1h 57m",
    "certificate": "R",
    "year": "1982",
    "rating": "8.1",
    "ratingcount": "870,000",
    "description": "A blade runner must pursue and terminate four replicants who stole a ship in space and have returned to Earth to find their creator.",
    "stars": "Harrison Ford, Rutger Hauer, Sean Young",
    "director": "Ridley Scott",
    "genre": "Sci-Fi",
    "country": "United States",
    "url": "https://www.imdb.com/title/tt0083658"
}
```

### Data table

| Field | Type | Description |
| --- | --- | --- |
| title | string | Title with release year |
| original title | string | Original (non-localized) title, when different |
| runtime | string | Length of the movie or episode |
| certificate | string | Age/content rating (e.g. R, PG-13) |
| year | string | Release year |
| rating | string | IMDb user rating |
| ratingcount | string | Number of user ratings |
| description | string | Plot summary |
| stars | string | Main cast |
| director | string | Director(s) |
| genre | string | Genre(s) |
| country | string | Country of origin |
| url | string | Direct link to the IMDb title page |

Exact fields may vary slightly by title, since not all IMDb listings expose the same attributes.

### How much does it cost to scrape IMDb with a prompt?

A run consists of three parts: this orchestrator Actor (very light — it runs at 128 MB and mostly waits), one short AI Scraper Input Generator run, and the IMDb Scraper run. Note that the [IMDb Scraper](https://apify.com/dtrungtin/imdb-scraper) is a **rental Actor ($50/month with a 1-day free trial)**, so you need an active rental on the account whose token runs the scrape; its usage cost on top of the rental is low (roughly $0.30 per 1,000 results). Use **Max items** to cap the scraping cost of each run, and start with small values to see actual consumption before scaling up.

### Tips

- **Be specific in your prompt.** "Korean thrillers from the 2010s with rating above 7.5" produces much better search URLs than "movies".
- **Start small.** Run with a low `maxItems` first to check that the generated URLs match your intent, then scale up (maximum 500).
- **Schedule it.** Add the Actor to a Schedule to track new releases or rating changes in a genre, and connect a webhook or integration to act on the results.
- **Keep memory at 128 MB.** The Actor intentionally refuses to run with more, because the chained Actors do the actual work — extra memory would only add cost.

### FAQ, disclaimers, and support

**Is it legal to scrape IMDb?** This Actor extracts publicly available title data. You are responsible for reviewing and complying with IMDb's Terms of Service and applicable laws (including data protection regulations) before using the results, especially in automated or commercial workflows. Do not collect or misuse personal data.

**Why did my run fail with a memory error?** This Actor requires memory of 128 MB or less. Lower the memory setting in the run options and start it again.

**Why are there no results?** If the AI could not generate valid search URLs from your prompt, the run fails with a clear error — rephrase the prompt with more specific title, genre, or era terms and try again.

Found a bug or need a custom feature? Open an issue in the Actor's **Issues** tab — custom solutions and tailored versions are available on request.

# Actor input Schema

## `prompt` (type: `string`):

Describe what you want to search for on Amazon. The Actor will generate search URLs from this prompt and scrape the results.

## `maxItems` (type: `integer`):

Limit of detail/product pages to be scraped

## Actor input object example

```json
{
  "prompt": "univer",
  "maxItems": 50
}
```

# 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 = {
    "prompt": "univer",
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("dtrungtin/imdb-search-prompt").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 = {
    "prompt": "univer",
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("dtrungtin/imdb-search-prompt").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 '{
  "prompt": "univer",
  "maxItems": 50
}' |
apify call dtrungtin/imdb-search-prompt --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "**IMDb Search Prompt**",
        "description": "Scrape IMDb listings from a **plain-English prompt** — no URL building required. Describe what you're looking for (for example, *\"gaming laptop under 1000 USD with RTX 4060\"*), and the Actor uses AI to turn your prompt into multiple targeted IMDb search URLs, scrapes the matching listings",
        "version": "0.0",
        "x-build-id": "uHWnA96cy2qEOic1C"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/dtrungtin~imdb-search-prompt/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-dtrungtin-imdb-search-prompt",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/dtrungtin~imdb-search-prompt/runs": {
            "post": {
                "operationId": "runs-sync-dtrungtin-imdb-search-prompt",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/dtrungtin~imdb-search-prompt/run-sync": {
            "post": {
                "operationId": "run-sync-dtrungtin-imdb-search-prompt",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "prompt"
                ],
                "properties": {
                    "prompt": {
                        "title": "Prompt Keywords",
                        "type": "string",
                        "description": "Describe what you want to search for on Amazon. The Actor will generate search URLs from this prompt and scrape the results.",
                        "default": "univer"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Limit of detail/product pages to be scraped",
                        "default": 10
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
