{"record":{"id":"d99024397322d873","repo":"yt-dlp/yt-dlp","slug":"unsupported-url-url-d99024","errorCode":null,"errorMessage":"Unsupported URL: {url}","messagePattern":"Unsupported URL: (.+?)","errorType":"exception","errorClass":"UnsupportedError","httpStatus":null,"severity":"error","filePath":"yt_dlp/extractor/rumble.py","lineNumber":362,"sourceCode":"            'title': 'Browse',\n            'age_limit': 0,\n        },\n    }, {\n        'url': 'https://rumble.com/search/video?q=rumble&sort=views',\n        'playlist_mincount': 24,\n        'info_dict': {\n            'id': 'video?q=rumble&sort=views',\n            'title': 'Search results for: rumble',\n            'age_limit': 0,\n        },\n    }]\n\n    def _real_extract(self, url):\n        page_id = self._match_id(url)\n        webpage = self._download_webpage(url, page_id)\n        url_info = next(RumbleEmbedIE.extract_from_webpage(self._downloader, url, webpage), None)\n        if not url_info:\n            raise UnsupportedError(url)\n\n        return {\n            '_type': 'url_transparent',\n            'ie_key': url_info['ie_key'],\n            'url': url_info['url'],\n            'release_timestamp': parse_iso8601(self._search_regex(\n                r'(?:Livestream begins|Streamed on):\\s+<time datetime=\"([^\"]+)', webpage, 'release date', default=None)),\n            'view_count': int_or_none(self._search_regex(\n                r'\"userInteractionCount\"\\s*:\\s*(\\d+)', webpage, 'view count', default=None)),\n            'like_count': parse_count(self._search_regex(\n                r'<span data-js=\"rumbles_up_votes\">\\s*([\\d,.KM]+)', webpage, 'like count', default=None)),\n            'dislike_count': parse_count(self._search_regex(\n                r'<span data-js=\"rumbles_down_votes\">\\s*([\\d,.KM]+)', webpage, 'dislike count', default=None)),\n            'description': clean_html(get_element_by_class('media-description', webpage)),\n        }\n\n\nclass RumbleChannelIE(InfoExtractor):","sourceCodeStart":344,"sourceCodeEnd":380,"githubUrl":"https://github.com/yt-dlp/yt-dlp/blob/81ecd58b1394793e6da9998cc19fdb45657f1685/yt_dlp/extractor/rumble.py#L344-L380","documentation":"RumbleIE handles generic rumble.com listing pages (browse, browse/live, /search/video?q=...) by scanning the downloaded HTML for Rumble embed links via RumbleEmbedIE.extract_from_webpage. If the page contains no embeddable video, it raises UnsupportedError(url) — the same 'Unsupported URL: <url>' error an unrecognized URL produces.","triggerScenarios":"A rumble.com browse or search page whose results contain no embeddable videos: zero search results for the term, results rendered only client-side, or a markup change that hides the embed links from the static HTML.","commonSituations":"Searching a term with no results; Rumble markup changes after your yt-dlp version; scraping search pages that now load results via JS.","solutions":["Open the same search/browse URL in a browser to confirm it actually lists results","Try a broader search term, or use a direct video URL copied from the browser","Update yt-dlp (yt-dlp -U)","For channels, use the dedicated channel/user playlist URLs instead of search"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"from yt_dlp.utils import DownloadError, ExtractorError, UnsupportedError\n\ntry:\n    results = ydl.extract_info(f'rumblesearch:{query}', download=False)\nexcept UnsupportedError:\n    results = None  # page had no embeddable videos; treat as empty result set\nexcept (ExtractorError, DownloadError) as e:\n    if 'Unsupported URL' in str(e):\n        results = None\n    else:\n        raise","preventionTips":["Confirm the search has results in a browser before scripting it","Catch UnsupportedError as 'no results' rather than crashing batch jobs","Prefer direct video or channel URLs over search pages for automation"],"tags":["unsupported","no-results","rumble","search"],"backgroundTag":"unsupported-url-type","analyzedSha":"81ecd58b1394793e6da9998cc19fdb45657f1685","analyzedAt":"2026-08-22T12:21:25.439Z","schemaVersion":2},"datasetVersion":"2026-08-22T14:17:55.899Z"}