Skip to content
yt-dlp

yt-dlp Command Generator for Vimeo

Build a yt-dlp command for Vimeo videos, including private and embed-restricted ones.

Optional. Leave it empty and the command ends with URL for you to fill in.

Your command

yt-dlp --merge-output-format mp4 --no-playlist --embed-metadata https://vimeo.com/123456789
Basics

Audio-only extracts the soundtrack and drops the video stream.

Video and quality

Caps the height. yt-dlp still picks the best stream at or below it.

The file type separate video and audio streams are merged into.

Advanced options (3)

Overrides the quality dropdown. For people who already know the format syntax.

Repackages the streams without re-encoding. Fast and lossless.

Re-encodes the video. Slow and lossy — only when remuxing will not do.

Audio

The file the audio is converted to.

VBR gives the best size-to-quality ratio; fixed bitrates are more predictable.

Subtitles

Embedding puts them inside the video; saving writes a separate .srt next to it.

Comma separated. Use all for every available language.

Playlists and channels

What to do when the URL belongs to both a video and a playlist.

Ranges and lists both work, for example 1-10,15 or -5::2 for every second item from the end.

Advanced options (1)

Records what has been downloaded so re-running skips it. The way to keep a channel in sync.

Sections and chapters
Advanced options (2)

A time range like *00:01:30-00:03:00, or a chapter name. The leading asterisk means it is a timestamp.

Metadata and artwork
Advanced options (3)
SponsorBlock

Cuts community-marked segments out of the file using SponsorBlock data.

Advanced options (1)

Keeps the segments but marks them, so you can skip them yourself.

Files and folders

Field names go in %(...)s. Slashes create folders.

Advanced options (4)

Where files are written. Combine with the template above for subfolders.

Maximum file name length in characters.

Filters
Advanced options (5)

YYYYMMDD, or a relative date like now-1month.

YYYYMMDD, or a relative date.

Skips anything smaller. Accepts 5M, 500K and similar.

Skips anything larger.

Number of files to download before stopping.

Network

For example 2M or 500K. Useful when you need the rest of your bandwidth.

Advanced options (5)

Speeds up fragmented streams. Four is a sensible starting point.

How many times to retry a failed piece. infinite is allowed.

HTTP, HTTPS or SOCKS proxy URL.

Makes requests look like a real browser. The usual fix for sudden 403 errors.

Login and cookies

Reads your logged-in session directly. Needed for private, age-restricted or members-only content.

Advanced options (1)

A Netscape-format cookies.txt exported from your browser.

Live streams
Advanced options (2)

Polls until a scheduled stream begins. MIN-MAX seconds between checks.

Workarounds
Advanced options (3)

Deprecated in favour of --add-headers. Kept because plenty of older guides still use it.

Deprecated in favour of --add-headers.

Site-specific switches, for example youtube:player_client=web.

Output and debugging
Advanced options (2)
Reset

Private and restricted videos

Vimeo allows uploaders to restrict playback to specific domains. When a video plays on a site but not from a bare yt-dlp command, a referer matching that page is usually what is missing.

Private videos need cookies from an account with access. Password-protected ones use a separate option that is deliberately not in this form — it is a secret, and share links would carry it.

Vimeo quality is the straightforward part: the ladder is honest, 1080p and 4K exist where they exist, and the height cap behaves exactly as documented. What varies is access. An embed-only video plays inside the player on its owner's site; yt-dlp needs a referer header matching that page, and this form supplies one — the failure mode is a referer for a different domain than the embed lives on, which Vimeo reads as unlicensed.

Vimeo hosts a lot of commercial content behind its own paywall — rented films, course platforms, portfolio sites built on Vimeo's white-label player. Those resolve only with the credentials that bought them, if at all: the course platform's player is not the public Vimeo player, and yt-dlp has no way through it. If the video plays inside a site you pay for, the download options are that site's own; a bare Vimeo URL will not exist for it.

For the files themselves, chapters and subtitles carry through like anywhere else — --write-subs saves what the uploader attached, and Vimeo creators are unusually diligent about subtitles, so it is worth trying. Text tracks on a 4K film are large; if you only want the picture, the height cap alone controls the size, and the audio track follows automatically in the merge.

One genuine dead end to name: private Showcase links and unlisted videos where the link itself is the secret — those need the --video-password option, which this form deliberately omits because a shareable URL carrying a password is a bad trade. Everything else that fails is access: cookies for private, referer for embeds, and update yt-dlp first — Vimeo's extractor has been reworked more than once.

Frequently asked questions

Can yt-dlp download private Vimeo videos?
Only if your session can see them. Use --cookies-from-browser, and note that some embeds also check the referring page.
What about password-protected videos?
yt-dlp supports --video-password for those. It is not in this form because it is a secret and share links would carry it.
How do I get the highest Vimeo quality?
Leave quality on best, or run -F to see the ladder. Some renditions are only offered to logged-in sessions.