The Problem
Brands partnering with TikTok creators risk association with controversial content. Manual brand safety checks (scrolling through a creator's recent videos) take 15-30 minutes per creator. For campaigns with 50+ creators, manual vetting is impractical. Influencer platforms charge $200-500/month for brand safety features.
The Scavio Solution
Use Scavio TikTok API to pull each creator's recent posts and scan video descriptions, hashtags, and engagement patterns for brand safety signals. Flag creators with controversial content themes, extreme engagement anomalies (bought followers), or content inconsistency. Cost: $0.01/creator (2 API calls at $0.005 each).
Before
Before automated vetting, the brand manager manually reviewed 50 creators over 2 days. Three creators with questionable content slipped through and were signed. One posted controversial content during the campaign, requiring emergency content removal and brand statement.
After
After automated vetting, 50 creators are scanned in under 5 minutes for $0.50. Flagged creators are reviewed manually (typically 5-8 out of 50). The 3 problematic creators from the previous campaign would have been flagged automatically based on content theme analysis.
Who It Is For
Brand managers vetting TikTok creators for partnerships. Marketing agencies managing influencer campaigns. D2C brands scaling TikTok UGC programs.
Key Benefits
- 50 creators vetted for $0.50 vs $200-500/month influencer platform
- Automated content theme analysis from video descriptions and hashtags
- Engagement anomaly detection flags potential fake followers
- Reduces manual review to only flagged creators (80% time savings)
- Repeatable process for every campaign with consistent criteria
Python Example
import requests
API_KEY = "your_scavio_api_key"
FLAG_KEYWORDS = ["controversial", "political", "nsfw", "gambling", "crypto pump"]
def audit_creator(username: str) -> dict:
# Get profile
profile_res = requests.post(
"https://api.scavio.dev/api/v1/tiktok/user/info",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"username": username},
timeout=15,
)
profile = profile_res.json() if profile_res.ok else {}
# Get recent posts
posts_res = requests.post(
"https://api.scavio.dev/api/v1/tiktok/user/posts",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"username": username},
timeout=15,
)
posts = posts_res.json().get("posts", []) if posts_res.ok else []
flags = []
for post in posts:
desc = (post.get("description", "") + " ".join(post.get("hashtags", []))).lower()
for keyword in FLAG_KEYWORDS:
if keyword in desc:
flags.append({"post_id": post.get("id"), "flag": keyword})
return {"username": username, "post_count": len(posts), "flags": flags, "safe": len(flags) == 0}
creators = ["creator_a", "creator_b", "creator_c"]
for creator in creators:
result = audit_creator(creator)
status = "SAFE" if result["safe"] else f"FLAGGED ({len(result['flags'])} issues)"
print(f" {creator}: {status}")JavaScript Example
const API_KEY = "your_scavio_api_key";
const FLAG_KEYWORDS = ["controversial", "political", "nsfw", "gambling"];
async function auditCreator(username) {
const postsRes = await fetch("https://api.scavio.dev/api/v1/tiktok/user/posts", {
method: "POST",
headers: { Authorization: `Bearer ${API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({ username }),
});
const posts = postsRes.ok ? (await postsRes.json()).posts ?? [] : [];
const flags = [];
for (const post of posts) {
const desc = ((post.description ?? "") + (post.hashtags ?? []).join(" ")).toLowerCase();
for (const kw of FLAG_KEYWORDS) if (desc.includes(kw)) flags.push({ postId: post.id, flag: kw });
}
return { username, flags, safe: flags.length === 0 };
}
const result = await auditCreator("creator_a");
console.log(`${result.username}: ${result.safe ? "SAFE" : `FLAGGED (${result.flags.length})`}`);Platforms Used
TikTok
Trending video, creator, and product discovery