/movies/{id}/lists/official/{sort} and /shows/{id}/lists/official/{sort} always return an empty array
Summary
The endpoint that returns the lists a movie/show belongs to, filtered to type=official, returns [] for every movie and show I've tested even when the movie is provably a member of an official collection.
The reverse-direction lookup (/lists/{list_id}/items) returns the same official collections fully populated, so the data exists; only the forward index from movie/show to official-typed lists appears broken.
Affected endpoints
GET /movies/{id}/lists/{type}/{sort} when type=official
GET /shows/{id}/lists/{type}/{sort} when type=official
Other type values (all, personal) on the same endpoints work correctly.
Expected behaviour
GET /movies/128378/lists/official/popular (Spectre) should return at least the James Bond Collection (list id 41), which contains trakt: 128378.
Actual behaviour
HTTP/2 200
x-pagination-page: 1
x-pagination-limit: 100
x-pagination-page-count: 0
x-pagination-item-count: 0
[]
Same response for every popular movie and show I tried.
Reproduction
Replace $CID with any valid trakt-api-key.
1. Forward lookup (broken) — returns []
curl -s -H 'trakt-api-version: 2' -H "trakt-api-key: $CID" \
'https://api.trakt.tv/movies/128378/lists/official/popular?limit=100'
# => []
curl -s -H 'trakt-api-version: 2' -H "trakt-api-key: $CID" \
'https://api.trakt.tv/movies/545/lists/official/popular?limit=100'
# => []
curl -s -H 'trakt-api-version: 2' -H "trakt-api-key: $CID" \
'https://api.trakt.tv/movies/7/lists/official/popular?limit=100'
# => []
2. Reverse lookup (works) — list contents prove the membership exists
curl -s -H 'trakt-api-version: 2' -H "trakt-api-key: $CID" \
'https://api.trakt.tv/lists/41/items?limit=100' \
| jq '.[].movie.ids.trakt' | grep -E '^(128378|23217)$'
# => 128378
# => 23217
curl -s -H 'trakt-api-version: 2' -H "trakt-api-key: $CID" \
'https://api.trakt.tv/lists/84/items?limit=100' \
| jq '.[].movie.ids.trakt' | grep '^545$'
# => 545
3. Endpoint plumbing is healthy — type=personal works on the same movie
curl -sD - -H 'trakt-api-version: 2' -H "trakt-api-key: $CID" \
'https://api.trakt.tv/movies/481/lists/personal/popular?limit=100' -o /dev/null \
| grep -i 'x-pagination-item-count'
# => x-pagination-item-count: 429
Cross-reference table — official collection ↔ member movie
For each row, the left column (/lists/{id}/items) returns the collection fully populated and contains the middle-column movie, but the right column (/movies/{id}/lists/official/popular) returns [].
Official list (/lists/{list_id}/items) |
Member movie |
Forward lookup result |
James Bond Collection (id 41, 27 items) |
Spectre (trakt 128378) |
[] |
James Bond Collection (id 41, 27 items) |
Casino Royale (trakt 23217) |
[] |
Harry Potter Collection (id 84, 8 items) |
Philosopher's Stone (trakt 545) |
[] |
Star Wars Collection (id 6, 9 items) |
Star Wars (trakt 7) |
[] |
Iron Man Collection (id 169, 3 items) |
Iron Man 2008 (trakt 1157) |
[] |
Jurassic Park Collection (id 49, 7 items) |
Jurassic Park 1993 (trakt 276) |
[] |
Scope of the bug
- Movie IDs tested (all return
[]): 128378, 417095, 545, 7, 14701, 1157, 23217, 16662, 12601, 120, 196, 554, 481, 88, 12269, 475, 276, 74, plus recent titles (Oppenheimer, Barbie, Dune Part Two, The Batman, Everything Everywhere All At Once, The Fall Guy, Deadpool & Wolverine).
- Show slugs tested (all return
[]): breaking-bad, game-of-thrones, stranger-things, the-office-us, friends, the-mandalorian.
- Sort values tested for Matrix (
481): popular, likes, comments, items, added, updated — all return [].
- ID format: Tested with both numeric Trakt ID and slug, with and without
extended=images. Same result either way.
- Caching: Response carries
cache-control: public, max-age=1800, s-maxage=21600, so the [] is being served from the upstream cache layer — it's the canonical answer Trakt is returning, not a transient miss.
Confirmation that official-typed lists exist on Trakt
/lists/trending?limit=100 returns 11 lists with "type": "official" in the current snapshot, including the same Harry Potter / Star Wars / James Bond / Iron Man / Jurassic Park collections referenced above. So the type itself is populated in Trakt's data; only the movie/show → official lookup fails to find them.
API docs reference
Environment
trakt-api-version: 2
- Tested via direct
curl against api.trakt.tv on 2026-05-20.
/movies/{id}/lists/official/{sort}and/shows/{id}/lists/official/{sort}always return an empty arraySummary
The endpoint that returns the lists a movie/show belongs to, filtered to
type=official, returns[]for every movie and show I've tested even when the movie is provably a member of an official collection.The reverse-direction lookup (
/lists/{list_id}/items) returns the same official collections fully populated, so the data exists; only the forward index from movie/show to official-typed lists appears broken.Affected endpoints
GET /movies/{id}/lists/{type}/{sort}whentype=officialGET /shows/{id}/lists/{type}/{sort}whentype=officialOther
typevalues (all,personal) on the same endpoints work correctly.Expected behaviour
GET /movies/128378/lists/official/popular(Spectre) should return at least the James Bond Collection (list id41), which containstrakt: 128378.Actual behaviour
Same response for every popular movie and show I tried.
Reproduction
Replace
$CIDwith any validtrakt-api-key.1. Forward lookup (broken) — returns
[]2. Reverse lookup (works) — list contents prove the membership exists
3. Endpoint plumbing is healthy —
type=personalworks on the same movieCross-reference table — official collection ↔ member movie
For each row, the left column (
/lists/{id}/items) returns the collection fully populated and contains the middle-column movie, but the right column (/movies/{id}/lists/official/popular) returns[]./lists/{list_id}/items)41, 27 items)128378)[]41, 27 items)23217)[]84, 8 items)545)[]6, 9 items)7)[]169, 3 items)1157)[]49, 7 items)276)[]Scope of the bug
[]): 128378, 417095, 545, 7, 14701, 1157, 23217, 16662, 12601, 120, 196, 554, 481, 88, 12269, 475, 276, 74, plus recent titles (Oppenheimer, Barbie, Dune Part Two, The Batman, Everything Everywhere All At Once, The Fall Guy, Deadpool & Wolverine).[]): breaking-bad, game-of-thrones, stranger-things, the-office-us, friends, the-mandalorian.481):popular,likes,comments,items,added,updated— all return[].extended=images. Same result either way.cache-control: public, max-age=1800, s-maxage=21600, so the[]is being served from the upstream cache layer — it's the canonical answer Trakt is returning, not a transient miss.Confirmation that
official-typed lists exist on Trakt/lists/trending?limit=100returns 11 lists with"type": "official"in the current snapshot, including the same Harry Potter / Star Wars / James Bond / Iron Man / Jurassic Park collections referenced above. So the type itself is populated in Trakt's data; only the movie/show → official lookup fails to find them.API docs reference
/movies/{id}/lists/{type}/{sort}— https://trakt.docs.apiary.io/#reference/movies/lists/shows/{id}/lists/{type}/{sort}— https://trakt.docs.apiary.io/#reference/shows/listsEnvironment
trakt-api-version: 2curlagainstapi.trakt.tvon 2026-05-20.