discovering-tiktok-shop-sellers-by-niche

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Discovering TikTok Shop Sellers by Niche

按细分领域发现TikTok Shop卖家

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.
梳理某产品类别的TikTok Shop卖家格局,识别哪些产品正在被大力推广、哪些创作者带来最多销售内容,以及存在哪些产品空白。

Prerequisites

前提条件

  • APIFY_TOKEN
    environment variable set
  • Optional: Apify MCP server installed
  • 已设置
    APIFY_TOKEN
    环境变量
  • 可选:已安装Apify MCP服务器

Inputs

输入参数

ParameterTypeRequiredDefaultNotes
startUrls
arrayOptional
[]
TikTok URLs — user profiles, hashtags, music pages, search, locations
keywords
arrayOptional
[]
Search keywords/terms to find posts
sortType
stringOptional
RELEVANCE
Sort order for keyword results:
RELEVANCE
,
MOST_LIKED
,
DATE_POSTED
location
stringOptionalISO 3166-1 alpha-2 country code for regional filtering (e.g.
US
,
GB
)
maxItems
numberOptionalUnlimitedMaximum posts to return across the run
includeSearchKeywords
booleanOptional
false
Add the matched search keyword field to each post
customMapFunction
stringOptionalJavaScript function to transform each output object
参数类型是否必填默认值说明
startUrls
数组可选
[]
TikTok链接 — 用户主页、话题标签、音乐页面、搜索结果、地点页面
keywords
数组可选
[]
用于查找帖子的搜索关键词/术语
sortType
字符串可选
RELEVANCE
关键词结果的排序方式:
RELEVANCE
(相关性)、
MOST_LIKED
(点赞最多)、
DATE_POSTED
(发布日期)
location
字符串可选用于区域过滤的ISO 3166-1 alpha-2国家代码(例如
US
GB
maxItems
数字可选无限制本次运行返回的最大帖子数量
includeSearchKeywords
布尔值可选
false
为每个帖子添加匹配的搜索关键词字段
customMapFunction
字符串可选用于转换每个输出对象的JavaScript函数

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 map
进度:
- [ ] 步骤1:搜索带有TikTok Shop信号的细分领域话题标签
- [ ] 步骤2:筛选带有店铺产品链接的帖子
- [ ] 步骤3:提取卖家主页和产品信息
- [ ] 步骤4:按销售信号强度排序
- [ ] 步骤5:交付卖家/产品图谱

Step 1: Search Hashtags

步骤1:搜索话题标签

TikTok Shop hashtags: #tiktokshop[niche], #[niche]shop, #[niche]deals, #tiktokmademebuyit,
                      #[niche]affiliate, #[niche]haul
Recommended — run_actor.js (handles waiting, output, and file saving automatically):
bash
undefined
TikTok Shop话题标签:#tiktokshop[niche], #[niche]shop, #[niche]deals, #tiktokmademebuyit,
                      #[niche]affiliate, #[niche]haul
推荐使用 — run_actor.js(自动处理等待、输出及文件保存):
bash
undefined

Quick answer (prints table to chat)

快速输出(在聊天窗口打印表格)

node scripts/run_actor.js
--actor "apidojo~tiktok-scraper"
--input '{"param": "value"}'
node scripts/run_actor.js
--actor "apidojo~tiktok-scraper"
--input '{"param": "value"}'

Save as CSV

保存为CSV文件

node scripts/run_actor.js
--actor "apidojo~tiktok-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv
node scripts/run_actor.js
--actor "apidojo~tiktok-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv

Save as JSON

保存为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": ["#tiktokshop", "#[niche]shop", "#tiktokmademebuyit"], "maxItems": 300 }

**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": ["#tiktokshop", "#kitchentools", "#tiktokmademebuyit"],
    "maxItems": 300
  }'
node scripts/run_actor.js
--actor "apidojo~tiktok-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.json --format json
> 必须在环境变量或`.env`文件中设置`APIFY_TOKEN`。

**若Apify MCP可用:**
工具: apify:run-actor Actor: "apidojo~tiktok-scraper" 输入: { "keywords": ["#tiktokshop", "#[niche]shop", "#tiktokmademebuyit"], "maxItems": 300 }

**REST API备选方案:**
```bash
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

步骤2:评分卖家实力

sales_signal = (playCount / 10000) * 0.35
             + (diggCount / 1000) * 0.25
             + (commentCount / 100) * 0.15
             + (shareCount / 500) * 0.15
             + (hasShopLink ? 1 : 0) * 0.10
Normalize to [0, 1]. Sellers with multiple high-signal posts get
multi_post_bonus = 0.15
.
sales_signal = (playCount / 10000) * 0.35
             + (diggCount / 1000) * 0.25
             + (commentCount / 100) * 0.15
             + (shareCount / 500) * 0.15
             + (hasShopLink ? 1 : 0) * 0.10
归一化至[0, 1]区间。拥有多篇高信号帖子的卖家可获得
multi_post_bonus = 0.15
的额外加分。

Step 3: Classify Seller Type

步骤3:分类卖家类型

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 descriptions
seller_type:
  BRAND = 账号已认证 或 粉丝数>5万且简介包含品牌名称
  CREATOR_AFFILIATE = 个人账号,按销售额赚取佣金
  DROPSHIPPER = 发布多款无关产品,描述通用

Step 4: Edge Cases

步骤4:边缘情况处理

  • 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
  • 结果中包含非店铺帖子:移除标题无店铺信号且无产品链接的帖子
  • 同一产品被多位创作者推广:按产品名称去重;将独特推广者数量作为“销售势头”信号
  • 细分领域饱和(活跃卖家>50个):标记为HIGH_COMPETITION;呈现空白分析(服务不足的子领域)
  • 单条爆款帖子拉高浏览量:使用卖家最近10篇帖子的中位浏览量作为信号,而非最高浏览量

Output Format

输出格式

undefined
undefined

TikTok Shop Seller Map: [NICHE]

TikTok Shop卖家图谱: [细分领域]

Posts scanned: [N] | Unique sellers: [N] | Brands: [N] | Creator-affiliates: [N] | Date: [DATE]
扫描帖子数: [N] | 独特卖家数: [N] | 品牌卖家数: [N] | 创作者联盟卖家数: [N] | 日期: [DATE]

Top Sellers by Sales Signal

按销售信号排序的顶级卖家

SellerTypeProduct(s)Avg Views/PostShop PostsSignal Score
@[handle]Creator[product][N][N][0.XX]
卖家类型产品单帖平均浏览量店铺帖子数信号评分
@[账号]创作者[产品][N][N][0.XX]

Top Products (by Promotion Frequency)

热门产品(按推广频率排序)

Product Name# Sellers PromotingAvg Post ViewsPrice Range
[product][N][N]$[X]-$[X]
产品名称推广卖家数单帖平均浏览量价格区间
[产品][N][N]$[X]-$[X]

Market Saturation

市场饱和度

Competition level: [LOW / MEDIUM / HIGH] ([N] active sellers) Potential gap: [sub-niche or product type with < 3 sellers]
undefined
竞争等级: [LOW / MEDIUM / HIGH](活跃卖家数: [N]) 潜在空白: [卖家数<3的子领域或产品类型]
undefined

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.
话题标签返回非店铺内容:将细分领域话题标签与
#tiktokshop
组合搜索,聚焦带店铺链接的帖子。 无法确定产品价格:TikTok Shop价格并非总是显示在视频中 — 注意链接格式包含产品ID,可手动交叉查询。 结果全部来自头部大创作者:添加
max_posts_per_creator = 5
参数,挖掘更多元的卖家。