How to Track Competitors on TikTok
To track competitors on TikTok, collect each rival account's recent videos on a schedule with apidojo's TikTok Profile Scraper on Apify, store them with their views, likes, comments, shares and saves, and compare the accounts weekly.

To track competitors on TikTok, collect each rival account’s recent videos on a schedule with apidojo’s TikTok Profile Scraper on Apify, store them with their views, likes, comments, shares and saves, and compare the accounts weekly. You’ll see who posts most, what performs best, which formats and sounds they use, and how their audiences grow.
TikTok analytics only covers your own account, so competitor tracking runs on public data. This guide builds a weekly competitor report: what to measure, how to collect it, and how to read it. Your own analytics are covered in how to see TikTok analytics. This guide extends the recurring pattern in how to monitor TikTok trends with an API. The same pipeline finds new names too, in how to find TikTok influencers by niche with data.
What Should You Track About TikTok Competitors?
Track 6 things per competitor: posting volume, median views, engagement rate, top posts, formats and follower growth. The table shows where each comes from in the scraped data (Apify).
| Metric | Fields |
|---|---|
| Posts per week | Count of id by uploadedAtFormatted week |
| Median views | Median of views |
| Engagement rate | likes, comments, shares, bookmarks over views |
| Top posts | Highest views or engagement in the week |
| Formats and sounds | video.duration, song.title, hashtags |
| Follower growth | channel.followers across weekly snapshots |
How Do You Collect Competitors’ TikTok Data?
Run the Profile Scraper weekly with your competitors’ usernames and a cap that covers a week or two of posts each. Store every run, keyed by video ID, so later runs update the numbers on older videos.
import json, os, pathlib, datetime as dt
from apify_client import ApifyClient
COMPETITORS = ["rival1", "rival2", "rival3"]
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("apidojo/tiktok-profile-scraper").call(run_input={
"usernames": COMPETITORS,
"maxItems": 30 * len(COMPETITORS),
})
store = pathlib.Path("competitor_videos.json")
videos = json.loads(store.read_text()) if store.exists() else {}
for v in client.dataset(run.default_dataset_id).iterate_items():
v["checked"] = dt.date.today().isoformat()
videos[v["id"]] = v
store.write_text(json.dumps(videos))
Profile collection is covered in how to scrape TikTok profiles and their videos.
How Do You Turn the Data Into a Weekly Report?
Group the stored videos by competitor and week, then compare posting volume, median views and engagement.
import pandas as pd
df = pd.json_normalize(list(videos.values()))
df["week"] = pd.to_datetime(df["uploadedAtFormatted"]).dt.to_period("W")
df["er"] = (df["likes"] + df["comments"] + df["shares"] + df["bookmarks"]) / df["views"] * 100
report = df.groupby(["channel.username", "week"]).agg(
posts=("id", "count"),
median_views=("views", "median"),
median_er=("er", "median"),
followers=("channel.followers", "max"),
)
print(report.tail(12))
Compare like with like: a video posted yesterday hasn’t finished collecting views, so judge each week’s videos once they’re at least a few days old. The engagement formula is explained in how to calculate TikTok engagement rate.
What Should You Look For in Competitor Data?
Look for patterns you can act on, not just who’s ahead. Listed below are the 5 questions a weekly report should answer.
- Which topics or formats got each competitor’s best views this month?
- Which sounds and hashtags keep appearing in their top posts?
- How often do they post, and does frequency track with views?
- What video length performs best for them?
- What do commenters say on their top posts? See how to analyse TikTok comment sentiment.
What Does Competitor Tracking Cost?
Tracking 3 competitors weekly, with up to 30 posts each, collects about 90 posts a week, which costs under $0.03 a week at $0.30 per 1,000 posts. Ten competitors with 50 posts each come to $0.15 a week (Apify).
Questions people ask
Can you see a competitor's TikTok analytics?
No, analytics are private; public views, likes, comments, shares and saves are enough to benchmark.
Can you see a competitor's TikTok ads?
TikTok's ad library and the Commercial Content API cover ads shown in the EU; see TikTok API in 2026.
How often should you check competitors?
Weekly is enough for most brands; daily during launches or campaigns.