Catalogskills.sh · apidojo-io

discovering-viral-tiktok-content-trends

Discovers viral content trends and trending formats on TikTok using apidojo's TikTok scraper on Apify. Triggers when the user asks to: find trending content formats on TikTok, discover what is going viral on TikTok in a niche, identify viral TikTok hooks or video styles to adapt, research TikTok trends for a product category, find what content formats are performing best on TikTok right now, discover trending sounds or concepts in a niche on TikTok, or analyze what drives viral TikTok engagement in a specific category. Returns trending hashtags, view counts, engagement metrics, content format patterns, and hook analysis. Ideal for TikTok content creators, brand social teams, and video content strategists.

Review advisedVerified hub789 installs

Savant verdict: Review advised

Security analysis or source-hub review identified patterns requiring attention.

Live evaluation

Not evaluated yet. Workspaces can request a live evaluation.

Security assessment

Scan pending.

Structure

  • 1 referenced file isn't in the packagescripts/run_actor.js. They may be binary, too large to catalog, or missing upstream.
  • The source hub's security checks flagged this skillSnyk: warn (Risk: MEDIUM · 1 issue)

SKILL.md

---
name: discovering-viral-tiktok-content-trends
description: >
  Discovers viral content trends and trending formats on TikTok using apidojo's TikTok scraper
  on Apify. Triggers when the user asks to: find trending content formats on TikTok, discover
  what is going viral on TikTok in a niche, identify viral TikTok hooks or video styles to
  adapt, research TikTok trends for a product category, find what content formats are performing
  best on TikTok right now, discover trending sounds or concepts in a niche on TikTok, or
  analyze what drives viral TikTok engagement in a specific category.
  Returns trending hashtags, view counts, engagement metrics, content format patterns, and hook analysis.
  Ideal for TikTok content creators, brand social teams, and video content strategists.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actor: apidojo/tiktok-scraper
---

# Discovering Viral TikTok Content Trends

Identifies what's going viral on TikTok in a niche by analyzing high-performing posts. Extracts repeatable content formats, hooks, and structural patterns — the inputs needed to create content that rides existing momentum.

## 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: Search niche hashtags
- [ ] Step 2: Filter for high-performing posts
- [ ] Step 3: Analyze content formats and hooks
- [ ] Step 4: Score trend viability for replication
- [ ] Step 5: Deliver trend brief
```

### Step 1: Search Hashtags


**Recommended — run_actor.js (handles waiting, output, and file saving automatically):**
```bash
# 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": ["#[niche]", "#[niche]tiktok", "#[niche]foryou"],
  "maxItems": 200
}
```

**REST API fallback:**
```bash
curl -X POST   "https://api.apify.com/v2/acts/apidojo~tiktok-scraper/runs?token=$APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"keywords": ["#skincaretips", "#skincaretiktok"], "maxItems": 200}'
```

Filter: `playCount >= min_views`

### Step 2: Analyze Content Patterns

From caption and available metadata, classify:

```
hook_type:
  QUESTION = caption starts with or contains "?", "have you", "do you", "did you know"
  LIST = "X things", "here are the", "number [N]"
  BEFORE_AFTER = "I did X for 30 days", "watch the transformation"
  STORY = first-person narrative opener ("I was struggling with...")
  CONTROVERSY = "unpopular opinion", "no one talks about", "this is controversial"
  TUTORIAL = "how to", "step by step", "the only guide you need"

content_length_tier:
  SHORT = video duration < 15 seconds
  MEDIUM = 15-60 seconds
  LONG = > 60 seconds
```

### Step 3: Score Trend Replicability

```
trend_score = (playCount / 1000000, max 1) * 0.30
            + (diggCount / playCount * 100 > 3 ? 1 : ratio/3) * 0.25
            + (commentCount / playCount * 100 > 0.5 ? 1 : ratio/0.5) * 0.25
            + (format_is_replicable: TUTORIAL/LIST/QUESTION = 1, BEFORE_AFTER = 0.8, STORY = 0.6) * 0.20
```

**Trend window:** posts all from the same 7-day period = `TRENDING NOW`; spread over 30 days = `ESTABLISHED FORMAT`

### Step 4: Edge Cases

- **Trend driven by a single mega-creator**: If top 3 posts are from same creator, it's a creator trend not a format trend — flag as `CREATOR_DRIVEN`; harder to replicate without their audience
- **Trend requires specific audio**: Note if posts share the same sound; audio trends are TikTok-specific and may expire quickly
- **Niche too small** (< 50 posts above threshold): Lower `min_views` to 25K; or report the top posts available with a note on data volume
- **International content dominates**: Filter by caption language; use English-language posts if targeting English-speaking audience

## Output Format

```
# TikTok Viral Trend Report: [NICHE]
Period: [DATE_RANGE] | Posts analyzed: [N] | Viral posts (>[MIN_VIEWS] views): [N] | Date: [DATE]

## Top Performing Formats
| Format | # Posts | Avg Views | Avg Like Rate | Best Example |
|--------|---------|-----------|--------------|-------------|
| Tutorial | [N] | [N] | [X%] | @[handle]: "[caption excerpt]" |
| List | [N] | [N] | [X%] | |

## Top Viral Posts
| Creator | Views | Likes | Comments | Hook Type | Caption Preview |
|---------|-------|-------|----------|----------|----------------|

## Hook Patterns Worth Replicating
1. "[Hook structure]" — used in [N] viral posts, avg [N] views
   Example: "[verbatim hook from top post]"

## Trend Window Assessment
- TRENDING NOW (< 7 days): [N] posts in format
- ESTABLISHED FORMAT (7-30 days): [N] posts
- FADING (> 30 days): [N] posts

## Recommended Content Angles for [NICHE]
1. [Format + hook recommendation with rationale]
2. [Format + hook recommendation]
```

## Troubleshooting

**All viral posts are from mega-creators**: Add filter `follower_count < 500K` to surface format trends from creators of all sizes.
**Format analysis is inconsistent**: Caption text is the only metadata available without video analysis; use it as a proxy and note this limitation.
**Trend is already declining**: TikTok trends typically peak and decline within 2-3 weeks; if freshness is low, recommend adapting the format with a new angle rather than copying directly.