Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.
Finding TikTok Shop Trending Products
Identifies products gaining momentum on TikTok Shop by analyzing creator promotion density and engagement. A product promoted by many creators simultaneously is a strong viral commerce signal.
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: Search TikTok Shop hashtags for category
- [ ] Step 2: Extract products from promotional posts
- [ ] Step 3: Count creator promotion density per product
- [ ] Step 4: Score product trend momentum
- [ ] Step 5: Deliver trending product listStep 1: Search Posts
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": ["#tiktokshop[category]", "#[category]deals", "#tiktokmademebuyit"],
"maxItems": 300
}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": ["#tiktokmademebuyit", "#skincaretiktokshop"], "maxItems": 300}'Step 2: Score Products
Group posts by product name from captions. For each product:
promotion_density = count(unique creators promoting product)
total_reach = sum(playCount for all promoting posts)
engagement_rate = sum(diggCount) / total_reach * 100
trend_score = (promotion_density / 5, max 1) * 0.35
+ (total_reach / 1000000, max 1) * 0.35
+ (engagement_rate > 3 ? 1 : engagement_rate/3) * 0.30Trend window: 70%+ promotions in last 7 days = PEAKING; spread evenly = SUSTAINED; mostly > 7 days = FADING
Step 3: Edge Cases
- Product name extraction unreliable: Extract most specific noun phrase from caption alongside shop link
- Same product different variants: Group by product name similarity; sum reach across variants
- Saturated trend (> 50 creators): Window may be closing; flag as
LATE_STAGE - Counterfeit signals: Price far below market (e.g. < $5 for normally $30+ item) → flag
Output Format
# TikTok Shop Trending Products: [CATEGORY]
Posts analyzed: [N] | Unique products: [N] | Date: [DATE]
## Trending Now (Peak Momentum)
| Product | Creators | Total Views | Avg Eng Rate | Stage | Score |
|---------|---------|------------|-------------|-------|-------|
## Sustained Performers
| Product | Creators | Total Views | Stage |
|---------|---------|-----------|-------|
## Saturation Alert
[Products with > 30 creators — difficult to enter profitably]Troubleshooting
Few products identified: Check bio links of top promoting creators for product page. Trend already peaked: Run every 3-4 days to catch trends early. Suspicious pricing: Flag and verify before sourcing.

