SuperAPI AI Directory

tracking-competitor-social-media-growth

Marketing & growth

View repository

Updated 10-15 16:51

About this skill

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.

Prerequisites

  • APIFY_TOKEN environment variable set
  • Optional: Apify MCP server installed

Inputs

Parameter Type Required Default Notes
startUrls array Optional [] Twitter profile or tweet URLs
twitterHandles array Optional [] Twitter usernames (without @)
twitterUserIds array Optional [] Twitter user IDs
getFollowers boolean Optional false Extract follower lists
getFollowing boolean Optional false Extract following lists
getRetweeters boolean Optional false Extract retweeters of a tweet URL
includeUnavailableUsers boolean Optional false Include unavailable/suspended users
maxItems number Optional Unlimited Maximum users to return
customMapFunction string Optional — JavaScript function to transform each output object

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

Step 1: Clarify Parameters

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)

Step 2: Scrape Twitter/X Profiles

Recommended — run_actor.js (handles waiting, output, and file saving automatically):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~twitter-user-scraper" \
  --input '{"param": "value"}'

# Save as 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
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:

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.

Step 3: Scrape TikTok Profiles

If Apify MCP is available:

Tool: apify:run-actor
Actor: "apidojo~tiktok-profile-scraper"
Input:
{
  "usernames": ["[handle1]", "[handle2]", "[handle3]"]
}

REST API fallback:

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.

Step 4: Scrape Instagram Profiles

If Apify MCP is available:

Tool: apify:run-actor
Actor: "apidojo~instagram-scraper"
Input:
{
  "usernames": ["[handle1]", "[handle2]"],
  "maxItems": 12
}

REST API fallback:

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.

Step 5: Compile Report

Calculate engagement rate per account per platform. Compare all on one view.

Output Format

# Competitive Social Media Analysis
Competitors: [N] | Platforms: [list] | Date: [DATE]

## Cross-Platform Follower Summary

| Competitor | Twitter Followers | TikTok Followers | Instagram Followers | Total Reach |
|------------|-------------------|------------------|---------------------|-------------|
| [Your Brand] | [N]             | [N]              | [N]                 | [N]         |
| Competitor A | [N]             | [N]              | [N]                 | [N]         |
| Competitor B | [N]             | [N]              | [N]                 | [N]         |

## Platform-by-Platform Analysis

### Twitter/X
| Account | Followers | Following | Tweets | Eng. Rate | Verified |
|---------|-----------|-----------|--------|-----------|----------|
| @[handle] | [N]     | [N]       | [N]    | [X.X%]    | [Y/N]    |
**Leader:** [handle] with [N] followers | **Most engaged:** [handle] at [X.X%]

### TikTok
| Account | Followers | Total Likes | Videos | Avg Views |
|---------|-----------|-------------|--------|-----------|
| @[handle] | [N]     | [N]         | [N]    | [N]       |
**Leader:** [handle] | **Most viral:** [handle]

### Instagram
| Account | Followers | Posts | Avg Likes | Eng. Rate |
|---------|-----------|-------|-----------|-----------|
| @[handle] | [N]     | [N]   | [N]       | [X.X%]    |

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

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.

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.