tonhowtf/omniget · error

yt-dlp extractor is broken for this site. Update yt-dlp in S

Error message

yt-dlp extractor is broken for this site. Update yt-dlp in Settings → Dependencies, then retry.

What it means

translate_ytdlp_error at ytdlp.rs:4458 maps stderr matching 'cannot parse data', 'please report this issue', or ('confirm you are on the latest version' plus 'yt-dlp') to this message. yt-dlp's extractor for the site encountered markup/data it cannot interpret, indicating a broken or outdated extractor rather than a user mistake. The library throws it to direct the user to update yt-dlp.

Solutions

  1. Update yt-dlp in Settings → Dependencies and retry.
  2. Try the nightly/master yt-dlp build if the stable release predates the site change.
  3. Verify the URL is a supported page of that site (not an embedded/stripped variant).
  4. If it persists on the latest version, report the issue upstream to yt-dlp.

Example fix

// before: failing pinned version
// yt-dlp 2024.03.10 -> 'unable to extract ... cannot parse data'

// after: upgrade to latest
let status = Command::new("yt-dlp").arg("-U").status()?;
Defensive patterns

Strategy: retry

Validate before calling

// Surface yt-dlp's own update hint before extraction fails
const { stderr } = await exec(`yt-dlp --simulate --skip-download ${url}`);
if (/latest version|cannot parse/i.test(stderr)) await exec('yt-dlp -U');

Try / catch

try {
  await download(url);
} catch (e) {
  if (isExtractorBroken(e)) {
    await exec('yt-dlp -U');
    await download(url); // single retry after update
  } else throw e;
}

Prevention

When it happens

Trigger: yt-dlp emits 'unable to extract ... cannot parse data', a 'please report this issue' bug-report trailer, or 'please confirm you are on the latest version' during extraction for the target URL.

Common situations: A site redesigned its pages so the extractor's regexes no longer match; running an old yt-dlp build shipped with the app; niche sites whose extractors regressed upstream.

Related errors


AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12). Data as JSON: /api/errors/728ed4d5c15132f3. Report an issue: GitHub.

Appendix: source

Thrown at src-tauri/omniget-core/src/core/ytdlp.rs:4458

        || lower.contains("this video is only available") && lower.contains("members")
    {
        return anyhow!(
            "This video requires login. Import cookies for this site in Settings → Cookies, then retry."
        );
    }
    if lower.contains("invalid data found when processing input") {
        return anyhow!(
            "Downloaded streams are DRM-protected and cannot be merged. This content is not supported."
        );
    }
    if lower.contains("nsig extraction failed") || lower.contains("nsig") {
        return anyhow!("Video extraction failed. Update yt-dlp or try again.");
    }
    if lower.contains("cannot parse data")
        || lower.contains("please report this issue")
        || (lower.contains("confirm you are on the latest version") && lower.contains("yt-dlp"))
    {
        return anyhow!(
            "yt-dlp extractor is broken for this site. Update yt-dlp in Settings → Dependencies, then retry."
        );
    }
    if lower.contains("requested format") && lower.contains("not available") {
        return anyhow!(
            "Requested format is not available. The download will retry with a compatible format."
        );
    }
    if lower.contains("video unavailable") || lower.contains("not available") {
        return anyhow!("Video unavailable or removed.");
    }
    if lower.contains("private video") {
        return anyhow!("This video is private.");
    }
    if lower.contains("copyright") {
        return anyhow!("Video blocked due to copyright.");
    }
    if lower.contains("geo") && lower.contains("block") {

View on GitHub (pinned to 8600b91f42)