ytdl-org/youtube-dl · error · ExtractorError
Video %s does not exist
Error message
Video %s does not exist
What it means
VodLocker extraction error: the downloaded webpage contains one of several deletion markers ('>THIS FILE WAS DELETED<', '>File Not Found<', the 'could not be found' sentence, or '>The file was removed'), so the file no longer exists on the host. Raised as 'Video %s does not exist' % video_id with expected=True.
Source
Thrown at youtube_dl/extractor/vodlocker.py:36
'md5': 'ce0c2d18fa0735f1bd91b69b0e54aacf',
'info_dict': {
'id': 'e8wvyzz4sl42',
'ext': 'mp4',
'title': 'Germany vs Brazil',
'thumbnail': r're:http://.*\.jpg',
},
}]
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
if any(p in webpage for p in (
'>THIS FILE WAS DELETED<',
'>File Not Found<',
'The file you were looking for could not be found, sorry for any inconvenience.<',
'>The file was removed')):
raise ExtractorError('Video %s does not exist' % video_id, expected=True)
fields = self._hidden_inputs(webpage)
if fields['op'] == 'download1':
self._sleep(3, video_id) # they do detect when requests happen too fast!
post = urlencode_postdata(fields)
req = sanitized_Request(url, post)
req.add_header('Content-type', 'application/x-www-form-urlencoded')
webpage = self._download_webpage(
req, video_id, 'Downloading video page')
def extract_file_url(html, default=NO_DEFAULT):
return self._search_regex(
r'file:\s*"(http[^\"]+)",', html, 'file url', default=default)
video_url = extract_file_url(webpage, default=None)
if not video_url:View on GitHub (pinned to 956b8c5855)
Solutions
- Accept the file is gone — no client-side fix can restore it
- Search for a re-upload or alternative host for the same content
- Purge dead URLs from batch lists to avoid wasted requests
Defensive patterns
Strategy: try-catch
Try / catch
from youtube_dl.utils import ExtractorError
try:
ydl.extract_info(url)
except ExtractorError as e:
if 'does not exist' in str(e):
mark_dead(url) # permanent Prevention
- Pre-check old VodLocker URLs with a lightweight request before batch jobs
- Assume deleted files are gone permanently; never auto-retry
- Maintain a dead-link cache keyed by video id
When it happens
Trigger: Downloading any VodLocker URL whose page shows a file-deleted/not-found notice matched by the any(...) marker check.
Common situations: Dead links from old forums/blogs; files removed for abuse or expiry; typo'd video IDs.
Related errors
AI-assisted analysis of ytdl-org/youtube-dl@956b8c5855 (2026-08-14).
Data as JSON: /api/errors/f39893a8e4f1fee1.
Report an issue: GitHub.