External Lists
External Lists let you populate smart lists from external services like MDBList, IMDb, Letterboxd, Trakt, and TMDB. Use them to create collections based on trending lists, watchlists, top charts, and curated lists from these services.
How It Works
- Configure API key(s) in the plugin Settings tab under External Lists
- Create a rule with the
External Listfield,equalsoperator, and the list URL as the value - On refresh, the plugin fetches the external list and matches items by provider IDs (IMDb, TMDB, TVDB) against your Jellyfin library
Items are matched by comparing provider IDs between the external list and your library metadata. For episodes, the episode's own provider IDs are checked first. Parent series IDs are only used as a fallback when the external list entry represents a show/series, which lets show lists produce episode playlists without letting episode-level IDs match unrelated shows.
Supported Providers
| Provider | API key required | Matches by |
|---|---|---|
| MDBList | Yes | IMDb, TMDB, TVDB |
| IMDb | No | IMDb |
| Letterboxd | No | TMDB |
| Trakt | Yes (client ID) | IMDb, TMDB, TVDB |
| TMDB | Yes | TMDB |
Rate Limits
All providers have their own rate limits. Each list URL uses one or more requests depending on list size. Be mindful of how often you refresh these lists.
MDBList
MDBList aggregates lists from multiple sources and provides a unified API.
Setup:
- Go to mdblist.com/preferences
- Sign in or create a free account
- Scroll down to API Access and get your API key from there
- Enter the API key in the plugin Settings tab under External Lists > MDBList API Key
Supported URLs:
| Type | URL format |
|---|---|
| User list | https://mdblist.com/lists/{username}/{listname} |
Example:
IMDb
IMDb public lists and chart pages can be used directly without an API key. The plugin uses IMDb's GraphQL API to fetch title IDs.
Setup:
No API key required. Just use a public IMDb list or chart URL.
Supported URLs:
| Type | URL format |
|---|---|
| User list | https://www.imdb.com/list/{listid}/ |
| Top 250 Movies | https://www.imdb.com/chart/top/ |
| Top 250 TV Shows | https://www.imdb.com/chart/toptv/ |
| Most Popular Movies | https://www.imdb.com/chart/moviemeter/ |
| Most Popular TV Shows | https://www.imdb.com/chart/tvmeter/ |
| Lowest Rated Movies | https://www.imdb.com/chart/bottom/ |
| Top English Movies | https://www.imdb.com/chart/top-english-movies/ |
| Awards/Event | https://www.imdb.com/event/{eventid}/{year}/{instance}/ |
| Awards + Category | https://www.imdb.com/event/{eventid}/{year}/{instance}/#{category} |
Examples:
External List / equals / https://www.imdb.com/chart/top/
External List / equals / https://www.imdb.com/event/ev0000003/2022/1/
External List / equals / https://www.imdb.com/event/ev0000003/2022/1/#oscar_best_sound
Awards/Event URLs
You can use IMDb event URLs to create lists of all titles nominated at a specific awards ceremony edition. The URL must include the event ID, year, and instance number — just copy the URL from the IMDb event page.
To filter by a specific award category, add a # fragment with the category slug. The slug is the category name in lowercase with spaces replaced by underscores, optionally prefixed with the event name (e.g., oscar_). Some common examples:
| Event | Category slug |
|---|---|
| Oscars - Best Picture | #oscar_best_motion_picture_of_the_year |
| Oscars - Best Director | #oscar_best_achievement_in_directing |
| Oscars - Best Sound | #oscar_best_sound |
| Golden Globes - Best Drama | #best_motion_picture_drama |
Finding Category Slugs
The easiest way to find the correct category slug is to browse the event page on IMDb's website — the URL fragment updates as you select categories.
IMDb Limitations
IMDb lists must be public. Private lists cannot be accessed. Only IMDb IDs are extracted, so items in your library must have IMDb metadata to match.
Box Office Chart Removed
IMDb's /chart/boxoffice/ is no longer available via their API. Use Trakt's box office chart (https://trakt.tv/movies/boxoffice) as an alternative.
Letterboxd
Letterboxd is a social film discovery platform with user-curated lists and watchlists. The plugin scrapes the HTML pages to extract film data — no API key is required.
Setup:
No API key required. Just use a public Letterboxd list or watchlist URL.
Supported URLs:
| Type | URL format |
|---|---|
| User list | https://letterboxd.com/{user}/list/{name}/ |
| Watchlist | https://letterboxd.com/{user}/watchlist/ |
Example:
Letterboxd is Slow for Large Lists
Letterboxd list pages do not include TMDB IDs directly. The plugin must fetch each film's individual page to resolve its TMDB ID. This means a 250-film list requires ~250 additional HTTP requests, which can take several minutes. Resolved IDs are cached in memory for faster subsequent refreshes (until Jellyfin restarts). To minimize fetch time, use External List Order Ascending sort with a Max Items limit — the plugin will only fetch the first N items instead of the entire list.
Trakt
Trakt is a popular tracking service with user lists, watchlists, and curated charts. The plugin uses the Trakt API which requires a client ID.
Setup:
- Go to trakt.tv/oauth/applications
- Sign in to your Trakt account
- Click New Application
- Fill in the required fields:
- Name:
Jellyfin SmartLists(or any name you prefer) - Redirect uri:
urn:ietf:wg:oauth:2.0:oob - All other fields can be left blank
- Name:
- Click Save App
- Copy the Client ID from your new application
- Enter the client ID in the plugin Settings tab under External Lists > Trakt Client ID
Supported URLs:
| Type | URL format |
|---|---|
| User list | https://trakt.tv/users/{user}/lists/{list} |
| Watchlist | https://trakt.tv/users/{user}/watchlist |
| Trending movies | https://trakt.tv/movies/trending |
| Popular movies | https://trakt.tv/movies/popular |
| Most watched movies | https://trakt.tv/movies/watched |
| Most played movies | https://trakt.tv/movies/played |
| Most collected movies | https://trakt.tv/movies/collected |
| Anticipated movies | https://trakt.tv/movies/anticipated |
| Box office | https://trakt.tv/movies/boxoffice |
| Trending shows | https://trakt.tv/shows/trending |
| Popular shows | https://trakt.tv/shows/popular |
| Most watched shows | https://trakt.tv/shows/watched |
| Most played shows | https://trakt.tv/shows/played |
| Most collected shows | https://trakt.tv/shows/collected |
| Anticipated shows | https://trakt.tv/shows/anticipated |
Examples:
External List / equals / https://trakt.tv/users/justin/lists/imdb-top-rated-movies
External List / equals / https://trakt.tv/movies/trending
Public Lists Only
The plugin uses API-key authentication (not OAuth), so only public user lists and watchlists are accessible. Private lists require the list owner to make them public.
Episode-Level Lists
Trakt lists that contain individual episodes (e.g., a chronological viewing order across multiple series) are supported. Each episode is matched by its own provider IDs and preserves its position in the list. Use External List Order Ascending sort to maintain the list creator's intended episode order.
TMDB
The Movie Database (TMDB) provides a comprehensive API with user lists, popular/top-rated charts, and trending endpoints.
Setup:
- Go to themoviedb.org/settings/api
- Sign in or create a free account
- Click Create or Request an API Key and select Developer
- Accept the terms of use
- Fill in the application form:
- Application Name:
Jellyfin SmartLists(or any name you prefer) - Application URL: e.g. your Jellyfin server URL
- Type of Use:
Personal - Application Summary: e.g.
Jellyfin plugin that creates smart playlists from TMDB lists and charts - Fill in the remaining contact fields with your information
- Application Name:
- Submit the form — the API key is generated immediately
- Copy the API Key (v3 auth) — not the read access token
- Enter the API key in the plugin Settings tab under External Lists > TMDB API Key
Supported URLs:
| Type | URL format |
|---|---|
| User list | https://www.themoviedb.org/list/{id} |
| Movie collection | https://www.themoviedb.org/collection/{id} |
| Popular movies | https://www.themoviedb.org/movie |
| Top rated movies | https://www.themoviedb.org/movie/top-rated |
| Now playing movies | https://www.themoviedb.org/movie/now-playing |
| Upcoming movies | https://www.themoviedb.org/movie/upcoming |
| Popular TV | https://www.themoviedb.org/tv |
| Top rated TV | https://www.themoviedb.org/tv/top-rated |
| Airing today TV | https://www.themoviedb.org/tv/airing-today |
| On the air TV | https://www.themoviedb.org/tv/on-the-air |
| Trending (daily) | https://www.themoviedb.org/trending/movie/day |
| Trending (weekly) | https://www.themoviedb.org/trending/movie/week |
| Trending TV (daily) | https://www.themoviedb.org/trending/tv/day |
| Trending TV (weekly) | https://www.themoviedb.org/trending/tv/week |
| Trending all (weekly) | https://www.themoviedb.org/trending/all/week |
Examples:
External List / equals / https://www.themoviedb.org/movie
External List / equals / https://www.themoviedb.org/movie/top-rated
External List / equals / https://www.themoviedb.org/list/8136
External List / equals / https://www.themoviedb.org/collection/29
Trending URLs
The trending URLs (e.g. /trending/movie/week) are not browsable pages on TMDB's website — they map directly to TMDB API endpoints. Use the exact URL formats shown in the table above.
Sorting by External List Order
You can sort items in the same order as they appear in the external list. Select External List Order as the sort option (it appears in the sort dropdown when an External List rule is present).
- Ascending: Items appear in the same order as the external list (position 1 first)
- Descending: Items appear in reverse order (last item in the list first)
Items that are not matched by any external list are placed at the end.
If an item appears in multiple external lists, its best (lowest) position across all lists is used for sorting.
Example:
Rules: External List / equals / https://www.imdb.com/chart/top/
Sort: External List Order / Ascending
This creates a collection sorted exactly like IMDb's Top 250 chart.
Tips
Combining with other rules
External list rules work well combined with other filters. For example:
External List equals <trending-list>ANDGenre equals Action— trending action moviesExternal List equals <top-250>ANDPlayback Status equals Unplayed— unwatched top-rated moviesExternal List not equals <watched-list>— items not in a specific list
Multiple external lists
You can use multiple External List rules in different rule groups (OR logic) to combine items from several lists into one smart list.
Optimize external list performance
When using External List Order Ascending sort with a Max Items limit (e.g., 50), the plugin only fetches the first 50 items from the external list instead of the entire list. This is especially beneficial for Letterboxd (which requires per-film HTTP requests), but improves performance for all providers with large lists. This optimization does not apply to other sort options — the entire list must be fetched first to determine the final sort order.