Skip to content
Back to skills

Downloader Tiktok Videos

ASecurity

Automatically downloads the latest video (or the N most recent) from a public TikTok account using yt-dlp. Use this skill whenever the user mentions TikTok, a @username, "download a TikTok video", "get the latest TikTok post", "scrape TikTok", or any request to download/extract content from TikTok. Also applies when the user wants to retrieve metadata only (title, hashtags, date, stats) without downloading, archive TikTok videos, or automate TikTok content retrieval.

  • 16 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 7, 2026
documentationpythonrustbashsecuritydocumentation

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 3 files and shows the line behind each finding

Scanned June 7, 2026

npx -y skills add modbender/skill-library-mcp --skill downloader-tiktok-videos --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Downloader Tiktok Videos?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Downloader Tiktok Videos
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-downloader-tiktok-videos/badge)](https://www.skillsdirectory.com/skills/modbender-downloader-tiktok-videos)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Downloader Tiktok Videos
description: >
  Automatically downloads the latest video (or the N most recent) from a public TikTok account
  using yt-dlp. Use this skill whenever the user mentions TikTok, a @username, "download a TikTok
  video", "get the latest TikTok post", "scrape TikTok", or any request to download/extract content
  from TikTok. Also applies when the user wants to retrieve metadata only (title, hashtags, date,
  stats) without downloading, archive TikTok videos, or automate TikTok content retrieval.
---

# Downloader TikTok Videos

## Overview

Downloader TikTok Videos downloads the latest video (or multiple videos) from a public TikTok
account using **yt-dlp**. Read this documentation fully before writing any code or running commands.

## Prerequisites

This skill requires **yt-dlp** (and optionally **ffmpeg** for audio/video merging).

> ⚠️ The commands below modify your host environment (install packages system-wide).
> Run them only if yt-dlp is not already installed and you are comfortable doing so.

```bash
pip install -U yt-dlp --break-system-packages   # Linux system Python
# or
pip install -U yt-dlp                           # virtualenv / macOS
yt-dlp --version                                # verify install
```

## Operation Types

This skill supports four operation types. Determine which one(s) the user needs:

1. **Quick Download** — Download the latest video from an account
2. **Bulk Download** — Download the N most recent videos
3. **Metadata Only** — Retrieve info/stats without downloading the video
4. **Direct Video URL** — Download from a specific video URL

## Workflows

### 1. Quick Download — Latest Video from an Account

**When to use:** User provides a @username or profile URL

**Steps:**
1. Normalize the username (strip `@` if present)
2. Build the profile URL: `https://www.tiktok.com/@{username}`
3. Fetch metadata for the latest video (`--playlist-items 1 --no-download`)
4. Show the user the video info (title, date, duration)
5. Download with the optimal command
6. Confirm success and provide the file path

**Command:**
```bash
yt-dlp \
  --playlist-items 1 \
  --format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
  --merge-output-format mp4 \
  --output "./%(uploader_id)s_%(upload_date)s_%(id)s.%(ext)s" \
  "https://www.tiktok.com/@{username}"
```

**Verify the result:**
```bash
ls -lh ./*.mp4
```

### 2. Bulk Download — N Most Recent Videos

**When to use:** User wants multiple videos

**Steps:**
1. Ask how many videos (if not specified, default = 5)
2. Build the command with `--playlist-items 1-N`
3. Add `--download-archive` to avoid duplicates
4. Download with progress output
5. List downloaded files

**Command:**
```bash
yt-dlp \
  --playlist-items 1-{N} \
  --format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
  --merge-output-format mp4 \
  --download-archive ./tiktok_archive.txt \
  --output "./%(uploader_id)s/%(upload_date)s_%(id)s.%(ext)s" \
  "https://www.tiktok.com/@{username}"
```

### 3. Metadata Only

**When to use:** User wants video info without downloading

**Read:** `references/metadata.md` for all available fields and the full command

**Quick command:**
```bash
yt-dlp \
  --playlist-items 1 \
  --skip-download \
  --write-info-json \
  --print "%(uploader_id)s | %(upload_date)s | %(duration)ss | %(view_count)s views | %(title)s" \
  "https://www.tiktok.com/@{username}"
```

### 4. Direct Video URL

**When to use:** User provides a direct video URL

**Command:**
```bash
yt-dlp \
  --format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
  --merge-output-format mp4 \
  --output "./%(uploader_id)s_%(id)s.%(ext)s" \
  "{video_url}"
```

## Common Errors

| Error | Cause | Fix |
|-------|-------|-----|
| `HTTP Error 403` | TikTok rate limiting | Add `--sleep-interval 3 --max-sleep-interval 6` |
| `Unable to extract` | Outdated yt-dlp | `pip install -U yt-dlp --break-system-packages` |
| `Private account` | Private account | Use `--cookies-from-browser chrome` if logged in ⚠️ exports session cookies — keep them private |
| `No video formats` | Geo-restriction | Add `--geo-bypass` |
| `Sign in required` | Restricted content | Provide cookies via `--cookies cookies.txt` ⚠️ treat this file like a password |
| `Merge requires ffmpeg` | ffmpeg missing | `apt-get install ffmpeg -y` |

> ⚠️ **Cookie security note:** Browser cookies exported via `--cookies-from-browser` or `cookies.txt`
> contain active session tokens. Never share these files, commit them to version control, or pass
> them to untrusted scripts. Delete them after use if no longer needed.

## Username Normalization

```python
# Accepts all these formats:
# @myaccount  →  myaccount
# myaccount   →  myaccount
# https://www.tiktok.com/@myaccount  →  myaccount

def normalize(input_str):
    if "tiktok.com/@" in input_str:
        return input_str.split("tiktok.com/@")[-1].split("/")[0]
    return input_str.lstrip("@").strip()
```

## Reference Files

Load these references as needed:

**references/metadata.md**
- When: Fetching metadata, working with JSON fields
- Contains: All available yt-dlp fields, print format examples, JSON export

**references/advanced.md**
- When: Watermark removal, cookies, proxy, custom headers
- Contains: Advanced techniques, restriction bypass, full yt-dlp options

**KBLICENSE.txt**
- When: Questions about usage rights or Terms of Service
- Contains: Usage conditions, permitted and prohibited uses

## Output Guidelines

- Always display metadata before downloading (title, date, duration)
- Confirm the downloaded file path
- Show the final file size
- On error, propose the fix directly

## Example Queries

**Quick download:**
- "Download the latest video from @someaccount"
- "Get the latest TikTok post from myaccount"
- "Download the last video from https://www.tiktok.com/@user"

**Bulk download:**
- "Download the 5 latest videos from @user"
- "Get the last 10 videos from @account"

**Metadata:**
- "Give me the info on the latest video from @user"
- "What is the title and date of the last post from @account"

**Direct URL:**
- "Download this TikTok video: https://www.tiktok.com/@user/video/123456"

Files in this skill

  • SKILL.md6.3 KB
  • advanced.md4 KB
  • download_latest.py8.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.