Resumen
Influencer marketing teams resena creator perfiles manualmente, spending horas per candidate. Este flujo de trabajo automatiza diario vetting of creator candidates: pull perfiles, analizar engagement rates, verificar posting consistency, y marcar red flags. Vet 20 creators diario for $3 (perfil + reciente publicaciones per creator).
Desencadenador
Diario cron at 9 AM UTC o activado cuando nuevo creators son added to el candidate lista.
Programación
Diario at 9 AM UTC
Pasos del flujo de trabajo
Cargar Creator Candidate List
Leer el lista of TikTok usernames to vet de el base de datos o hoja de calculo. Cada entrada incluye el creator username y el campana they son siendo considered for.
Pull Creator Profiles
Obtener cada creator's perfil via TikTok API. Extraer follower conteo, total likes, video conteo, y bio informacion.
Analizar Reciente Contenido
Pull el last 20 publicaciones for cada creator. Calcular promedio views, engagement tasa, y posting frecuencia.
Puntuacion y Marcar Issues
Puntuacion cada creator on engagement tasa, consistency, y follower-to-engagement proporcion. Marcar potential fake followers o inconsistent posting.
Generar Vetting Informe
Compile un ranked informe of todos vetted creators con puntuaciones, flags, y recommendations for el marketing team.
Implementacion en Python
import requests, os
API_KEY = os.environ["SCAVIO_API_KEY"]
TT_H = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
def vet_creator(username: str) -> dict:
# Profile
profile = requests.post(
"https://api.scavio.dev/api/v1/tiktok/profile",
headers=TT_H, json={"username": username}, timeout=15,
).json()
stats = profile.get("user_info", {}).get("stats", {})
followers = stats.get("follower_count", 0)
# Recent posts
posts = requests.post(
"https://api.scavio.dev/api/v1/tiktok/user-posts",
headers=TT_H, json={"username": username}, timeout=15,
).json().get("videos", [])
avg_views = sum(v.get("stats", {}).get("play_count", 0) for v in posts) / max(len(posts), 1)
engagement = avg_views / max(followers, 1)
flags = []
if engagement < 0.01:
flags.append("low_engagement")
if followers > 100000 and engagement < 0.005:
flags.append("possible_fake_followers")
return {"username": username, "followers": followers, "avg_views": int(avg_views),
"engagement_pct": round(engagement * 100, 2), "posts_analyzed": len(posts), "flags": flags,
"score": "pass" if not flags else "review"}
candidates = ["creator1", "creator2", "creator3"]
for c in candidates:
result = vet_creator(c)
print(f"@{result['username']}: {result['score']} | {result['engagement_pct']}% engagement | flags: {result['flags']}")Implementacion en JavaScript
const H = {'Authorization': 'Bearer ' + process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function vetCreator(username) {
const pr = await fetch('https://api.scavio.dev/api/v1/tiktok/profile', {method:'POST', headers:H, body:JSON.stringify({username})});
const p = await pr.json();
const followers = p.user_info?.stats?.follower_count||0;
const vr = await fetch('https://api.scavio.dev/api/v1/tiktok/user-posts', {method:'POST', headers:H, body:JSON.stringify({username})});
const posts = (await vr.json()).videos||[];
const avgViews = posts.reduce((s,v)=>s+(v.stats?.play_count||0),0)/Math.max(posts.length,1);
const engagement = avgViews/Math.max(followers,1);
const flags = [];
if (engagement<0.01) flags.push('low_engagement');
if (followers>100000 && engagement<0.005) flags.push('possible_fake_followers');
return {username, followers, avgViews:Math.round(avgViews), engagement:(engagement*100).toFixed(2), flags, score:flags.length?'review':'pass'};
}
const r = await vetCreator('example_creator');
console.log('@'+r.username+': '+r.score+' | '+r.engagement+'% | flags: '+r.flags.join(','));Plataformas utilizadas
TikTok
Descubrimiento de videos, creadores y productos en tendencia