tiktokcreatoraudit
TikTok Creator Audit Before Brand Deals: API Approach
Before paying $500-50K for a TikTok brand deal, audit follower authenticity, engagement patterns, and content history via API. Cost: $0.01 per creator audit.
9 min
Before paying a TikTok creator $500-50,000 for a brand deal, audit their account using API data: check follower authenticity, engagement consistency, content history, and audience demographics. Manual profile checks miss fake followers and engagement manipulation. API-based audits catch patterns humans cannot see at scale.
What to check before a brand deal
- Follower-to-engagement ratio (healthy: 2-8% engagement rate)
- Engagement consistency across recent posts (not just viral outliers)
- Content history: do they post in your niche consistently?
- Follower growth pattern: steady growth vs sudden spikes (bought followers)
- Comment quality: real comments vs bot-generated generic phrases
Creator audit via TikTok API
Python
import requests
def audit_creator(username: str) -> dict:
"""Comprehensive creator audit before brand deal."""
# Get creator profile
profile_resp = requests.post(
"https://api.scavio.dev/api/v1/tiktok/user/info",
headers={"Authorization": "Bearer YOUR_KEY"},
json={"username": username}
)
profile = profile_resp.json().get("data", {}).get("user", {})
followers = profile.get("stats", {}).get("followerCount", 0)
following = profile.get("stats", {}).get("followingCount", 0)
total_likes = profile.get("stats", {}).get("heartCount", 0)
# Get recent posts for engagement analysis
posts_resp = requests.post(
"https://api.scavio.dev/api/v1/tiktok/user/posts",
headers={"Authorization": "Bearer YOUR_KEY"},
json={"username": username, "count": 20}
)
posts = posts_resp.json().get("data", {}).get("videos", [])
# Calculate engagement metrics
engagement_rates = []
for post in posts:
stats = post.get("stats", {})
views = stats.get("playCount", 0)
if views > 0:
engagement = (
stats.get("diggCount", 0) +
stats.get("commentCount", 0) +
stats.get("shareCount", 0)
) / views * 100
engagement_rates.append(engagement)
avg_engagement = sum(engagement_rates) / len(engagement_rates) if engagement_rates else 0
engagement_std = (
sum((x - avg_engagement) ** 2 for x in engagement_rates) / len(engagement_rates)
) ** 0.5 if len(engagement_rates) > 1 else 0
return {
"username": username,
"followers": followers,
"following": following,
"total_likes": total_likes,
"avg_engagement_rate": round(avg_engagement, 2),
"engagement_consistency": round(engagement_std, 2),
"posts_analyzed": len(posts),
"red_flags": _check_red_flags(followers, following, avg_engagement, engagement_std)
}
def _check_red_flags(followers, following, avg_eng, eng_std):
flags = []
if followers > 10000 and avg_eng < 1.0:
flags.append("Low engagement for follower count (possible fake followers)")
if following > followers * 0.8:
flags.append("Following ratio too high (follow-for-follow pattern)")
if eng_std > avg_eng * 2:
flags.append("Engagement wildly inconsistent (possible manipulation)")
return flags
audit = audit_creator("creator_username")
print(f"Avg engagement: {audit['avg_engagement_rate']}%")
print(f"Red flags: {audit['red_flags']}")
Batch audit multiple creators
JavaScript
// Compare multiple creators for a campaign
async function batchAudit(usernames) {
const results = [];
for (const username of usernames) {
const profileResp = await fetch(
"https://api.scavio.dev/api/v1/tiktok/user/info",
{
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.SCAVIO_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({ username })
}
);
const profile = await profileResp.json();
const stats = profile.data?.user?.stats || {};
results.push({
username,
followers: stats.followerCount || 0,
totalLikes: stats.heartCount || 0,
likesToFollowerRatio: stats.followerCount > 0
? (stats.heartCount / stats.followerCount).toFixed(1)
: 0
});
}
// Sort by likes-to-follower ratio (higher = more authentic engagement)
return results.sort((a, b) => b.likesToFollowerRatio - a.likesToFollowerRatio);
}
What the audit reveals
- Engagement rate below 1% with 100K+ followers: likely bought followers
- Wildly inconsistent engagement: possible use of engagement pods or bots
- High following-to-follower ratio: follow-for-follow growth (low quality)
- Content not in your niche: audience mismatch for your brand
Cost per audit
Profile check + 20 recent posts = 2 API calls = $0.01 per creator. Auditing 100 potential creators for a campaign: $1.00 total. Compare to manual review: 10-15 minutes per creator = 16-25 hours.