{"record":{"id":"b71b51b5d3f2b237","repo":"ytdl-org/youtube-dl","slug":"video-s-does-not-exist-b71b51","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/tinypic.py","lineNumber":39,"sourceCode":"                'title': 'shadow phenomenon weird',\n            },\n        },\n        {\n            'url': 'http://de.tinypic.com/player.php?v=dy90yh&s=8',\n            'only_matching': True,\n        }\n    ]\n\n    def _real_extract(self, url):\n        mobj = re.match(self._VALID_URL, url)\n        video_id = mobj.group('id')\n\n        webpage = self._download_webpage(url, video_id, 'Downloading page')\n\n        mobj = re.search(r'(?m)fo\\.addVariable\\(\"file\",\\s\"(?P<fileid>[\\da-z]+)\"\\);\\n'\n                         r'\\s+fo\\.addVariable\\(\"s\",\\s\"(?P<serverid>\\d+)\"\\);', webpage)\n        if mobj is None:\n            raise ExtractorError('Video %s does not exist' % video_id, expected=True)\n\n        file_id = mobj.group('fileid')\n        server_id = mobj.group('serverid')\n\n        KEYWORDS_SUFFIX = ', Video, images, photos, videos, myspace, ebay, video hosting, photo hosting'\n        keywords = self._html_search_meta('keywords', webpage, 'title')\n        title = keywords[:-len(KEYWORDS_SUFFIX)] if keywords.endswith(KEYWORDS_SUFFIX) else ''\n\n        video_url = 'http://v%s.tinypic.com/%s.flv' % (server_id, file_id)\n        thumbnail = 'http://v%s.tinypic.com/%s_th.jpg' % (server_id, file_id)\n\n        return {\n            'id': file_id,\n            'url': video_url,\n            'thumbnail': thumbnail,\n            'title': title\n        }\n","sourceCodeStart":21,"sourceCodeEnd":57,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/tinypic.py#L21-L57","documentation":"Raised by TinypicIE when the downloaded page does not contain the fo.addVariable(\"file\", ...) / fo.addVariable(\"s\", ...) JavaScript pair that identifies the media file and server. Marked expected=True; effectively 'media not found'. Note tinypic.com shut down (around 2015-2016), so this error now fires for essentially every URL.","triggerScenarios":"Any tinypic.com player URL: the service is defunct, pages no longer embed the flash player variables, so the regex never matches and the extractor reports the video as non-existent.","commonSituations":"Archival crawls containing tinypic links; old forum/myspace embeds. The cause is permanent service shutdown, not a transient issue or a fixable extractor bug.","solutions":["Accept that tinypic.com is permanently offline; no tool can download from it","Locate the media elsewhere (web.archive.org snapshot of the tinypic page may preserve the thumbnail/filename)","Filter tinypic.com URLs out of bulk download lists before running the extractor","Update yt-dlp, where dead sites are delisted so URLs fall through to a clearer 'unsupported URL' error"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"from urllib.parse import urlparse\nif urlparse(url).netloc.endswith('tinypic.com'):\n    skip_permanently(url)  # service shut down; nothing to extract","typeGuard":null,"tryCatchPattern":"try:\n    ydl.extract_info(url)\nexcept ExtractorError as e:\n    if e.expected and 'does not exist' in str(e):\n        skip_permanently(url)","preventionTips":["Filter dead domains like tinypic.com from URL lists before extraction","Check service status before bulk-archiving legacy embed links"],"tags":["extractor","dead-site","content-unavailable","expected"],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}