tracking-competitor-social-media-growth

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Tracking Competitor Social Media Growth

跟踪竞品社交媒体增长情况

Pulls current follower counts and engagement metrics for competitor accounts across Twitter/X, TikTok, and Instagram. Creates a side-by-side competitive snapshot. Designed to be run on a schedule for ongoing tracking.
获取Twitter/X、TikTok和Instagram上竞品账号的当前粉丝数量及互动指标,生成竞品横向对比快照。支持按计划运行以实现持续跟踪。

Prerequisites

前提条件

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

Inputs

输入参数

ParameterTypeRequiredDefaultNotes
startUrls
arrayOptional
[]
Twitter profile or tweet URLs
twitterHandles
arrayOptional
[]
Twitter usernames (without @)
twitterUserIds
arrayOptional
[]
Twitter user IDs
getFollowers
booleanOptional
false
Extract follower lists
getFollowing
booleanOptional
false
Extract following lists
getRetweeters
booleanOptional
false
Extract retweeters of a tweet URL
includeUnavailableUsers
booleanOptional
false
Include unavailable/suspended users
maxItems
numberOptionalUnlimitedMaximum users to return
customMapFunction
stringOptionalJavaScript function to transform each output object
参数类型是否必填默认值说明
startUrls
数组可选
[]
Twitter个人主页或推文URL
twitterHandles
数组可选
[]
Twitter用户名(不带@)
twitterUserIds
数组可选
[]
Twitter用户ID
getFollowers
布尔值可选
false
提取粉丝列表
getFollowing
布尔值可选
false
提取关注列表
getRetweeters
布尔值可选
false
提取推文的转发者列表
includeUnavailableUsers
布尔值可选
false
包含不可用/被封禁用户
maxItems
数字可选无限制返回的最大用户数量
customMapFunction
字符串可选用于转换每个输出对象的JavaScript函数

Workflow

工作流程

Progress:
- [ ] Step 1: Define competitors and target platforms
- [ ] Step 2: Scrape Twitter/X profiles
- [ ] Step 3: Scrape TikTok profiles
- [ ] Step 4: Scrape Instagram profiles
- [ ] Step 5: Compile cross-platform comparison
Progress:
- [ ] Step 1: Define competitors and target platforms
- [ ] Step 2: Scrape Twitter/X profiles
- [ ] Step 3: Scrape TikTok profiles
- [ ] Step 4: Scrape Instagram profiles
- [ ] Step 5: Compile cross-platform comparison

Step 1: Clarify Parameters

步骤1:明确参数

Ask the user for:
  • Competitor handles per platform — e.g.:
    • Twitter:
      @competitorA
      ,
      @competitorB
    • TikTok:
      @competitorA
      ,
      @competitorB
    • Instagram:
      @competitorA
      ,
      @competitorB
  • Platforms to analyze (Twitter, TikTok, Instagram — one or all)
  • Include your own account? (default: yes — for direct benchmarking)
向用户确认以下信息:
  • 各平台的竞品账号 — 例如:
    • Twitter:
      @competitorA
      ,
      @competitorB
    • TikTok:
      @competitorA
      ,
      @competitorB
    • Instagram:
      @competitorA
      ,
      @competitorB
  • 要分析的平台(Twitter、TikTok、Instagram — 可选一个或全部)
  • 是否包含自身账号?(默认:是 — 用于直接对标)

Step 2: Scrape Twitter/X Profiles

步骤2:抓取Twitter/X个人主页

Recommended — run_actor.js (handles waiting, output, and file saving automatically):
bash
undefined
推荐方式 — run_actor.js(自动处理等待、输出和文件保存):
bash
undefined

Quick answer (prints table to chat)

Quick answer (prints table to chat)

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

Save as CSV

Save as CSV

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

Save as JSON

Save as JSON

node scripts/run_actor.js
--actor "apidojo~twitter-user-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~twitter-user-scraper" Input: { "usernames": ["[handle1]", "[handle2]", "[handle3]", "[your_handle]"] }

**REST API fallback:**
```bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~twitter-user-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["[handle1]", "[handle2]"]}'
Key fields to extract:
followersCount
,
followingCount
,
statusesCount
,
createdAt
,
verified
.
node scripts/run_actor.js
--actor "apidojo~twitter-user-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.json --format json
> `APIFY_TOKEN`必须在环境变量或`.env`文件中设置。

**若Apify MCP可用:**
Tool: apify:run-actor Actor: "apidojo~twitter-user-scraper" Input: { "usernames": ["[handle1]", "[handle2]", "[handle3]", "[your_handle]"] }

**REST API备选方案:**
```bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~twitter-user-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["[handle1]", "[handle2]"]}'
需提取的关键字段:
followersCount
followingCount
statusesCount
createdAt
verified

Step 3: Scrape TikTok Profiles

步骤3:抓取TikTok个人主页

If Apify MCP is available:
Tool: apify:run-actor
Actor: "apidojo~tiktok-profile-scraper"
Input:
{
  "usernames": ["[handle1]", "[handle2]", "[handle3]"]
}
REST API fallback:
bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tiktok-profile-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["[handle1]", "[handle2]"]}'
Key fields:
fans
(followers),
heart
(total likes),
video
(video count),
diggCount
.
若Apify MCP可用:
Tool: apify:run-actor
Actor: "apidojo~tiktok-profile-scraper"
Input:
{
  "usernames": ["[handle1]", "[handle2]", "[handle3]"]
}
REST API备选方案:
bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tiktok-profile-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["[handle1]", "[handle2]"]}'
关键字段:
fans
(粉丝数)、
heart
(总点赞数)、
video
(视频数量)、
diggCount

Step 4: Scrape Instagram Profiles

步骤4:抓取Instagram个人主页

If Apify MCP is available:
Tool: apify:run-actor
Actor: "apidojo~instagram-scraper"
Input:
{
  "usernames": ["[handle1]", "[handle2]"],
  "maxItems": 12
}
REST API fallback:
bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~instagram-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["[handle1]", "[handle2]"], "maxItems": 12}'
Key fields:
followersCount
,
followsCount
,
postsCount
,
biography
.
若Apify MCP可用:
Tool: apify:run-actor
Actor: "apidojo~instagram-scraper"
Input:
{
  "usernames": ["[handle1]", "[handle2]"],
  "maxItems": 12
}
REST API备选方案:
bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~instagram-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["[handle1]", "[handle2]"], "maxItems": 12}'
关键字段:
followersCount
followsCount
postsCount
biography

Step 5: Compile Report

步骤5:生成报告

Calculate engagement rate per account per platform. Compare all on one view.
计算每个账号在各平台的互动率,将所有数据整合到同一视图中进行对比。

Output Format

输出格式

undefined
undefined

Competitive Social Media Analysis

Competitive Social Media Analysis

Competitors: [N] | Platforms: [list] | Date: [DATE]
Competitors: [N] | Platforms: [list] | Date: [DATE]

Cross-Platform Follower Summary

Cross-Platform Follower Summary

CompetitorTwitter FollowersTikTok FollowersInstagram FollowersTotal Reach
[Your Brand][N][N][N][N]
Competitor A[N][N][N][N]
Competitor B[N][N][N][N]
CompetitorTwitter FollowersTikTok FollowersInstagram FollowersTotal Reach
[Your Brand][N][N][N][N]
Competitor A[N][N][N][N]
Competitor B[N][N][N][N]

Platform-by-Platform Analysis

Platform-by-Platform Analysis

Twitter/X

Twitter/X

AccountFollowersFollowingTweetsEng. RateVerified
@[handle][N][N][N][X.X%][Y/N]
Leader: [handle] with [N] followersMost engaged: [handle] at [X.X%]
AccountFollowersFollowingTweetsEng. RateVerified
@[handle][N][N][N][X.X%][Y/N]
Leader: [handle] with [N] followersMost engaged: [handle] at [X.X%]

TikTok

TikTok

AccountFollowersTotal LikesVideosAvg Views
@[handle][N][N][N][N]
Leader: [handle]Most viral: [handle]
AccountFollowersTotal LikesVideosAvg Views
@[handle][N][N][N][N]
Leader: [handle]Most viral: [handle]

Instagram

Instagram

AccountFollowersPostsAvg LikesEng. Rate
@[handle][N][N][N][X.X%]
AccountFollowersPostsAvg LikesEng. Rate
@[handle][N][N][N][X.X%]

Key Takeaways

Key Takeaways

  1. [Competitor] is winning on [platform] — [brief insight]
  2. [Your brand] has [strength/gap] on [platform]
  3. Biggest opportunity: [specific platform + action]
undefined
  1. [Competitor] is winning on [platform] — [brief insight]
  2. [Your brand] has [strength/gap] on [platform]
  3. Biggest opportunity: [specific platform + action]
undefined

Setting Up Recurring Tracking

设置定期跟踪

To track growth over time, run this skill weekly and store the output. The delta between runs shows growth velocity. For automated weekly tracking, use a scheduled task to run this skill every Monday at 9am.
要长期跟踪增长情况,每周运行此工具并保存输出结果。两次运行之间的差值即为增长速度。若要实现每周自动跟踪,可设置定时任务,在每周一上午9点运行此工具。

Troubleshooting

故障排除

Missing platform handles: Ask the user to provide handles per platform — they often differ from brand name. One platform returns no data: Private accounts or accounts that don't exist on that platform. Confirm handle accuracy.
缺少平台账号: 请用户提供各平台的账号 — 这些账号通常与品牌名称不同。 某平台无数据返回: 可能是账号设为私有或该平台上不存在此账号。请确认账号的准确性。