Skip to content

/movies/{id}/lists/official/{sort} and /shows/{id}/lists/official/{sort} always return [] #793

@Kashish-Sharma

Description

@Kashish-Sharma

/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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions