원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.
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_TOKENenvironment 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: 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 reportStep 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 jsonAPIFY_TOKENmust be set in environment or.envfile.
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 focusSentiment (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 > 500KANDsentiment = 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
REACTIONand 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.

