The Problem
Brands lack visibility into competitor TikTok strategies: posting frequency, content types that perform best, hashtag usage, and audience engagement patterns. Manual competitor monitoring cannot track more than 2-3 accounts.
The Scavio Solution
Pull competitor profiles, recent posts with engagement data, and comment samples via API. Calculate engagement rates, identify top-performing content themes, and track posting cadence. Cost: $0.15/competitor for comprehensive analysis.
Before
Before API-based analysis, a marketing team manually checked 3 competitor TikTok accounts weekly. They missed a competitor's pivot to short-form tutorials that doubled their engagement rate.
After
After implementing competitor tracking, the team monitors 10 competitors weekly. Profile + 3 pages of posts + top video comments = $0.15/competitor. Total: $1.50/week. They detect the tutorial pivot within one week and adapt their strategy.
Who It Is For
Social media managers, marketing strategists, competitive intelligence teams, and brand managers monitoring competitor TikTok activity.
Key Benefits
- Track 10 competitors weekly for $1.50
- Engagement rate trends reveal strategy shifts
- Content type analysis shows what format works
- Comment analysis reveals audience reception
- Posting frequency tracking detects cadence changes
Python Example
import requests, os
H = {'Authorization': f'Bearer {os.environ["SCAVIO_API_KEY"]}', 'Content-Type': 'application/json'}
def analyze_competitor(username):
p = requests.post('https://api.scavio.dev/api/v1/tiktok/profile',
headers=H, json={'username': username}).json()['data']['user']
posts = requests.post('https://api.scavio.dev/api/v1/tiktok/user/posts',
headers=H, json={'sec_user_id': p['sec_uid'], 'count': 20}).json()['data']
videos = posts.get('videos', [])
return {
'username': p['unique_id'], 'followers': p['follower_count'],
'recent_posts': len(videos),
'avg_plays': int(sum(v['stats']['playCount'] for v in videos) / max(len(videos), 1)),
'avg_likes': int(sum(v['stats']['diggCount'] for v in videos) / max(len(videos), 1)),
'top_video': max(videos, key=lambda v: v['stats']['playCount'])['desc'][:50] if videos else '',
}
for comp in ['competitor_a', 'competitor_b']:
print(analyze_competitor(comp))JavaScript Example
const H = {'Authorization': `Bearer ${process.env.SCAVIO_API_KEY}`, 'Content-Type': 'application/json'};
async function analyzeCompetitor(username) {
const p = await fetch('https://api.scavio.dev/api/v1/tiktok/profile', {
method: 'POST', headers: H, body: JSON.stringify({username})
}).then(r => r.json());
const u = p.data.user;
const posts = await fetch('https://api.scavio.dev/api/v1/tiktok/user/posts', {
method: 'POST', headers: H, body: JSON.stringify({sec_user_id: u.sec_uid, count: 20})
}).then(r => r.json());
const vids = posts.data.videos || [];
return {username: u.unique_id, followers: u.follower_count,
avgPlays: Math.round(vids.reduce((s, v) => s + v.stats.playCount, 0) / (vids.length || 1))};
}
analyzeCompetitor('competitor_a').then(console.log);Platforms Used
TikTok
Trending video, creator, and product discovery