Aperçu
Trouver les bons créateurs TikTok pour des campagnes d'influence nécessite une navigation manuelle sur la plateforme qui ne passe pas à l'échelle. Ce workflow utilise l'API TikTok de Scavio pour rechercher par mot-clé, analyser les modèles d'engagement des créateurs, noter la régularité et l'alignement avec l'audience, et produire une liste classée prête pour le prospection.
Déclencheur
Toutes les semaines le lundi, ou à la demande selon le brief de campagne.
Planification
Hebdomadaire
Étapes du workflow
Définir les mots-clés de la campagne
Charger le brief de campagne avec les mots-clés cibles, les seuils minimum d'abonnés et les exigences d'engagement.
Rechercher TikTok par mot-clé
Pour chaque mot-clé, rechercher TikTok via l'API Scavio pour trouver des vidéos et des créateurs dans le créneau.
Agréger les statistiques des créateurs
Regrouper les résultats par créateur. Calculer le taux d'engagement moyen, la fréquence de publication et la portée totale.
Noter les créateurs
Noter chaque créateur sur le taux d'engagement, la régularité, l'adéquation au créneau et le ratio abonnés/engagement.
Exporter la liste classée
Produire les meilleurs créateurs sous forme de CSV ou JSON avec les scores, les coordonnées et un exemple de contenu.
Implémentation Python
import requests, os, json
API_KEY = os.environ["SCAVIO_API_KEY"]
HT = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
def search_tiktok_creators(keyword: str) -> list:
resp = requests.post(
"https://api.scavio.dev/api/v1/tiktok/search",
headers=HT,
json={"keyword": keyword},
timeout=15,
)
return resp.json().get("videos", [])
def score_creators(keywords: list) -> list:
creators = {}
for kw in keywords:
videos = search_tiktok_creators(kw)
for v in videos:
author = v.get("author", {})
uid = author.get("unique_id", "unknown")
if uid not in creators:
creators[uid] = {
"username": uid,
"nickname": author.get("nickname", ""),
"videos": 0,
"total_plays": 0,
"total_likes": 0,
"total_comments": 0,
}
stats = v.get("stats", {})
creators[uid]["videos"] += 1
creators[uid]["total_plays"] += stats.get("play_count", 0)
creators[uid]["total_likes"] += stats.get("digg_count", 0)
creators[uid]["total_comments"] += stats.get("comment_count", 0)
# Score: engagement rate + consistency
for c in creators.values():
if c["total_plays"] > 0:
c["engagement_rate"] = round((c["total_likes"] + c["total_comments"]) / c["total_plays"] * 100, 2)
else:
c["engagement_rate"] = 0
c["score"] = c["engagement_rate"] * 0.5 + c["videos"] * 10 * 0.3 + (c["total_plays"] / 1000) * 0.2
return sorted(creators.values(), key=lambda x: x["score"], reverse=True)
results = score_creators(["skincare routine", "skincare tips", "skincare products 2026"])
for r in results[:10]:
print(f"@{r['username']}: {r['total_plays']:,} plays, {r['engagement_rate']}% engagement, score: {r['score']:.0f}")Implémentation JavaScript
const HT = {'Authorization': 'Bearer '+process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function searchTiktokCreators(keyword) {
const r = await fetch('https://api.scavio.dev/api/v1/tiktok/search', {method:'POST', headers:HT, body:JSON.stringify({keyword})});
return (await r.json()).videos || [];
}
async function scoreCreators(keywords) {
const creators = {};
for (const kw of keywords) {
for (const v of await searchTiktokCreators(kw)) {
const uid = v.author?.unique_id || 'unknown';
if (!creators[uid]) creators[uid] = {username:uid, nickname:v.author?.nickname||'', videos:0, totalPlays:0, totalLikes:0, totalComments:0};
creators[uid].videos++;
creators[uid].totalPlays += v.stats?.play_count||0;
creators[uid].totalLikes += v.stats?.digg_count||0;
creators[uid].totalComments += v.stats?.comment_count||0;
}
}
for (const c of Object.values(creators)) {
c.engagementRate = c.totalPlays > 0 ? Math.round((c.totalLikes+c.totalComments)/c.totalPlays*10000)/100 : 0;
c.score = c.engagementRate*0.5 + c.videos*10*0.3 + (c.totalPlays/1000)*0.2;
}
return Object.values(creators).sort((a,b)=>b.score-a.score);
}
const results = await scoreCreators(['skincare routine', 'skincare tips', 'skincare products 2026']);
for (const r of results.slice(0,10)) console.log('@'+r.username+': '+r.totalPlays+' plays, '+r.engagementRate+'% engagement, score: '+Math.round(r.score));Plateformes utilisées
TikTok
Découverte de vidéos tendance, créateurs et produits