yt-dlp/yt-dlp · error · EntryNotInPlaylist
There are no entries
Error message
There are no entries
What it means
Error "There are no entries" thrown in yt-dlp/yt-dlp.
Source
Thrown at yt_dlp/utils/_utils.py:2436
if len(page_results) < only_more:
only_more -= len(page_results)
else:
yield from page_results[:only_more]
break
yield from page_results
class PlaylistEntries:
MissingEntry = object()
is_exhausted = False
def __init__(self, ydl, info_dict):
self.ydl = ydl
# _entries must be assigned now since infodict can change during iteration
entries = info_dict.get('entries')
if entries is None:
raise EntryNotInPlaylist('There are no entries')
elif isinstance(entries, list):
self.is_exhausted = True
requested_entries = info_dict.get('requested_entries')
self.is_incomplete = requested_entries is not None
if self.is_incomplete:
assert self.is_exhausted
self._entries = [self.MissingEntry] * max(requested_entries or [0])
for i, entry in zip(requested_entries, entries): # noqa: B905
self._entries[i - 1] = entry
elif isinstance(entries, (list, PagedList, LazyList)):
self._entries = entries
else:
self._entries = LazyList(entries)
PLAYLIST_ITEMS_RE = re.compile(r'''(?x)
(?P<start>[+-]?\d+)?
(?P<range>[:-]View on GitHub (pinned to 81ecd58b13)
Solutions
- The extractor returned a playlist with no entries; verify the URL is correct and the playlist is publicly accessible and not empty.
- Check --playlist-items / --match-filter options, which may have filtered out every entry.
- Update yt-dlp; a site change may cause the extractor to find zero items.
Example fix
Reject empty playlist/item specifications early: if not entries: raise ValueError('There are no entries') When it happens
Trigger: Thrown at yt_dlp/utils/_utils.py:2436 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of yt-dlp/yt-dlp@81ecd58b13 (2026-08-22).
Data as JSON: /api/errors/41e8ace514ec97bc.
Report an issue: GitHub.