IMDb API endpoint
Searches IMDb titles by `query`, returning up to `limit` rows (default 10, max 20). Each result has the title id, title, URL, year, title type, image and a description holding the lead cast. A query with no matches returns an empty `results` list.
/imdb/searchReturns IMDb title search rows.
Query parameters:
query: search query, for example inception.limit: rows to return. Defaults to 10; maximum 20.Notable response behavior:
data.results contains title rows with IMDb title IDs and public title URLs, plus year, title_type, image_url and description (the lead cast) when IMDb has them.results list.| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| id | 10 | |
| title | 10 | “Inception” and 7 other values |
| url | 10 | imdb.com |
| year | 9 | 2,010 to 2,026, median 2,015 |
| title_type | 10 | Movie (5), Video (2), Short (1) and 2 more |
| description | 7 | “Leonardo DiCaprio, Joseph Gordon-Levitt” and 5 other values |
| image_url | 9 | m.media-amazon.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| query | string | Yes | Search query | inception | |
| limit | integer | No | Rows to return, default 10, max 20 | 10 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/imdb/search?query=inception&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "inception",
"limit": 10,
"results": [
{
"id": "tt1375666",
"title": "Inception",
"url": "https://www.imdb.com/title/tt1375666/",
"year": "2010"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/imdb.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | imdb.SearchResponse | No | ||||
| data.fetched_at | string | No | 2026-06-07T14:46:16Z | Time the data was fetched, in UTC (RFC 3339). | ||
| data.limit | integer | No | 10 | Maximum number of results requested. | ||
| data.query | string | No | inception | Search query that was run. | ||
| data.results | array | No | Titles matching the query. | |||
| data.results[].description | string | No | Lead cast of the title, when IMDb shows it. | |||
| data.results[].id | string | No | tt1375666 | IMDb title ID, for example `tt1375666`. | ||
| data.results[].image_url | string | No | URL of the image IMDb shows for the title in search results. | |||
| data.results[].title | string | No | Inception | Title name as shown in search results. | ||
| data.results[].title_type | string | No | Movie | Kind of title, for example `Movie`. | ||
| data.results[].url | string | No | https://www.imdb.com/title/tt1375666/ | IMDb page URL of the title. | ||
| data.results[].year | string | No | 2010 | Release year of the title. | ||
| data.source_url | string | No | https://www.imdb.com/find/?q=inception&s=tt | URL the data was read from. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/imdb/search?query=inception&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"