monitoring-tiktok-mentions-of-brand

Monitors TikTok for brand mentions and product discussions using apidojo's TikTok scraper on Apify. Triggers when the user asks to: track mentions of a brand on TikTok, monitor Tik…

API Dojo

@apidojo-io

Install

$ openclaw skills install @apidojo-io/monitoring-tiktok-mentions-of-brand

Monitoring TikTok Mentions of a Brand

Tracks TikTok content mentioning a brand via branded hashtags and keyword searches. TikTok is the fastest-moving platform for brand sentiment — viral criticism or praise can emerge in hours.

Prerequisites

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

Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarrayOptional[]TikTok URLs — user profiles, hashtags, music pages, search, locations
keywordsarrayOptional[]Search keywords/terms to find posts
sortTypestringOptionalRELEVANCESort order for keyword results: RELEVANCE, MOST_LIKED, DATE_POSTED
locationstringOptionalISO 3166-1 alpha-2 country code for regional filtering (e.g. US, GB)
maxItemsnumberOptionalUnlimitedMaximum posts to return across the run
includeSearchKeywordsbooleanOptionalfalseAdd the matched search keyword field to each post
customMapFunctionstringOptionalJavaScript function to transform each output object

Workflow

Progress:
- [ ] Step 1: Run tiktok-scraper for branded hashtags
- [ ] Step 2: Filter by view count and date
- [ ] Step 3: Classify sentiment and content type
- [ ] Step 4: Identify trending posts and crisis signals
- [ ] Step 5: Deliver monitoring report

Step 1: Run the Actor

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": ["#[BRAND]", "#[BRAND]review", "#[BRAND]honest"],
  "maxItems": 200
}

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": ["#[brand]", "#[brand]review", "#[brand]honest"],
    "maxItems": 200
  }'

Step 2: Classify and Score

Content type:

UNBOXING = "unboxing", "first impression", "first look"
REVIEW = "review", "honest", "real talk", "thoughts on"
COMPLAINT = "disappointed", "refund", "scam", "doesn't work", "returning"
TUTORIAL = "how to", "tips", "tutorial"
ENTERTAINMENT = trend audio, no product focus

Sentiment (lexical — same model as Twitter sentiment skill):

  • Use positive/negative/neutral indicators
  • Weight by diggCount (likes) as community agreement signal

Virality signal:

virality = playCount / (follower_count_of_creator + 1)

If virality > 2.0: post is reaching well beyond the creator's audience — flag as TRENDING

Step 3: Crisis Detection

Flag CRISIS_ALERT when:

  • Any single post with playCount > 500K AND sentiment = NEGATIVE
  • More than 5 complaint posts in 48 hours
  • Comment-to-view ratio > 3% on a negative post (high engagement = controversy)

Step 4: Edge Cases

  • Hashtag overloaded with unrelated content: Add brand sub-product or model name to narrow
  • Brand has low TikTok presence (< 10 posts): This is notable data — report it; brand may need proactive TikTok strategy
  • Duet/Stitch posts about brand: These count as mentions but are often reactions to original content — classify as REACTION and note the source video

Output Format

# TikTok Brand Monitor: [BRAND_NAME]
Period: [DATE_RANGE] | Posts collected: [N] | Total estimated reach: [N] views | Date: [DATE]

## Overall Sentiment
Positive: [X%] | Negative: [X%] | Neutral: [X%]
⚠️ CRISIS ALERTS: [N] (posts above threshold — see below)

## Content Type Distribution
Unboxing: [N] | Reviews: [N] | Complaints: [N] | Tutorials: [N]

## Trending Posts (> 100K Views)
| Creator | @Handle | Views | Likes | Sentiment | Type | Caption Preview |
|---------|---------|-------|-------|-----------|------|----------------|

## CRISIS ALERTS (Negative + High Reach)
| Creator | Views | Complaint Theme | Days Live | Post URL |
|---------|-------|----------------|-----------|---------|

## Top Advocates
| Creator | @Handle | Followers | Views | Post Type | Score |
|---------|---------|-----------|-------|----------|-------|

Troubleshooting

Very few posts found: Brand may be using a different hashtag convention. Try product name without brand (#[product] not #[brand]product). All results are unboxing/haul content: Normal for consumer brands — this is positive. Set monitoring to alert only on negative content. Crisis alert triggered by troll campaign: Check if complaint posts are from a cluster of new accounts (created within 30 days, < 100 followers) — may be coordinated; note this context in report.

Top skills in this category