ytdlp.org

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

Current section

Platform guide

How to download TikTok videos with yt-dlp

TikTok is one of the easier platforms for yt-dlp: for a normal public video, the share URL works directly with no extra flags. The catches show up around the edges — region-blocked content, private accounts, and TikTok's photo-mode posts, which are not videos at all.

Quick answer

yt-dlp "https://www.tiktok.com/@user/video/1234567890"

Paste the video URL as-is — the standard web URL from the share button works directly. Short vm.tiktok.com share links also resolve; yt-dlp follows the redirect.

Quality and formats

TikTok usually serves a handful of MP4 renditions, sometimes including a version without the burned-in watermark. What is available varies by video and region, so check before assuming:

yt-dlp -F "https://www.tiktok.com/@user/video/1234567890"

The default selection picks the best available quality, so most people never need -f here. Use it only when the list shows a specific rendition you want.

Metadata is unusually rich

TikTok extraction returns solid metadata: uploader handle, the full description including hashtags, upload date, and engagement counts. That makes output templates like -o "%(uploader)s - %(title)s.%(ext)s" work well, and --write-info-json gives you the whole record if you are feeding a pipeline.

What commonly fails

  • Region-blocked videos. Some content is only served in certain countries. If a video plays for someone else but errors for you, geography is the first suspect.
  • Private accounts. If the account is private, the video is not reachable without an authenticated session that follows it — there is no flag that gets around this.
  • Photo-mode slideshows. These are image carousels with music, not videos, and yt-dlp support for them is unreliable — it changes between releases. If a slideshow fails, read the actual error and check the yt-dlp issue tracker rather than retrying with different flags.

The mistake to avoid

Do not loop over an entire profile at full speed from a single IP. TikTok rate-limits aggressively, and a burst of rapid requests turns working downloads into empty responses and blocks. If you are grabbing many videos, slow down with --sleep-requests and spread the work out.

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.