ytdlp.org

Practical yt-dlp docs: install, commands, fixes, cookies, and workflows.

Current section

Troubleshooting guide

Fix "nsig extraction failed" in yt-dlp

The full warning is usually "nsig extraction failed: Some formats may be missing", often followed by slow, throttled downloads or missing quality options. It means YouTube changed the JavaScript that signs video URLs, and your yt-dlp build no longer knows how to solve it. This is a YouTube-side change, not something your flags caused.

Quick answer

yt-dlp -U
yt-dlp --version

Update and retry. The nsig solver lives inside yt-dlp itself, so the fix always ships as a new release. Confirm the version actually changed — a package-manager install (pip, brew, apt) can silently stay on an old build while -U reports there is nothing to do. If so, update through the same package manager you installed with.

If the latest release still fails

  • YouTube may have changed the player in the last day or two and the counter-fix has not shipped yet. Check the yt-dlp issue tracker — during a breakage the top issue is usually exactly this, with a timeline.
  • Try the nightly build. Fixes land in nightly before the stable release: yt-dlp --update-to nightly.
  • Downloads work but crawl at a few hundred KB/s? That is the same problem — YouTube throttles unsigned requests. Do not tune rate flags; fix the nsig extraction.

Why this error is a repeat offender

YouTube rotates its player JavaScript regularly, and every rotation is a fresh puzzle for yt-dlp to solve. The maintainers are fast — fixes often land within days — but if your pipeline depends on yt-dlp, this warning is the one that will page you at 2am a few times a year. The mitigation is boring and effective: keep yt-dlp on a fast update channel and treat "update first" as step zero of every incident.

The mistake to avoid

Do not pin an old yt-dlp version in production and expect it to keep working. Extractor code has a shelf life measured in weeks. Pinning trades a known small risk (update regressions) for a guaranteed outage later.

If it keeps breaking

Tired of fixing this every time a site changes?

Paste a link to see what a managed import API returns — the one that stays current so your workflow doesn't break.

Straightforward yt-dlp help for installs, commands, fixes, cookies, and repeatable workflows.

ytdlp.org is an independent, community-maintained documentation site. It is not affiliated with the yt-dlp project — the official source code lives at github.com/yt-dlp/yt-dlp.