{"record":{"id":"6b7f8da740b86fd5","repo":"ytdl-org/youtube-dl","slug":"s-failed-to-parse-json","errorCode":null,"errorMessage":"%s: Failed to parse JSON ","messagePattern":"(.+?): Failed to parse JSON ","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/common.py","lineNumber":958,"sourceCode":"\n        See _download_webpage docstring for arguments specification.\n        \"\"\"\n        res = self._download_json_handle(\n            url_or_request, video_id, note=note, errnote=errnote,\n            transform_source=transform_source, fatal=fatal, encoding=encoding,\n            data=data, headers=headers, query=query,\n            expected_status=expected_status)\n        return res if res is False else res[0]\n\n    def _parse_json(self, json_string, video_id, transform_source=None, fatal=True):\n        if transform_source:\n            json_string = transform_source(json_string)\n        try:\n            return json.loads(json_string)\n        except ValueError as ve:\n            errmsg = '%s: Failed to parse JSON ' % video_id\n            if fatal:\n                raise ExtractorError(errmsg, cause=ve)\n            else:\n                self.report_warning(errmsg + str(ve))\n\n    def __ie_msg(self, *msg):\n        return '[{0}] {1}'.format(self.IE_NAME, ''.join(msg))\n\n    # msg, video_id=None, *args, only_once=False, **kwargs\n    def report_warning(self, msg, *args, **kwargs):\n        if len(args) > 0:\n            video_id = args[0]\n            args = args[1:]\n        else:\n            video_id = kwargs.pop('video_id', None)\n        idstr = '' if video_id is None else '%s: ' % video_id\n        self._downloader.report_warning(\n            self.__ie_msg(idstr, msg), *args, **kwargs)\n\n    def to_screen(self, msg):","sourceCodeStart":940,"sourceCodeEnd":976,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/common.py#L940-L976","documentation":"Error \"%s: Failed to parse JSON \" thrown in ytdl-org/youtube-dl.","triggerScenarios":"Thrown at youtube_dl/extractor/common.py:958 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the server returned valid JSON; retry or update youtube-dl if the site changed its API."],"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-15T22:17:37.221Z"}