tiktok-research-kit
by @xuya227939
Extract and analyze TikTok content using yt-dlp. Supports video metadata, caption extraction, sound/music info, user profile analysis, and engagement stats....
clawhub install tiktok-research-kitπ About This Skill
name: tiktok-research-kit description: > Extract and analyze TikTok content using yt-dlp. Supports video metadata, caption extraction, sound/music info, user profile analysis, and engagement stats. Use when user mentions "TikTok research", "TikTok extract", "TikTok analysis", "TikTok metadata", "analyze TikTok", or provides a tiktok.com/vm.tiktok.com URL.
TikTok Research Kit
Extract structured data from TikTok videos, profiles, and sounds for content research. Powered by yt-dlp locally β no API key required.
Version: 1.0.0 Prerequisite: yt-dlp >= 2024.01.01
Prerequisites
# macOS
brew install yt-dlppip
pip install yt-dlpVerify
yt-dlp --version
Operations
1. Video Metadata
Extract caption, creator info, engagement stats, and sound info.
yt-dlp --dump-json --skip-download "https://www.tiktok.com/@user/video/VIDEO_ID"
Key JSON fields:
| Field | JSON path |
|-------|-----------|
| Caption | .description |
| Creator | .uploader / .creator |
| Creator handle | .uploader_id |
| Upload date | .upload_date (YYYYMMDD β YYYY-MM-DD) |
| Duration | .duration (seconds) |
| Views | .view_count |
| Likes | .like_count |
| Comments | .comment_count |
| Shares | .repost_count |
| Sound/Music | .track |
| Sound author | .artist |
| Thumbnail | .thumbnail |
Output format: Markdown table with key stats, followed by caption and sound info.
2. User Profile / Video Feed
Extract recent videos from a creator's profile.
yt-dlp --flat-playlist --dump-json --playlist-end 20 \
"https://www.tiktok.com/@USERNAME"
Output is one JSON per line. Parse for .description, .upload_date, .view_count, .like_count, .duration.
Output format: Table with columns: #, Date, Caption (first 50 chars), Duration, Views, Likes.
3. Sound / Music Page
Extract videos using a specific sound:
yt-dlp --flat-playlist --dump-json --playlist-end 20 \
"https://www.tiktok.com/music/SOUND_NAME-SOUND_ID"
4. Video Comments
yt-dlp --dump-json --skip-download --write-comments \
--extractor-args "tiktok:comment_count=20" \
"https://www.tiktok.com/@user/video/VIDEO_ID"
Parse .comments[] for .author, .text, .like_count. Sort by likes descending.
5. Hashtag / Challenge
yt-dlp --flat-playlist --dump-json --playlist-end 20 \
"https://www.tiktok.com/tag/HASHTAG"
URL Patterns
| Pattern | Type |
|---------|------|
| tiktok.com/@user/video/ID | Single video |
| vm.tiktok.com/SHORTCODE/ | Short link |
| tiktok.com/@USERNAME | User profile |
| tiktok.com/music/NAME-ID | Sound page |
| tiktok.com/tag/HASHTAG | Hashtag page |
Number Formatting
{n/1M:.1f}M{n/1K:.1f}KWorkflow Guide
When user provides a TikTok URL:
1. Identify URL type (video, profile, sound, hashtag) 2. Run the appropriate yt-dlp command 3. Parse JSON and present formatted Markdown 4. Highlight sound/music info (important for TikTok content strategy) 5. Offer follow-ups: "Want me to analyze this creator's posting pattern?" / "Check trending sounds?"
When user asks to download a video:
Error Handling
Notes
--cookies-from-browser chromeAbout
TikTok Research Kit is an open-source project by SnapVee.
βοΈ Configuration
# macOS
brew install yt-dlppip
pip install yt-dlpVerify
yt-dlp --version
π Tips & Best Practices
--cookies-from-browser chrome