ytdl-org/youtube-dl · error · ExtractorError

Could not find any videos

Error message

Could not find any videos

What it means

Raised by the Steam extractor when a highlighted-reel/playlist page yielded zero playable entries: either no game/highlight blocks were found, or every highlight block was skipped because it had no data-<ext><quality>-source attributes for webm/mp4. It means the page structure was fetched but contained nothing extractable.

Source

Thrown at youtube_dl/extractor/steam.py:147

                    webpage, 'highlight element', fatal=False)
                if highlight_element:
                    highlight_attribs = extract_attributes(highlight_element)
                    if highlight_attribs:
                        entry['thumbnail'] = highlight_attribs.get('data-poster')
                        for quality in ('', '-hd'):
                            for ext in ('webm', 'mp4'):
                                video_url = highlight_attribs.get('data-%s%s-source' % (ext, quality))
                                if video_url:
                                    formats.append({
                                        'format_id': ext + quality,
                                        'url': video_url,
                                    })
                if not formats:
                    continue
                entry['formats'] = formats
                entries.append(entry)
        if not entries:
            raise ExtractorError('Could not find any videos')

        return self.playlist_result(entries, playlist_id, playlist_title)

View on GitHub (pinned to 956b8c5855)

Solutions

  1. Open the URL in a browser and confirm highlights actually exist on that page; if the page is empty, pick a URL that has highlights.
  2. Check whether a newer youtube-dl/yt-dlp release updated the Steam extractor (markup changes are fixed upstream over time); upgrade.
  3. If the content moved to the Steam store video player, grab the mp4/webm URLs from the page/network tab directly and pass them to youtube-dl.
  4. If maintaining the extractor, re-inspect data-*-source attributes in the current HTML and update the attribute patterns.

Example fix

# before
if not entries:
    raise ExtractorError('Could not find any videos')
# after (diagnostic variant)
if not entries:
    raise ExtractorError('Could not find any videos (no data-webm/mp4-source attributes found; page markup may have changed)')
Defensive patterns

Strategy: try-catch

Validate before calling

# Sanity-check that the page mentions any highlight sources
html = ydl.urlopen(url).read().decode('utf-8', 'replace')
if 'data-mp4' not in html and 'data-webm' not in html:
    print('no highlight sources present; extraction will fail')

Try / catch

try:
    info = ydl.extract_info(url)
except ExtractorError as e:
    if 'Could not find any videos' in str(e):
        log.info('no highlights on this Steam page: %s', url)
        return []
    raise

Prevention

When it happens

Trigger: Calling the extractor on a Steam community app/highlight URL where no highlight elements carry data-webm*-source / data-mp4*-source attributes (all 'continue' branches hit), leaving 'entries' empty.

Common situations: Valve changed the highlight page markup or moved reels to a JS-driven player; regional/age-gated pages return a shell without video sources; the specific game has no highlights.

Related errors


AI-assisted analysis of ytdl-org/youtube-dl@956b8c5855 (2026-08-14). Data as JSON: /api/errors/0e53f81a16b54bea. Report an issue: GitHub.