apidojo-io/apidojo-skills

analyzing-competitor-tiktok-content-strategy

Analyzes a competitor's TikTok content strategy and top-performing videos using apidojo's scrapers on Apify.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

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

ParameterTypeRequiredDefaultNotes
startUrlsarrayOptional[]TikTok URLs — user profiles, hashtags, music pages, search, locations
keywordsarrayOptional[]Search keywords/terms to find posts
sortTypestringOptionalRELEVANCESort order for keyword results: RELEVANCE, MOST_LIKED, DATE_POSTED
locationstringOptionalISO 3166-1 alpha-2 country code for regional filtering (e.g. US, GB)
maxItemsnumberOptionalUnlimitedMaximum posts to return across the run
includeSearchKeywordsbooleanOptionalfalseAdd the matched search keyword field to each post
customMapFunctionstringOptionalJavaScript 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.

from this repository

More skills

All skills
apidojo-io
Community

building-twitter-prospect-lists

Builds targeted B2B prospect lists from Twitter/X profiles and posts using apidojo's Twitter scrapers on Apify. Triggers when the user asks to: find Twitter users with a specific job title or keyword in bio, build a list of founders or executives on Twitter, find people tweeting about a topic for outreach, identify potential customers on X, scrape Twitter profiles matching an ICP description, find decision-makers in a specific industry on Twitter, or export a list of leads from Twitter bios. Returns name, username, bio, follower count, location, and recent tweet samples per prospect. Ideal for B2B SDRs, growth hackers, founder-led sales teams, and partnership managers.

installs
1
GitHub stars
0
Updated
May 13
apidojo-io
Community

extracting-google-paa-questions-for-seo

Extracts Google People Also Ask questions for SEO content planning using apidojo's Google Search scraper on Apify. Triggers when the user asks to: find People Also Ask questions on Google for SEO, extract PAA questions for keyword research, discover what questions Google shows for a topic, find long-tail SEO questions from Google, research FAQ content opportunities from Google SERP, build a list of questions to answer in blog content from Google, or extract Google autocomplete and PAA data for content planning. Returns PAA questions, SERP position, related keywords, and content structure recommendations. Ideal for SEO strategists, content writers, and blog editors building search-optimized content.

installs
1
GitHub stars
0
Updated
May 13
apidojo-io
Community

extracting-tiktok-comments-for-research

Extracts and analyzes TikTok comments from any video or creator using apidojo's TikTok Comments scraper on Apify. Triggers when the user asks to: scrape TikTok comments from a video, analyze what viewers say about a TikTok post, extract comment data for sentiment analysis, find top comments on a viral TikTok video, collect TikTok user feedback from comments, build a dataset of TikTok community reactions, study audience sentiment on TikTok content, or research what a target audience cares about from TikTok comments. Returns commenter username, comment text, likes on comment, reply count, and timestamp. Ideal for market researchers, brand managers, content creators, and academic researchers.

installs
1
GitHub stars
0
Updated
May 13
apidojo-io
Community

finding-speaking-opportunities-on-twitter

Finds speaking opportunities and event organizer contacts on Twitter using apidojo's Twitter scrapers. Triggers when the user asks to: find speaking opportunities on Twitter, discover conferences looking for speakers on X, find event organizers calling for speaker submissions, identify call-for-speakers announcements in an industry on Twitter, find podcast or summit hosts looking for guests, discover virtual event opportunities for thought leadership, or build a speaking opportunity pipeline from Twitter. Returns event name, organizer handle, topic focus, deadline signals, event size, and submission URL. Ideal for startup founders, executives, coaches, and consultants building thought leadership through speaking.

installs
1
GitHub stars
0
Updated
May 13