ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un pipeline API de notation de créateurs TikTok
Tutoriel

Comment construire un pipeline API de notation de créateurs TikTok

Noter les créateurs TikTok pour des partenariats de marque en utilisant les taux d'engagement, les nombres d'abonnés et les signaux de qualité du contenu de l'API Scavio TikTok.

Obtenez une clé API gratuiteDocumentation API

Sélectionner les bons créateurs TikTok pour des partenariats de marque nécessite plus que le nombre d'abonnés. Le taux d'engagement, la cohérence du contenu, l'adéquation du public et la trajectoire de croissance comptent tous. Ce tutoriel construit un pipeline de notation utilisant l'API Scavio TikTok qui évalue les créateurs sur plusieurs dimensions et produit un score de partenariat composite. Chaque évaluation de créateur coûte 2-3 crédits (0,010-0,015 $).

Prérequis

  • Python 3.9+ installé
  • bibliothèque requests installée
  • Une clé API Scavio provenant de scavio.dev
  • Une liste de noms d'utilisateur de créateurs TikTok à évaluer

Parcours

Étape 1: Récupérer les données de profil du créateur

Obtenir les informations de profil pour chaque créateur, y compris le nombre d'abonnés, le nombre d'abonnements, le total de likes et la bio. Cela donne des indicateurs de base.

Python
import requests, os

API_KEY = os.environ['SCAVIO_API_KEY']
TT_URL = 'https://api.scavio.dev/api/v1/tiktok'

def get_creator_profile(username: str) -> dict:
    resp = requests.post(f'{TT_URL}/user/info',
        headers={'Authorization': f'Bearer {API_KEY}',
                 'Content-Type': 'application/json'},
        json={'username': username})
    resp.raise_for_status()
    user = resp.json().get('data', {}).get('user', {})
    stats = resp.json().get('data', {}).get('stats', {})
    return {
        'username': username,
        'nickname': user.get('nickname', ''),
        'bio': user.get('signature', ''),
        'verified': user.get('verified', False),
        'followers': stats.get('followerCount', 0),
        'following': stats.get('followingCount', 0),
        'likes': stats.get('heartCount', 0),
        'videos': stats.get('videoCount', 0),
    }

# Test with a creator
profile = get_creator_profile('charlidamelio')
for key, val in profile.items():
    print(f'  {key}: {val}')

Étape 2: Analyser l'engagement du contenu récent

Rechercher les vidéos récentes du créateur et calculer les mesures d'engagement. Un engagement élevé par rapport aux abonnés signale un public actif et engagé.

Python
def analyze_engagement(username: str, video_count: int = 10) -> dict:
    resp = requests.post(f'{TT_URL}/search/videos',
        headers={'Authorization': f'Bearer {API_KEY}',
                 'Content-Type': 'application/json'},
        json={'keyword': f'@{username}', 'count': video_count, 'cursor': 0})
    videos = resp.json().get('data', {}).get('videos', [])
    if not videos:
        return {'engagement_rate': 0, 'avg_views': 0, 'videos_analyzed': 0}
    total_engagement = 0
    total_views = 0
    for v in videos:
        stats = v.get('stats', {})
        views = stats.get('playCount', 0)
        likes = stats.get('diggCount', 0)
        comments = stats.get('commentCount', 0)
        shares = stats.get('shareCount', 0)
        total_views += views
        total_engagement += likes + comments + shares
    avg_views = total_views / len(videos)
    engagement_rate = (total_engagement / total_views * 100) if total_views > 0 else 0
    return {
        'engagement_rate': round(engagement_rate, 2),
        'avg_views': int(avg_views),
        'total_engagement': total_engagement,
        'videos_analyzed': len(videos)
    }

engagement = analyze_engagement('charlidamelio')
for key, val in engagement.items():
    print(f'  {key}: {val}')

Étape 3: Calculer le score composite du créateur

Combiner les mesures de profil et les données d'engagement en un seul score de partenariat de 0 à 100. Pondérer le taux d'engagement le plus lourdement car il prédit les performances de campagne.

Python
def score_creator(username: str) -> dict:
    profile = get_creator_profile(username)
    engagement = analyze_engagement(username)
    # Engagement rate score (0-40 points) - most important
    er = engagement['engagement_rate']
    if er >= 5:
        er_score = 40
    elif er >= 3:
        er_score = 30
    elif er >= 1:
        er_score = 20
    else:
        er_score = er * 20
    # Follower tier score (0-25 points)
    followers = profile['followers']
    if followers >= 1_000_000:
        follower_score = 25  # mega
    elif followers >= 100_000:
        follower_score = 22  # macro
    elif followers >= 10_000:
        follower_score = 20  # micro (often best ROI)
    elif followers >= 1_000:
        follower_score = 15  # nano
    else:
        follower_score = 5
    # Content volume score (0-20 points)
    videos = profile['videos']
    volume_score = min(videos / 50 * 20, 20)
    # Verified bonus (0-15 points)
    verified_score = 15 if profile['verified'] else 0
    total = round(er_score + follower_score + volume_score + verified_score, 1)
    return {
        'username': username,
        'score': total,
        'tier': 'mega' if followers >= 1_000_000 else 'macro' if followers >= 100_000 else 'micro' if followers >= 10_000 else 'nano',
        'engagement_rate': er,
        'followers': followers,
        'avg_views': engagement['avg_views'],
        'credits_used': 2
    }

Étape 4: Noter et classer un lot de créateurs

Évaluer plusieurs créateurs et les classer par score. Exporter les résultats pour votre équipe de partenariats de marque.

Python
import time

def evaluate_creators(usernames: list) -> list:
    scored = []
    for username in usernames:
        try:
            result = score_creator(username)
            scored.append(result)
            print(f'  [{result["score"]:5.1f}] @{username} ({result["tier"]}) '
                  f'ER:{result["engagement_rate"]}% '
                  f'Followers:{result["followers"]:,}')
        except Exception as e:
            print(f'  [ERROR] @{username}: {e}')
        time.sleep(0.5)
    scored.sort(key=lambda x: -x['score'])
    total_credits = sum(c['credits_used'] for c in scored)
    print(f'\nEvaluated {len(scored)} creators')
    print(f'Credits used: {total_credits} (${total_credits * 0.005:.3f})')
    return scored

creators = ['charlidamelio', 'khaby.lame', 'addisonre']
results = evaluate_creators(creators)

Exemple Python

Python
import requests, os, time

API_KEY = os.environ['SCAVIO_API_KEY']
TT = 'https://api.scavio.dev/api/v1/tiktok'

def score_creator(username):
    profile = requests.post(f'{TT}/user/info',
        headers={'Authorization': f'Bearer {API_KEY}', 'Content-Type': 'application/json'},
        json={'username': username}).json().get('data', {})
    stats = profile.get('stats', {})
    followers = stats.get('followerCount', 0)
    videos_resp = requests.post(f'{TT}/search/videos',
        headers={'Authorization': f'Bearer {API_KEY}', 'Content-Type': 'application/json'},
        json={'keyword': f'@{username}', 'count': 10, 'cursor': 0})
    videos = videos_resp.json().get('data', {}).get('videos', [])
    total_eng = sum(v.get('stats', {}).get('diggCount', 0) + v.get('stats', {}).get('commentCount', 0)
                    for v in videos)
    total_views = sum(v.get('stats', {}).get('playCount', 0) for v in videos)
    er = (total_eng / total_views * 100) if total_views > 0 else 0
    return {'username': username, 'followers': followers, 'engagement_rate': round(er, 2)}

for u in ['charlidamelio', 'khaby.lame']:
    r = score_creator(u)
    print(f'@{r["username"]}: {r["followers"]:,} followers, {r["engagement_rate"]}% ER')
    time.sleep(0.5)

Exemple JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const TT = 'https://api.scavio.dev/api/v1/tiktok';

async function scoreCreator(username) {
  const profile = await fetch(`${TT}/user/info`, {
    method: 'POST',
    headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
    body: JSON.stringify({ username })
  }).then(r => r.json());
  const stats = profile.data?.stats || {};
  const videos = await fetch(`${TT}/search/videos`, {
    method: 'POST',
    headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
    body: JSON.stringify({ keyword: `@${username}`, count: 10, cursor: 0 })
  }).then(r => r.json());
  const vids = videos.data?.videos || [];
  const views = vids.reduce((s, v) => s + (v.stats?.playCount || 0), 0);
  const eng = vids.reduce((s, v) => s + (v.stats?.diggCount || 0) + (v.stats?.commentCount || 0), 0);
  return { username, followers: stats.followerCount || 0, er: views ? (eng/views*100).toFixed(2) : 0 };
}

scoreCreator('charlidamelio').then(r => console.log(`@${r.username}: ${r.followers} followers, ${r.er}% ER`));

Sortie attendue

JSON
  username: charlidamelio
  followers: 155000000
  engagement_rate: 3.45
  avg_views: 12500000
  videos_analyzed: 10

  [ 85.0] @charlidamelio (mega) ER:3.45% Followers:155,000,000
  [ 78.2] @khaby.lame (mega) ER:2.80% Followers:162,000,000
  [ 72.5] @addisonre (mega) ER:2.10% Followers:88,000,000

Evaluated 3 creators
Credits used: 6 ($0.030)

Tutoriels associés

  • Comment surveiller les mentions de marque TikTok à moindre coût
  • Comment construire un pipeline de découverte d'influenceurs YouTube
  • Comment construire un détecteur de tendances produits TikTok

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.9+ installé. bibliothèque requests installée. Une clé API Scavio provenant de scavio.dev. Une liste de noms d'utilisateur de créateurs TikTok à évaluer. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleures API de vérification d'influenceurs TikTok (2026)

Read more
Best Of

Meilleure API de découverte de créateurs TikTok en 2026

Read more
Solution

Évaluez les influenceurs TikTok avant de dépenser votre campagne

Read more
Workflow

Workflow de découverte et de notation de créateurs TikTok

Read more
Comparison

Manual Vetting vs API-Driven Vetting (via Scavio or TikAPI)

Read more
Solution

Automatisez l'évaluation des créateurs TikTok pour les partenariats de marque

Read more

Commencer

Noter les créateurs TikTok pour des partenariats de marque en utilisant les taux d'engagement, les nombres d'abonnés et les signaux de qualité du contenu de l'API Scavio TikTok.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité