tiktok-research
Original:🇺🇸 English
Translated
2 scriptsChecked / no sensitive code detected
Research high-performing TikTok videos from tracked accounts using Apify's TikTok Scraper. Identifies outlier content, analyzes top 5 videos with AI, and generates reports with actionable hook formulas. Use when asked to: - Find trending TikTok content in a niche - Research what's performing on TikTok - Identify high-performing video patterns - Analyze competitors' TikTok content - Generate content ideas from TikTok trends - Run TikTok research - Find viral TikToks - Analyze hooks and content structure Triggers: "tiktok research", "tt research", "find trending tiktoks", "analyze tiktok accounts", "what's working on tiktok", "content research tiktok", "tiktok analysis", "tiktok trends"
17installs
Added on
NPX Install
npx skill4agent add bradautomates/head-of-content tiktok-researchTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →TikTok Research
Research high-performing TikTok videos, identify outliers, and analyze top video content for hooks and structure.
Prerequisites
- environment variable or in
APIFY_TOKEN.env - environment variable or in
GEMINI_API_KEY.env - and
apify-clientPython packagesgoogle-genai - Accounts configured in
.claude/context/tiktok-accounts.md
Verify setup:
bash
python3 -c "
import os
try:
from dotenv import load_dotenv
load_dotenv()
except ImportError:
pass
from apify_client import ApifyClient
from google import genai
assert os.environ.get('APIFY_TOKEN'), 'APIFY_TOKEN not set'
assert os.environ.get('GEMINI_API_KEY'), 'GEMINI_API_KEY not set'
" && echo "Prerequisites OK"Workflow
1. Create Run Folder
bash
RUN_FOLDER="tiktok-research/$(date +%Y-%m-%d_%H%M%S)" && mkdir -p "$RUN_FOLDER" && echo "$RUN_FOLDER"2. Fetch Content
bash
python3 .claude/skills/tiktok-research/scripts/fetch_tiktok.py \
--days 30 \
--limit 50 \
--sorting latest \
--output {RUN_FOLDER}/raw.jsonParameters:
- : Days back to search (default: 30)
--days - : Max videos per account (default: 50)
--limit - : "latest", "popular", or "oldest" (default: latest)
--sorting - : Override accounts file with specific usernames
--usernames
3. Identify Outliers
bash
python3 .claude/skills/tiktok-research/scripts/analyze_posts.py \
--input {RUN_FOLDER}/raw.json \
--output {RUN_FOLDER}/outliers.json \
--threshold 2.0Output JSON contains:
- : Number of videos analyzed
total_videos - : Number of outliers found
outlier_count - : Top hashtags, sounds, and keywords
topics - : List of accounts analyzed
accounts - : Array of outlier videos with engagement metrics
outliers
4. Analyze Top Videos with AI
bash
python3 .claude/skills/video-content-analyzer/scripts/analyze_videos.py \
--input {RUN_FOLDER}/outliers.json \
--output {RUN_FOLDER}/video-analysis.json \
--platform tiktok \
--max-videos 5Extracts from each video:
- Hook technique and replicable formula
- Content structure and sections
- Retention techniques
- CTA strategy
See the skill for full output schema and hook/format types.
video-content-analyzer5. Generate Report
Read and , then generate .
{RUN_FOLDER}/outliers.json{RUN_FOLDER}/video-analysis.json{RUN_FOLDER}/report.mdReport Structure:
markdown
# TikTok Research Report
Generated: {date}
## Top Performing Hooks
Ranked by engagement. Use these formulas for your content.
### Hook 1: {technique} - @{username}
- **Opening**: "{opening_line}"
- **Why it works**: {attention_grab}
- **Replicable Formula**: {replicable_formula}
- **Engagement**: {diggCount} likes, {commentCount} comments, {playCount} views
- [Watch Video]({webVideoUrl})
[Repeat for each analyzed video]
## Content Structure Patterns
| Video | Format | Pacing | Key Retention Techniques |
|-------|--------|--------|--------------------------|
| @username | {format} | {pacing} | {techniques} |
## CTA Strategies
| Video | CTA Type | CTA Text | Placement |
|-------|----------|----------|-----------|
| @username | {type} | "{cta_text}" | {placement} |
## All Outliers
| Rank | Username | Likes | Comments | Shares | Views | Engagement Rate |
|------|----------|-------|----------|--------|-------|-----------------|
[List all outliers with metrics and links]
## Trending Topics
### Top Hashtags
[From outliers.json topics.hashtags]
### Top Sounds
[From outliers.json topics.sounds]
### Top Keywords
[From outliers.json topics.keywords]
## Actionable Takeaways
[Synthesize patterns into 4-6 specific recommendations]
## Accounts Analyzed
[List accounts]Focus on actionable insights. The "Top Performing Hooks" section with replicable formulas should be prominent.
Quick Reference
Full pipeline:
bash
RUN_FOLDER="tiktok-research/$(date +%Y-%m-%d_%H%M%S)" && mkdir -p "$RUN_FOLDER" && \
python3 .claude/skills/tiktok-research/scripts/fetch_tiktok.py -o "$RUN_FOLDER/raw.json" && \
python3 .claude/skills/tiktok-research/scripts/analyze_posts.py -i "$RUN_FOLDER/raw.json" -o "$RUN_FOLDER/outliers.json" && \
python3 .claude/skills/video-content-analyzer/scripts/analyze_videos.py -i "$RUN_FOLDER/outliers.json" -o "$RUN_FOLDER/video-analysis.json" -p tiktokThen read both JSON files and generate the report.
Engagement Metrics
Engagement Score:
likes + (3 x comments) + (2 x shares) + (2 x saves) + (0.05 x views)Outlier Detection: Videos with engagement rate > mean + (threshold x std_dev)
Engagement Rate: (score / followers) x 100
TikTok-Specific Fields
- : Likes/hearts
diggCount - : Shares
shareCount - : Video views
playCount - : Comments
commentCount - : Saves/bookmarks
collectCount - : Creator's follower count
authorFollowers - : Sound used in video
musicName - : Whether sound is original
musicOriginal