{"record":{"id":"f39893a8e4f1fee1","repo":"ytdl-org/youtube-dl","slug":"video-s-does-not-exist-f39893","errorCode":null,"errorMessage":"Video %s does not exist","messagePattern":"Video (.+?) does not exist","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/vodlocker.py","lineNumber":36,"sourceCode":"        'md5': 'ce0c2d18fa0735f1bd91b69b0e54aacf',\n        'info_dict': {\n            'id': 'e8wvyzz4sl42',\n            'ext': 'mp4',\n            'title': 'Germany vs Brazil',\n            'thumbnail': r're:http://.*\\.jpg',\n        },\n    }]\n\n    def _real_extract(self, url):\n        video_id = self._match_id(url)\n        webpage = self._download_webpage(url, video_id)\n\n        if any(p in webpage for p in (\n                '>THIS FILE WAS DELETED<',\n                '>File Not Found<',\n                'The file you were looking for could not be found, sorry for any inconvenience.<',\n                '>The file was removed')):\n            raise ExtractorError('Video %s does not exist' % video_id, expected=True)\n\n        fields = self._hidden_inputs(webpage)\n\n        if fields['op'] == 'download1':\n            self._sleep(3, video_id)  # they do detect when requests happen too fast!\n            post = urlencode_postdata(fields)\n            req = sanitized_Request(url, post)\n            req.add_header('Content-type', 'application/x-www-form-urlencoded')\n            webpage = self._download_webpage(\n                req, video_id, 'Downloading video page')\n\n        def extract_file_url(html, default=NO_DEFAULT):\n            return self._search_regex(\n                r'file:\\s*\"(http[^\\\"]+)\",', html, 'file url', default=default)\n\n        video_url = extract_file_url(webpage, default=None)\n\n        if not video_url:","sourceCodeStart":18,"sourceCodeEnd":54,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/vodlocker.py#L18-L54","documentation":"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.","triggerScenarios":"Downloading any VodLocker URL whose page shows a file-deleted/not-found notice matched by the any(...) marker check.","commonSituations":"Dead links from old forums/blogs; files removed for abuse or expiry; typo'd video IDs.","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"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"from youtube_dl.utils import ExtractorError\ntry:\n    ydl.extract_info(url)\nexcept ExtractorError as e:\n    if 'does not exist' in str(e):\n        mark_dead(url)  # permanent","preventionTips":["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"],"tags":["vodlocker","file-deleted","dead-link","hosting"],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}