Skip to main content
skill CX Codex

tracking-competitor-social-media-growth — Claude Code skill

Pulls follower counts and engagement for competitor accounts on Twitter/X, TikTok and Instagram, then lines them up side by side. Useful when you need to compare how accounts grow.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add apidojo-io/apidojo-skills --skill tracking-competitor-social-media-growth -a claude-code
Open on GitHub

What tracking-competitor-social-media-growth does

The skill collects current follower numbers and engagement metrics for competitor accounts across Twitter/X, TikTok and Instagram, then builds a side-by-side comparison. Each competitor row carries platform, handle, follower count, growth indicators and engagement benchmarks. Run it on a schedule and the delta between runs shows growth velocity.

Five steps sit inside: clarify competitor handles and platforms, scrape Twitter/X profiles, then TikTok, then Instagram, and finally compile a cross-platform report with tables and takeaways. Scraping runs through apidojo actors on Apify — apidojo~twitter-user-scraper, apidojo~tiktok-profile-scraper, apidojo~instagram-scraper. A bundled scripts/run_actor.js handles waiting, output and file saving, so you can drop results into CSV or JSON.

An APIFY_TOKEN environment variable is required; without it the run fails. With the Apify MCP server installed, steps go through the apify:run-actor tool, otherwise you fall back to the REST API with curl. Handles rarely match across networks, so the skill asks for them per platform.

What it helps with

  • compare follower counts across three social networks
  • measure growth velocity between two runs
  • work out engagement rate per competitor
  • build a report on who leads on a given platform
  • set up weekly monitoring of competitor accounts

Example prompts for the agent

  • Compare follower growth for @competitorA and @competitorB on Twitter and TikTok
  • Build a report on competitor followers and engagement on Instagram
  • Run this for my account and three competitors, save the output as CSV

How to install tracking-competitor-social-media-growth

1Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill tracking-competitor-social-media-growth -a claude-code

2Manually: put the files in place

~/.claude/skills/tracking-competitor-social-media-growth/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/tracking-competitor-social-media-growth/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about tracking-competitor-social-media-growth

How do I install tracking-competitor-social-media-growth in Claude?

Run npx skills add apidojo-io/apidojo-skills --skill tracking-competitor-social-media-growth -a claude-code. The skill lands in ~/.claude/skills/tracking-competitor-social-media-growth/SKILL.md.

What does tracking-competitor-social-media-growth do?

It scrapes competitor profiles on Twitter/X, TikTok and Instagram and puts followers, growth and engagement into one comparison table.

What do I need before running it?

An APIFY_TOKEN environment variable. If the Apify MCP server is available, runs go through apify:run-actor; otherwise they use the REST API.

Source text

SKILL.md · Apache-2.0
---
name: tracking-competitor-social-media-growth
description: >
  Tracks and compares competitor follower growth across social platforms using apidojo's scrapers on Apify.
  Triggers when the user asks to: compare competitor social media growth, track how fast a competitor is
  growing on Twitter, TikTok, or Instagram, benchmark social media performance against competitors,
  monitor competitor follower counts over time, analyze a competitor's social media strategy, build a
  competitive social media analysis report, or see which competitor is winning on social.
  Returns platform, handle, follower count, growth indicators, and engagement benchmarks per competitor.
  Ideal for competitive intelligence analysts, CMOs, and growth strategy teams.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actors: apidojo/twitter-user-scraper, apidojo/tiktok-profile-scraper, apidojo/instagram-scraper
---

# 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):**
```bash
# 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:**
```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`.

### 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:**
```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`.

### 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:**
```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`.

### 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.

© apidojo · Apache-2.0 · apidojo-io/apidojo-skills

Similar skills

Everything for Marketing and content →

From the same set22

monitoring-twitter-for-competitor-job-posts Tracks competitor hiring tweets on X and turns them into growth signals: who is hiring, for what role, and when. CX Codex +1 786installs analyzing-competitor-twitter-profile-content This skill pulls a competitor's or brand's tweet history through Apify and ranks posts by engagement. Useful when you need to see what a rival actually posts. CX Codex +1 784installs building-journalist-outreach-list-from-twitter Builds journalist and media contact lists for a given beat by scraping Twitter/X through Apify. Useful when you need names before a press pitch. CX Codex +1 780installs finding-ecommerce-brands-for-outreach Builds a list of e-commerce and DTC brands on Instagram and TikTok by product-category hashtags. Useful when you need an outreach list instead of scrolling profiles by hand. CX Codex +1 776installs discovering-tiktok-shop-sellers-by-niche Maps TikTok Shop sellers and products in a niche: who promotes what, which items move, where the gaps are. CX Codex +1 770installs tracking-brand-sentiment-across-platforms Pulls brand mentions from Twitter, Reddit and TikTok, scores sentiment per platform, and returns one brand health number from 0 to 100. CX Codex +1 767installs finding-tiktok-creators-by-location Finds TikTok creators and their videos by geographic location through apidojo's scraper on Apify. Useful for local campaigns and regional research. CX Codex +1 766installs tracking-google-serp-rankings A skill that pulls Google results for a keyword list: positions, URLs, titles, snippets and SERP features. Useful for SEO audits and competitor checks. CX Codex +1 763installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor