ytdlp.org

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

Current section

Platform guide

How to download Twitter/X videos with yt-dlp

For a normal public tweet with a video, yt-dlp just works: paste the tweet URL and you get the best MP4 the platform serves. The details worth knowing are quality selection, tweets that carry more than one video, and the cases where you need a logged-in session.

Quick answer

yt-dlp "https://x.com/user/status/1234567890"

Both x.com and twitter.com URLs work — yt-dlp treats them as the same extractor, so use whichever the share button gives you.

Picking the quality

Twitter serves each video as several MP4 renditions at different resolutions and bitrates. yt-dlp picks the best one by default; list them if you want something smaller:

yt-dlp -F "https://x.com/user/status/1234567890"

Because the renditions are complete MP4s (video and audio together), no merging is involved — a plain -f FORMAT_ID pick gives you a finished file.

Tweets with multiple videos

A single tweet can carry up to four videos, and yt-dlp treats such a tweet as a small playlist — by default it downloads all of them. To pick a specific one, use --playlist-items:

yt-dlp --playlist-items 2 "https://x.com/user/status/1234567890"

That grabs only the second video in the tweet. The numbering follows the order the media appears in the post.

What needs cookies

Two categories reliably require a logged-in session: content that X hides from logged-out visitors entirely, and posts flagged as sensitive media, which show an interstitial instead of the video. For both, pass your browser session:

yt-dlp --cookies-from-browser chrome "https://x.com/user/status/1234567890"

If a tweet extracts fine in your browser but fails anonymously in yt-dlp, cookies are almost always the missing piece.

The mistake to avoid

If extraction breaks right after a big X platform change, do not start debugging your flags. Update yt-dlp first — X changes its internals often, the extractor breaks with it, and the fix ships as a new yt-dlp release. Flags cannot patch an out-of-date extractor.

Recurring sources

Pulling from the same sources on repeat?

Paste a link to preview what a maintained import API returns for it — across 500+ platforms.

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.