Agent Skills

analyzing-tiktok-hashtag-performance

Analyzes TikTok hashtag performance, reach, and trending content using apidojo's TikTok scraper on Apify. Triggers when the user asks to: analyze a TikTok hashtag, find trending hashtags on TikTok in a niche, see which hashtags perform best for a content type, compare hashtag reach and total view counts on TikTok, identify viral content under a hashtag, research TikTok hashtag strategy for a campaign, find which hashtags a competitor uses most, or determine the best hashtags to use for a TikTok

Install

npx skills add https://github.com/apidojo-io/apidojo-skills --skill analyzing-tiktok-hashtag-performance
SKILL.md

Analyzing TikTok Hashtag Performance

Scrapes TikTok hashtag pages to pull top-performing videos, engagement data, and creator information. Compares multiple hashtags side-by-side to identify which ones deliver the best reach for a given content category.

Prerequisites

  • APIFY_TOKEN environment variable set
  • Optional: Apify MCP server installed

Inputs

Parameter Type Required Default Notes
startUrls array Optional [] TikTok URLs — user profiles, hashtags, music pages, search, locations
keywords array Optional [] Search keywords/terms to find posts
sortType string Optional RELEVANCE Sort order for keyword results: RELEVANCE, MOST_LIKED, DATE_POSTED
location string Optional — ISO 3166-1 alpha-2 country code for regional filtering (e.g. US, GB)
maxItems number Optional Unlimited Maximum posts to return across the run
includeSearchKeywords boolean Optional false Add the matched search keyword field to each post
customMapFunction string Optional — JavaScript function to transform each output object

Workflow

Progress:
- [ ] Step 1: Define hashtags to analyze
- [ ] Step 2: Run tiktok-scraper for each hashtag
- [ ] Step 3: Calculate hashtag-level metrics
- [ ] Step 4: Identify top content and creators
- [ ] Step 5: Deliver strategy recommendations

Step 1: Clarify Parameters

Ask the user for:

  • Hashtags to analyze — up to 10 (without #)
  • Posts per hashtag (default: 30 — enough for reliable stats)
  • Goal — choosing hashtags for a post, auditing a competitor's hashtag strategy, or general research

If the user hasn't provided hashtags yet and wants recommendations, ask for:

  • Content niche (e.g., "fitness", "cooking", "personal finance")
  • Then generate a mix of: 2 mega hashtags (100M+ views), 3 mid-tier (10M–100M), 3 niche (1M–10M), 2 micro (<1M)

Step 2: Run the Actor Per Hashtag

Recommended — run_actor.js (handles waiting, output, and file saving automatically):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~tiktok-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~tiktok-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~tiktok-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json

APIFY_TOKEN must be set in environment or .env file.

If Apify MCP is available:

Tool: apify:run-actor
Actor: "apidojo~tiktok-scraper"
Input:
{
  "keywords": ["[hashtag1]", "[hashtag2]", "[hashtag3]"],
  "shouldDownloadCovers": false
}

REST API fallback:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tiktok-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "keywords": ["[hashtag1]", "[hashtag2]", "[hashtag3]"]
  }'

Wait for SUCCEEDED. Fetch dataset.

Step 3: Calculate Hashtag Metrics

For each hashtag, from its video results:

total_views_sampled = sum(video.playCount)
avg_views_per_video = total_views_sampled / num_videos
avg_likes_per_video = sum(video.diggCount) / num_videos
avg_comments_per_video = sum(video.commentCount) / num_videos
engagement_rate = (avg_likes + avg_comments) / avg_views * 100
competition_level = num_videos_per_day (estimate from timestamps)

Use challengeInfo.stats.videoCount (if available) as total hashtag size proxy.

Step 4: Identify Top Content and Creators

For each hashtag, surface:

  • Top 3 videos by play count (with creator handle and video URL)
  • Top 3 creators by frequency in the hashtag's top content
  • Common content formats in top videos (based on descriptions/captions)

Step 5: Format Output

Output Format

# TikTok Hashtag Performance Analysis
Hashtags analyzed: [N] | Posts sampled per hashtag: [30] | Date: [DATE]

## Hashtag Comparison Table

| Hashtag | Avg Views | Avg Likes | Eng. Rate | Competition | Verdict |
|---------|-----------|-----------|-----------|-------------|---------|
| #[name] | [N]       | [N]       | [X.X%]    | [Low/Med/High] | [Use / Test / Avoid] |

## Detailed Breakdown

### #[hashtag1]
- Avg views per post: [N]
- Engagement rate: [X.X%]
- Competition level: [Low / Medium / High] — approx [N] new posts/day
- Top video: "[creator]" — [N] views | [url]
- Dominant content format: [e.g., tutorial, reaction, storytelling]
- **Recommendation:** [Use as primary / Layer with broader tags / Avoid — too saturated]

### #[hashtag2]
[same structure]

## Recommended Hashtag Strategy
For maximum reach on [CONTENT NICHE], use this combination:
- Primary (1-2 hashtags): [#hashtag] — broad reach driver
- Secondary (2-3 hashtags): [#hashtag] — niche relevance
- Micro (1-2 hashtags): [#hashtag] — community engagement

## Top Creators in These Hashtags
[Creators who appear most in top-performing content across all analyzed hashtags]
1. @[handle] — [N] top videos found | [N] followers

Troubleshooting

Very low view counts: Hashtag may be misspelled or very new. Verify spelling and try alternate versions. All results look the same: Mega-hashtags (#fyp, #foryou) surface algorithmically promoted content, not organic. Use niche hashtags for better signal. Engagement rate seems too high or low: Engagement rate varies heavily by content type — compare within the same content format for fair benchmarking.

Related skills

reddit-automationflowkit-labs682KFind Reddit threads where people are genuinely asking for what you offer, then draft short, genuinely helpful replies — disclosing your affiliation honestly and naming your product only when it truly answers the question. Two moves: discovery — scan the right subreddits for real needs (recommendation asks, expressed pain, competitor mentions) and rank the few threads where you can actually help; drafting — write from real experience, respect each community's self-promo rules, and keep a human intwitter-automation101-skills547KAutomate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automatwitter-automationqu-skills289KAutomate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automaseo-auditcoreyhaines31216KWhen the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help wit

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers