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

  1. Engagement rate below 1% with 100K+ followers: likely bought followers
  2. Wildly inconsistent engagement: possible use of engagement pods or bots
  3. High following-to-follower ratio: follow-for-follow growth (low quality)
  4. 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.