Mode d’emploi
- Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
- Consultez le document original pour les outils, identifiants et environnements requis.
- Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/apidojo-io/apidojo-skills --skill discovering-tiktok-shop-sellers-by-nicheAvant de commencer
- L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
- Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.
Discovering TikTok Shop Sellers by Niche
Maps the TikTok Shop seller landscape in a product category. Identifies which products are being heavily promoted, which creators drive the most sales content, and where product gaps exist.
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 niche hashtags with TikTok Shop signals
- [ ] Step 2: Filter posts with shop product links
- [ ] Step 3: Extract seller profiles and products
- [ ] Step 4: Rank by sales signal strength
- [ ] Step 5: Deliver seller/product mapStep 1: Search Hashtags
TikTok Shop hashtags: #tiktokshop[niche], #[niche]shop, #[niche]deals, #tiktokmademebuyit,
#[niche]affiliate, #[niche]haulRecommended — 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", "#[niche]shop", "#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": ["#tiktokshop", "#kitchentools", "#tiktokmademebuyit"],
"maxItems": 300
}'Step 2: Score Seller Strength
sales_signal = (playCount / 10000) * 0.35
+ (diggCount / 1000) * 0.25
+ (commentCount / 100) * 0.15
+ (shareCount / 500) * 0.15
+ (hasShopLink ? 1 : 0) * 0.10Normalize to [0, 1]. Sellers with multiple high-signal posts get multi_post_bonus = 0.15.
Step 3: Classify Seller Type
seller_type:
BRAND = account.verified OR followerCount > 50K AND bio contains brand name
CREATOR_AFFILIATE = individual account, earns commission per sale
DROPSHIPPER = posts multiple unrelated products with generic descriptionsStep 4: Edge Cases
- Non-Shop posts in results: Drop posts where caption has no shop signal AND no product link
- Same product from many creators: De-duplicate by product name; count unique promoters as a "sales momentum" signal
- Saturated niche (> 50 active sellers): Flag as HIGH_COMPETITION; present gap analysis (underserved sub-niches)
- Views inflated by one viral post: Use median views across seller's last 10 posts as the signal, not max
Output Format
# TikTok Shop Seller Map: [NICHE]
Posts scanned: [N] | Unique sellers: [N] | Brands: [N] | Creator-affiliates: [N] | Date: [DATE]
## Top Sellers by Sales Signal
| Seller | Type | Product(s) | Avg Views/Post | Shop Posts | Signal Score |
|--------|------|-----------|----------------|-----------|-------------|
| @[handle] | Creator | [product] | [N] | [N] | [0.XX] |
## Top Products (by Promotion Frequency)
| Product Name | # Sellers Promoting | Avg Post Views | Price Range |
|-------------|--------------------|--------------------|-------------|
| [product] | [N] | [N] | $[X]-$[X] |
## Market Saturation
Competition level: [LOW / MEDIUM / HIGH] ([N] active sellers)
Potential gap: [sub-niche or product type with < 3 sellers]Troubleshooting
Hashtag returns non-shop content: Combine niche hashtag with #tiktokshop in the same search to anchor on shop-linked posts. Can't determine product price: TikTok Shop prices aren't always in the video — note URL pattern includes product ID which can be cross-referenced manually. All results from one mega-creator: Add max_posts_per_creator = 5 to surface diverse sellers.

