Letterboxd API endpoint
Returns a Letterboxd film: synopsis, director, cast, genres, countries, languages, runtime, and aggregate member rating.
/letterboxd/film/{slug}Path parameters:
slug (required) — Letterboxd film slug.Response includes directors[], cast[] (capped at 25 credits), genres[], countries[], languages[], production_companies[], runtime_minutes, rating (average, count, review_count), poster_url, uri, source_url.
| Field | Filled in, of 25 checked |
|---|---|
| name | 25 |
| slug | 25 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug (path) | string | Yes | Letterboxd film slug | parasite-2019 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/letterboxd/film/parasite-2019" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"slug": "parasite-2019",
"title": "Parasite",
"year": 2019,
"release_date": "2019-05-21",
"synopsis": "All unemployed, Ki-taek's family takes peculiar interest in the wealthy and glamorous Parks for their livelihood until they get entangled in an unexpected incident.",
"runtime_minutes": 133,
"directors": [
{
"name": "Bong Joon Ho",
"slug": "bong-joon-ho"
}
],
"cast": [
{
"name": "Song Kang-ho",
"slug": "song-kang-ho"
},
{
"name": "Lee Sun-kyun",
"slug": "lee-sun-kyun"
}
],
"genres": [
"Thriller",
"Comedy",
"Drama"
],
"countries": [
"South Korea"
],
"languages": [
"en",
"de",
"ko"
],
"production_companies": [
"Barunson E&A"
],
"poster_url": "https://a.ltrbxd.com/resized/film-poster/4/2/6/4/0/6/426406-parasite-0-600-0-900-crop.jpg",
"rating": {
"average": 4.52,
"count": 5553202,
"review_count": 740173
},
"uri": "https://letterboxd.com/film/parasite-2019/",
"source_url": "https://letterboxd.com/film/parasite-2019/"
}
}Request schema
No body schema
Response schema
#/definitions/letterboxd.filmResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | letterboxd.FilmResponse | No | ||||
| data.cast | array | No | Cast members of the film, up to 25 credits. | |||
| data.cast[].name | string | No | Name of the person. | |||
| data.cast[].slug | string | No | Letterboxd slug of the person. Use it with the person endpoint. | |||
| data.countries | array | No | Countries the film was made in. | |||
| data.directors | array | No | Directors of the film. | |||
| data.directors[].name | string | No | Name of the person. | |||
| data.directors[].slug | string | No | Letterboxd slug of the person. Use it with the person endpoint. | |||
| data.genres | array | No | Genres of the film. | |||
| data.languages | array | No | Languages used in the film, as Letterboxd lists them. | |||
| data.poster_url | string | No | URL of the film's poster image. | |||
| data.production_companies | array | No | Names of the production companies behind the film. | |||
| data.rating | object | No | Aggregate Letterboxd member rating. Omitted when the film has no ratings. | |||
| data.rating.average | number | No | 4.52 | Average Letterboxd member rating, out of 5. | ||
| data.rating.count | integer | No | 5553202 | Number of member ratings behind the average. | ||
| data.rating.review_count | integer | No | 740173 | Number of written reviews. Omitted when Letterboxd shows none. | ||
| data.release_date | string | No | 2019-05-21 | Release date of the film, in YYYY-MM-DD format. | ||
| data.runtime_minutes | integer | No | 133 | Running time of the film in minutes. | ||
| data.slug | string | No | parasite-2019 | Letterboxd film slug, for example `parasite-2019`. Use it with the film endpoints. | ||
| data.source_url | string | No | URL the data was read from. | |||
| data.synopsis | string | No | Short plot synopsis of the film. | |||
| data.title | string | No | Parasite | Title of the film. | ||
| data.uri | string | No | Link to the film's page on Letterboxd. | |||
| data.year | integer | No | 2019 | Year the film was released. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/letterboxd/film/parasite-2019" \
-H "x-api-key: $CRAWLORA_API_KEY"