IMDb API endpoint
Returns derived public-page summary metrics for IMDb trivia, goofs, quotes, keywords, filming locations, and company credits. This endpoint is not viewing advice. Pass exactly one of `id` or `url`. The six sections are gathered from six independent sources, so a section that cannot be fetched is omitted and named in `missing_sections` with `partial` set to `true`, rather than failing the whole response; an error is returned only when no section could be fetched. Callers that require a complete analysis should check `partial`.
/imdb/title/public-facts-analysisQuery parameters:
id: IMDb title ID, for example tt1375666.url: absolute IMDb title URL, for example
https://www.imdb.com/title/tt1375666/.Notable response behavior:
data.summary includes counts for trivia, goofs, quotes, keywords, filming
locations, company sections, companies, spoiler-marked public facts, public
page signals, and source-page coverage.data.trivia, data.goofs, data.quotes, data.keywords, data.filming_locations, and data.company_credits contain the underlying page payloads.data.partial is then true and data.missing_sections lists the omitted
section keys (trivia, goofs, quotes, keywords, filming_locations,
company_credits). data.summary counts only the sections that arrived, so
callers that require a complete analysis should check data.partial rather
than infer completeness from the 200.| Field | Filled in, of 462 checked | Values in the sample |
|---|---|---|
| keyword | 462 | “prison” and 461 other values |
| url | 462 | imdb.com |
| public_signals | 462 | 2 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id | string | No | IMDb title id | tt1375666 | |
| url | string | No | Absolute https://www.imdb.com/title/<id>/ URL | https://www.imdb.com/title/tt1375666/ | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/imdb/title/public-facts-analysis" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"summary": {
"trivia_count": 12,
"goof_count": 4,
"quote_count": 8,
"keyword_count": 20,
"filming_location_count": 6,
"company_section_count": 3,
"company_count": 9,
"spoiler_fact_count": 2,
"public_page_signals": 64,
"public_fact_coverage_pages": 6
},
"not_viewing_advice": true,
"public_page_derived": true,
"partial": false
}
}Request schema
No body schema
Response schema
#/definitions/imdb.titlePublicFactsAnalysisResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | imdb.TitlePublicFactsAnalysisResponse | No | ||||
| data.company_credits | imdb.TitlePublicFactsResponse | No | TitlePublicFactsResponse record, 29 fields: company_credits, facts, fetched_at, has_more, id, keywords, locations, public_page_derived, source_url, total, type, url. Described under IMDb title goofs API. | |||
| data.filming_locations | imdb.TitlePublicFactsResponse | No | TitlePublicFactsResponse record, 29 fields: company_credits, facts, fetched_at, has_more, id, keywords, locations, public_page_derived, source_url, total, type, url. Described under IMDb title goofs API. | |||
| data.goofs | imdb.TitlePublicFactsResponse | No | TitlePublicFactsResponse record, 29 fields: company_credits, facts, fetched_at, has_more, id, keywords, locations, public_page_derived, source_url, total, type, url. Described under IMDb title goofs API. | |||
| data.keywords | imdb.TitlePublicFactsResponse | No | TitlePublicFactsResponse record, 29 fields: company_credits, facts, fetched_at, has_more, id, keywords, locations, public_page_derived, source_url, total, type, url. Described under IMDb title goofs API. | |||
| data.missing_sections | array | No | MissingSections names the sections that failed, using the same keys as the fields above (trivia, goofs, quotes, keywords, filming_locations, company_credits). | |||
| data.not_viewing_advice | boolean | No | true | |||
| data.partial | boolean | No | false | Partial is true when at least one section could not be fetched. The sections that did arrive are still populated and Summary still counts them, so callers that need a complete analysis must check this rather than infer completeness from a 200. | ||
| data.public_page_derived | boolean | No | true | |||
| data.quotes | imdb.TitlePublicFactsResponse | No | TitlePublicFactsResponse record, 29 fields: company_credits, facts, fetched_at, has_more, id, keywords, locations, public_page_derived, source_url, total, type, url. Described under IMDb title goofs API. | |||
| data.summary | imdb.PublicFactsAnalysisSummary | No | ||||
| data.summary.company_count | integer | No | 9 | |||
| data.summary.company_section_count | integer | No | 3 | |||
| data.summary.filming_location_count | integer | No | 6 | |||
| data.summary.goof_count | integer | No | 4 | |||
| data.summary.keyword_count | integer | No | 20 | |||
| data.summary.public_fact_coverage_pages | integer | No | 6 | |||
| data.summary.public_page_signals | integer | No | 64 | |||
| data.summary.quote_count | integer | No | 8 | |||
| data.summary.spoiler_fact_count | integer | No | 2 | |||
| data.summary.trivia_count | integer | No | 12 | |||
| data.trivia | imdb.TitlePublicFactsResponse | No | TitlePublicFactsResponse record, 29 fields: company_credits, facts, fetched_at, has_more, id, keywords, locations, public_page_derived, source_url, total, type, url. Described under IMDb title goofs API. | |||
| 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/title/public-facts-analysis" \
-H "x-api-key: $CRAWLORA_API_KEY"