{"record":{"id":"79ceecef6b278729","repo":"ytdl-org/youtube-dl","slug":"unable-to-find-the-current-post","errorCode":null,"errorMessage":"Unable to find the current post","messagePattern":"Unable to find the current post","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/theintercept.py","lineNumber":49,"sourceCode":"        webpage = self._download_webpage(url, display_id)\n\n        json_data = self._parse_json(self._search_regex(\n            r'initialStoreTree\\s*=\\s*(?P<json_data>{.+})', webpage,\n            'initialStoreTree'), display_id)\n\n        for post in json_data['resources']['posts'].values():\n            if post['slug'] == display_id:\n                return {\n                    '_type': 'url_transparent',\n                    'url': 'jwplatform:%s' % post['fov_videoid'],\n                    'id': compat_str(post['ID']),\n                    'display_id': display_id,\n                    'title': post['title'],\n                    'description': post.get('excerpt'),\n                    'timestamp': parse_iso8601(post.get('date')),\n                    'comment_count': int_or_none(post.get('comments_number')),\n                }\n        raise ExtractorError('Unable to find the current post')\n","sourceCodeStart":31,"sourceCodeEnd":50,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/theintercept.py#L31-L50","documentation":"Raised by TheInterceptExtractor when the JSON fetched for a post collection contains no post whose 'slug' equals the display_id parsed from the URL. It means the URL slug does not match any post in the API's resources.posts map, typically because the post was renamed or removed. This is an unmarked ExtractorError, so it surfaces as an extraction failure.","triggerScenarios":"Extracting a theintercept.com URL whose slug does not appear in the downloaded JSON's resources.posts values, e.g. an edited/renamed article slug, a deleted draft, or a URL with a typo in the slug segment.","commonSituations":"Following deep links from search-engine caches or social media where slugs were updated; the site restructures and the JSON endpoint returns an empty or partial posts map; trailing punctuation attached to the slug when copied.","solutions":["Search theintercept.com for the article title to get the current slug and use that URL","Verify the JSON endpoint the extractor hits still returns the posts map (open the URL in a browser with devtools)","Update to the latest youtube-dl/yt-dlp in case the extractor was patched for a new API shape","If you maintain the extractor, fall back to searching posts for a slug prefix instead of exact equality"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try:\n    ydl.extract_info(intercept_url)\nexcept ExtractorError as e:\n    if 'Unable to find the current post' in str(e):\n        # slug mismatch: try locating the current slug via site search\n        url = search_intercept(slug)","preventionTips":["Prefer canonical article URLs copied from the site itself, not from caches","In crawlers, catch this error and re-resolve slugs via site search","Note it is not expected=True, so distinguish it from generic bugs by message"],"tags":["extractor","slug-mismatch","content-unavailable"],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}