Skip to main content
skill CX Codex

analyzing-competitor-tiktok-content-strategy — Claude Code skill

This skill examines a competitor’s TikTok account, covering videos, posting cadence, hashtags, hooks, and engagement. Use it for content strategy research.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add apidojo-io/apidojo-skills --skill analyzing-competitor-tiktok-content-strategy -a claude-code
Open on GitHub

What analyzing-competitor-tiktok-content-strategy does

The skill uses Apify scrapers to inspect a competitor’s TikTok presence. It gathers account metrics and recent posts, then surfaces high-view videos, publishing frequency, recurring hashtags, content themes, and engagement signals.

Its workflow covers five stages: collect account handles, run tiktok-profile-scraper, fetch videos with tiktok-scraper, detect content patterns, and produce a strategy report. The result can include views, likes, comments, shares, caption hooks, format categories, and posting-rate calculations.

APIFY_TOKEN must be available in the environment or in .env. Without it, run_actor.js cannot start an actor; an installed Apify MCP server enables runs through apify:run-actor.

What it helps with

  • audit a competitor’s TikTok profile
  • identify the highest-view videos
  • measure a brand’s posting cadence
  • group videos by topic and format
  • compare content strategies across accounts

Example prompts for the agent

  • Analyze TikTok competitor @brandname and report its top videos, posting cadence, and main hashtags.
  • Compare the TikTok content strategies of @brandone, @brandtwo, and @brandthree.
  • Review the competitor’s recent posts and find recurring hooks linked to strong engagement.

How to install analyzing-competitor-tiktok-content-strategy

1Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill analyzing-competitor-tiktok-content-strategy -a claude-code

2Manually: put the files in place

~/.claude/skills/analyzing-competitor-tiktok-content-strategy/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/analyzing-competitor-tiktok-content-strategy/

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

Questions about analyzing-competitor-tiktok-content-strategy

How do I install analyzing-competitor-tiktok-content-strategy in Claude Code?

Run npx skills add apidojo-io/apidojo-skills --skill analyzing-competitor-tiktok-content-strategy -a claude-code. The installed skill is then available at ~/.claude/skills/analyzing-competitor-tiktok-content-strategy/SKILL.md.

What does analyzing-competitor-tiktok-content-strategy do?

It uses Apify to collect TikTok profile and video data, then examines views, posting cadence, hashtags, topics, hooks, and engagement patterns.

What does the skill require to run?

Set APIFY_TOKEN in the environment or .env. With Apify MCP installed, the skill can also launch actors through apify:run-actor.

Source text

SKILL.md · Apache-2.0
---
name: analyzing-competitor-tiktok-content-strategy
description: >
  Analyzes a competitor's TikTok content strategy and top-performing videos using apidojo's scrapers on Apify.
  Triggers when the user asks to: see what content a competitor posts on TikTok, analyze which TikTok
  videos perform best for a brand, reverse-engineer a competitor's TikTok strategy, find out how often
  a competitor posts and what gets the most engagement, study a brand's TikTok presence, compare TikTok
  content strategies across competing brands, or find out what topics a competitor covers on TikTok.
  Returns video topics, post frequency, avg views, top hooks, hashtags used, and engagement patterns.
  Ideal for social media strategists, content teams, and competitive intelligence analysts.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actors: apidojo/tiktok-scraper, apidojo/tiktok-profile-scraper
---

# Analyzing Competitor TikTok Content Strategy

Scrapes a competitor's TikTok profile to pull their recent videos, engagement data, posting patterns, and hashtag usage. Reverse-engineers what's working for them so you can learn from it or differentiate against it.

## Prerequisites

- `APIFY_TOKEN` environment 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: Get competitor TikTok handle(s)
- [ ] Step 2: Pull profile stats with tiktok-profile-scraper
- [ ] Step 3: Pull recent videos with tiktok-scraper
- [ ] Step 4: Identify top-performing content patterns
- [ ] Step 5: Deliver content strategy analysis
```

### Step 1: Clarify Parameters

Ask the user for:
- **Competitor TikTok handle(s)** — up to 5 accounts (without @)
- **Number of recent videos** to analyze (default: 50 — last 2-3 months of content)
- **Analysis focus** — top content, posting cadence, hashtag strategy, or all three

### Step 2: Pull Profile Stats


**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~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 json
```
> `APIFY_TOKEN` must be set in environment or `.env` file.

**If Apify MCP is available:**
```
Tool: apify:run-actor
Actor: "apidojo~tiktok-profile-scraper"
Input:
{
  "usernames": ["[handle1]", "[handle2]"]
}
```

**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]"]}'
```

Extract: `fans`, `heart` (total likes), `video` count, `following`, bio text.

### Step 3: Pull Recent Videos

**If Apify MCP is available:**
```
Tool: apify:run-actor
Actor: "apidojo~tiktok-scraper"
Input:
{
  "profiles": ["https://www.tiktok.com/@[handle1]", "https://www.tiktok.com/@[handle2]"]
}
```

**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 '{
    "profiles": ["https://www.tiktok.com/@[handle1]"]
  }'
```

### Step 4: Analyze Content Patterns

From the video dataset, extract:

**Top 10 videos by play count:**
- Title/caption, views, likes, comments, shares, date, hashtags

**Posting frequency:**
```
dates = [video.createTimeISO for each video]
days_covered = max(dates) - min(dates)
posting_rate = total_videos / days_covered (posts per day)
```

**Hashtag analysis:**
Extract all hashtags across videos. Count frequency. Top 10 = their core hashtag strategy.

**Content format patterns:**
From captions, classify videos into buckets:
- Educational/Tutorial (contains: "how to", "tips", "learn", numbers like "5 ways")
- Entertainment/Humor (reactions, trends, dances)
- Promotional (product mentions, CTAs, "link in bio")
- Behind-the-scenes (BTS, day-in-life, founder story)
- UGC/Response (reply to comment format)

**Hook patterns in top videos:**
Look at the first line of captions in the top 10 videos. What do they have in common?

### Step 5: Format Analysis

## Output Format

```
# TikTok Content Strategy Analysis: @[COMPETITOR]
Videos analyzed: [N] | Period: [start]–[end] | Date: [DATE]

## Account Overview
Followers: [N] | Total likes: [N] | Videos posted: [N] | Avg likes per video: [N]
Overall engagement rate: [X.X%]

## Posting Pattern
- Frequency: [X] videos per week
- Best-performing days: [day], [day] (based on publish date of top videos)
- Average video length: [X] seconds (if available)

## Top 5 Videos (by Views)
| # | Caption Excerpt | Views | Likes | Comments | Hashtags | Date |
|---|----------------|-------|-------|----------|----------|------|
| 1 | "[caption]"   | [N]   | [N]   | [N]      | [tags]   | [date] |

## Content Mix
| Format | % of Videos | Avg Views |
|--------|-------------|-----------|
| Educational | [X%] | [N] |
| Entertainment | [X%] | [N] |
| Promotional | [X%] | [N] |
| BTS/Story | [X%] | [N] |

## Top Hashtags Used
1. #[tag] — used in [N] of [total] videos
2. #[tag] — [N] videos
3. #[tag] — [N] videos

## Hook Patterns in Top Content
- Top performing hooks start with: [pattern — e.g., questions, numbers, bold claims]
- Example: "[first line of top video]"

## What's Working for Them
1. [Insight 1 — specific, actionable]
2. [Insight 2]
3. [Insight 3]

## Gap / Differentiation Opportunity
[What they're NOT doing that could be a strategic opening]
```

## Troubleshooting

**Profile scraper returns no videos:** The account may have few posts or have gone inactive. Check the handle.
**Top videos all very old:** Account may have slowed down. Note this in the analysis.
**Hashtags missing from results:** Some captions don't use hashtags. Analyze caption text for topic signals instead.

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

Similar skills

Everything for Marketing and content →

From the same set57

scraping-tiktok-comments Exports the comment dataset of any TikTok video through apidojo's scraper on Apify: author, text, likes, replies, timestamp. Handy when you need to read what viewers actually wrote. CX Codex +1 778installs discovering-viral-tiktok-content-trends This skill finds viral TikTok formats in a chosen niche and breaks down hashtags, reach, engagement, and hooks. Use it when planning content angles. CX Codex +1 777installs analyzing-competitor-youtube-content-strategy Audits a competitor’s YouTube strategy by topic, format, publishing cadence, views, and engagement. Use it to compare two channels or find content gaps. CX Codex +1 776installs 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 tracking-competitor-social-media-growth 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. CX Codex +1 771installs finding-affiliate-marketers-on-social-media Finds affiliate marketers and performance creators on Instagram and TikTok through apidojo scrapers. Useful when you are building a recruitment list for an affiliate program. CX Codex +1 770installs 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-startup-founders-on-twitter Finds startup founders on Twitter by industry or niche and gathers details about their companies and activity. Use it to build a list of accounts to follow. CX Codex +1 769installs

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