{"record":{"id":"35f896ff595b7505","repo":"ytdl-org/youtube-dl","slug":"unable-to-find-video-data","errorCode":null,"errorMessage":"Unable to find video data","messagePattern":"Unable to find video data","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/ninenow.py","lineNumber":65,"sourceCode":"            r'window\\.__data\\s*=\\s*({.*?});', webpage,\n            'page data', default='{}'), display_id, fatal=False)\n        if not page_data:\n            page_data = self._parse_json(self._parse_json(self._search_regex(\n                r'window\\.__data\\s*=\\s*JSON\\.parse\\s*\\(\\s*(\".+?\")\\s*\\)\\s*;',\n                webpage, 'page data'), display_id), display_id)\n\n        for kind in ('episode', 'clip'):\n            current_key = page_data.get(kind, {}).get(\n                'current%sKey' % kind.capitalize())\n            if not current_key:\n                continue\n            cache = page_data.get(kind, {}).get('%sCache' % kind, {})\n            if not cache:\n                continue\n            common_data = (cache.get(current_key) or list(cache.values())[0])[kind]\n            break\n        else:\n            raise ExtractorError('Unable to find video data')\n\n        video_data = common_data['video']\n\n        if video_data.get('drm'):\n            raise ExtractorError('This video is DRM protected.', expected=True)\n\n        brightcove_id = video_data.get('brightcoveId') or 'ref:' + video_data['referenceId']\n        video_id = compat_str(video_data.get('id') or brightcove_id)\n        title = common_data['name']\n\n        thumbnails = [{\n            'id': thumbnail_id,\n            'url': thumbnail_url,\n            'width': int_or_none(thumbnail_id[1:])\n        } for thumbnail_id, thumbnail_url in common_data.get('image', {}).get('sizes', {}).items()]\n\n        return {\n            '_type': 'url_transparent',","sourceCodeStart":47,"sourceCodeEnd":83,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/ninenow.py#L47-L83","documentation":"Error \"Unable to find video data\" thrown in ytdl-org/youtube-dl.","triggerScenarios":"Thrown at youtube_dl/extractor/ninenow.py:65 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Update youtube-dl; the site's video data structure may have changed."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}