Workflow

Daily TikTok Creator Vetting Pipeline

Workflow that vets TikTok creators daily by analyzing their content, engagement, follower quality, and brand safety signals before sponsorship deals.

Overview

Brands sign TikTok creators based on follower counts alone, then get burned by bot followers, controversial content, or engagement manipulation. This workflow vets creators daily: pull their recent posts, analyze engagement rates, check comment sentiment, and flag brand safety risks. Run it before committing any sponsorship budget. Cost: about $0.35 per full creator audit.

Trigger

Daily at 9 AM, or on-demand per creator evaluation batch.

Schedule

Daily 9 AM

Workflow Steps

1

Load Creator Shortlist

Read the list of TikTok creators under evaluation from a spreadsheet or JSON file.

2

Fetch Creator Profiles

Pull each creator's profile data: follower count, following count, total likes, and bio.

3

Analyze Recent Posts

Fetch last 20 posts per creator. Calculate average views, likes, and comment counts.

4

Check Engagement Quality

Compare engagement rate against niche averages. Flag creators with suspicious patterns (high followers, low engagement).

5

Output Vetting Report

Generate a per-creator scorecard with engagement rate, follower quality estimate, and brand safety flags.

Python Implementation

Python
import requests, os, json

API_KEY = os.environ["SCAVIO_API_KEY"]
TH = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

CREATORS = ["creator_username_1", "creator_username_2", "creator_username_3"]

def fetch_creator_profile(username: str) -> dict:
    resp = requests.post(
        "https://api.scavio.dev/api/v1/tiktok/profile",
        headers=TH,
        json={"username": username},
        timeout=15,
    )
    return resp.json()

def fetch_creator_posts(username: str) -> list:
    resp = requests.post(
        "https://api.scavio.dev/api/v1/tiktok/user-posts",
        headers=TH,
        json={"username": username, "count": 20},
        timeout=15,
    )
    return resp.json().get("posts", [])

def vet_creator(username: str) -> dict:
    profile = fetch_creator_profile(username)
    posts = fetch_creator_posts(username)

    followers = profile.get("followers", 0)
    total_likes = profile.get("likes", 0)

    if posts:
        avg_views = sum(p.get("views", 0) for p in posts) / len(posts)
        avg_likes = sum(p.get("likes", 0) for p in posts) / len(posts)
        avg_comments = sum(p.get("comments", 0) for p in posts) / len(posts)
        engagement_rate = (avg_likes + avg_comments) / max(followers, 1) * 100
    else:
        avg_views = avg_likes = avg_comments = engagement_rate = 0

    flags = []
    if followers > 100000 and engagement_rate < 1.0:
        flags.append("LOW_ENGAGEMENT_FOR_SIZE")
    if avg_views < followers * 0.01:
        flags.append("LOW_VIEW_RATIO")
    if len(posts) < 5:
        flags.append("INACTIVE")

    return {
        "username": username,
        "followers": followers,
        "engagement_rate": round(engagement_rate, 2),
        "avg_views": int(avg_views),
        "avg_likes": int(avg_likes),
        "post_count": len(posts),
        "flags": flags,
        "verdict": "PASS" if not flags else "REVIEW",
    }

for creator in CREATORS:
    report = vet_creator(creator)
    status = "PASS" if report["verdict"] == "PASS" else "REVIEW"
    print(f"[{status}] @{report['username']}: {report['followers']} followers, {report['engagement_rate']}% engagement, flags={report['flags']}")

JavaScript Implementation

JavaScript
const TH = {'Authorization': 'Bearer '+process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
const CREATORS = ['creator_username_1', 'creator_username_2', 'creator_username_3'];

async function fetchCreatorProfile(username) {
  const r = await fetch('https://api.scavio.dev/api/v1/tiktok/profile', {method:'POST', headers:TH, body:JSON.stringify({username})});
  return r.json();
}

async function fetchCreatorPosts(username) {
  const r = await fetch('https://api.scavio.dev/api/v1/tiktok/user-posts', {method:'POST', headers:TH, body:JSON.stringify({username, count:20})});
  return (await r.json()).posts || [];
}

async function vetCreator(username) {
  const profile = await fetchCreatorProfile(username);
  const posts = await fetchCreatorPosts(username);
  const followers = profile.followers || 0;
  let avgViews=0, avgLikes=0, avgComments=0, engagementRate=0;
  if (posts.length) {
    avgViews = posts.reduce((s,p)=>s+(p.views||0),0)/posts.length;
    avgLikes = posts.reduce((s,p)=>s+(p.likes||0),0)/posts.length;
    avgComments = posts.reduce((s,p)=>s+(p.comments||0),0)/posts.length;
    engagementRate = (avgLikes+avgComments)/Math.max(followers,1)*100;
  }
  const flags = [];
  if (followers>100000 && engagementRate<1.0) flags.push('LOW_ENGAGEMENT_FOR_SIZE');
  if (avgViews<followers*0.01) flags.push('LOW_VIEW_RATIO');
  if (posts.length<5) flags.push('INACTIVE');
  return {username, followers, engagementRate:Math.round(engagementRate*100)/100, avgViews:Math.round(avgViews), postCount:posts.length, flags, verdict:flags.length?'REVIEW':'PASS'};
}

for (const creator of CREATORS) {
  const report = await vetCreator(creator);
  console.log('['+report.verdict+'] @'+report.username+': '+report.followers+' followers, '+report.engagementRate+'% engagement, flags='+JSON.stringify(report.flags));
}

Platforms Used

TikTok

Trending video, creator, and product discovery

Frequently Asked Questions

Brands sign TikTok creators based on follower counts alone, then get burned by bot followers, controversial content, or engagement manipulation. This workflow vets creators daily: pull their recent posts, analyze engagement rates, check comment sentiment, and flag brand safety risks. Run it before committing any sponsorship budget. Cost: about $0.35 per full creator audit.

This workflow uses a daily at 9 am, or on-demand per creator evaluation batch.. Daily 9 AM.

This workflow uses the following Scavio platforms: tiktok. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 250 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

Daily TikTok Creator Vetting Pipeline

Workflow that vets TikTok creators daily by analyzing their content, engagement, follower quality, and brand safety signals before sponsorship deals.