ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un outil de suivi des performances de contenu TikTok
Tutoriel

Comment construire un outil de suivi des performances de contenu TikTok

Suivez l'engagement des vidéos TikTok au fil du temps à l'aide de l'API. Surveillez les vues, les likes, les commentaires et les partages pour identifier vos meilleurs schémas de contenu.

Obtenez une clé API gratuiteDocumentation API

Publier du contenu TikTok sans suivre les performances vous empêche d'identifier ce qui fonctionne. Ce tutoriel construit un outil de suivi des performances de contenu qui récupère vos statistiques vidéo via l'API TikTok de Scavio, enregistre des instantanés dans le temps et calcule la vélocité d'engagement (à quelle vitesse une vidéo gagne des vues et des likes après publication). Utilisez ces données pour identifier vos principaux schémas de contenu et miser davantage sur ce qui résonne. Chaque appel API coûte 0,005 $ en utilisant l'authentification par jeton Bearer.

Prérequis

  • Python 3.9+ installé
  • bibliothèque requests installée
  • Une clé API Scavio provenant de scavio.dev
  • Un nom d'utilisateur de compte TikTok à suivre

Parcours

Étape 1: Extrayez votre historique de vidéos TikTok

Récupérez vos publications récentes en utilisant le point de terminaison des publications utilisateur. Cela renvoie les métadonnées de la vidéo et les statistiques d'engagement actuelles.

Python
import os, requests, json, time
from datetime import datetime

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']
TT_URL = 'https://api.scavio.dev/api/v1/tiktok'
TT_H = {'Authorization': f'Bearer {SCAVIO_KEY}', 'Content-Type': 'application/json'}

def get_user_videos(username: str) -> list:
    # Get profile first to get sec_user_id
    resp = requests.post(f'{TT_URL}/profile', headers=TT_H,
        json={'username': username})
    sec_uid = resp.json().get('data', {}).get('user', {}).get('secUid', '')
    time.sleep(0.3)
    # Get posts
    resp = requests.post(f'{TT_URL}/user/posts', headers=TT_H,
        json={'sec_user_id': sec_uid, 'count': 30})
    videos = resp.json().get('data', {}).get('videos', [])
    return [{
        'id': v.get('id'),
        'desc': v.get('desc', '')[:80],
        'created': v.get('createTime', 0),
        'views': v.get('stats', {}).get('playCount', 0),
        'likes': v.get('stats', {}).get('diggCount', 0),
        'comments': v.get('stats', {}).get('commentCount', 0),
        'shares': v.get('stats', {}).get('shareCount', 0),
        'timestamp': datetime.now().isoformat(),
    } for v in videos]

videos = get_user_videos('scikitnews')
print(f'Fetched {len(videos)} videos')
for v in videos[:5]:
    print(f'  {v["views"]:>10,} views | {v["likes"]:>8,} likes | {v["desc"][:40]}')

Étape 2: Stockez des instantanés pour un suivi chronologique

Enregistrez les statistiques vidéo dans un fichier JSON avec des horodatages. Chaque exécution ajoute un nouvel instantané afin que vous puissiez suivre les changements au fil du temps.

Python
TRACKING_FILE = 'tiktok_performance.json'

def load_history() -> dict:
    if os.path.exists(TRACKING_FILE):
        with open(TRACKING_FILE) as f:
            return json.load(f)
    return {'snapshots': []}

def save_snapshot(videos: list):
    history = load_history()
    history['snapshots'].append({
        'timestamp': datetime.now().isoformat(),
        'videos': videos,
    })
    with open(TRACKING_FILE, 'w') as f:
        json.dump(history, f, indent=2)
    print(f'Snapshot saved: {len(videos)} videos, {len(history["snapshots"])} total snapshots')

save_snapshot(videos)

Étape 3: Calculez la vélocité d'engagement

Comparez le dernier instantané avec le précédent pour calculer la vitesse à laquelle chaque vidéo gagne des vues et des likes.

Python
def calculate_velocity(history: dict) -> list:
    snapshots = history.get('snapshots', [])
    if len(snapshots) < 2:
        print('Need at least 2 snapshots to calculate velocity')
        return []
    current = {v['id']: v for v in snapshots[-1]['videos']}
    previous = {v['id']: v for v in snapshots[-2]['videos']}
    velocities = []
    for vid_id, curr in current.items():
        prev = previous.get(vid_id)
        if not prev:
            continue
        view_delta = curr['views'] - prev['views']
        like_delta = curr['likes'] - prev['likes']
        velocities.append({
            'id': vid_id,
            'desc': curr['desc'],
            'view_velocity': view_delta,
            'like_velocity': like_delta,
            'total_views': curr['views'],
            'engagement_rate': curr['likes'] / curr['views'] if curr['views'] > 0 else 0,
        })
    velocities.sort(key=lambda x: x['view_velocity'], reverse=True)
    print('Content Velocity Report')
    print('-' * 60)
    for v in velocities[:10]:
        print(f'  +{v["view_velocity"]:>8,} views | +{v["like_velocity"]:>6,} likes | {v["desc"][:35]}')
    return velocities

history = load_history()
calculate_velocity(history)

Exemple Python

Python
import os, requests, json, time
from datetime import datetime

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']
TT_H = {'Authorization': f'Bearer {SCAVIO_KEY}', 'Content-Type': 'application/json'}

def track_content(username):
    resp = requests.post('https://api.scavio.dev/api/v1/tiktok/profile', headers=TT_H,
        json={'username': username})
    uid = resp.json().get('data', {}).get('user', {}).get('secUid', '')
    time.sleep(0.3)
    resp2 = requests.post('https://api.scavio.dev/api/v1/tiktok/user/posts', headers=TT_H,
        json={'sec_user_id': uid, 'count': 20})
    videos = resp2.json().get('data', {}).get('videos', [])
    print(f'Tracking {len(videos)} videos for @{username}')
    for v in videos[:5]:
        s = v.get('stats', {})
        eng = (s.get('diggCount', 0) + s.get('commentCount', 0)) / max(s.get('playCount', 1), 1)
        print(f'  {s.get("playCount", 0):>10,} views | {eng:.1%} eng | {v.get("desc", "")[:35]}')

track_content('scikitnews')

Exemple JavaScript

JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;
const TT_H = { Authorization: `Bearer ${SCAVIO_KEY}`, 'Content-Type': 'application/json' };

async function trackContent(username) {
  const profile = await fetch('https://api.scavio.dev/api/v1/tiktok/profile', {
    method: 'POST', headers: TT_H, body: JSON.stringify({ username })
  }).then(r => r.json());
  const uid = profile.data?.user?.secUid || '';
  const posts = await fetch('https://api.scavio.dev/api/v1/tiktok/user/posts', {
    method: 'POST', headers: TT_H, body: JSON.stringify({ sec_user_id: uid, count: 20 })
  }).then(r => r.json());
  const videos = posts.data?.videos || [];
  console.log(`Tracking ${videos.length} videos for @${username}`);
  videos.slice(0, 5).forEach(v => {
    const s = v.stats || {};
    const eng = ((s.diggCount || 0) + (s.commentCount || 0)) / Math.max(s.playCount || 1, 1);
    console.log(`  ${(s.playCount || 0).toLocaleString()} views | ${(eng * 100).toFixed(1)}% eng`);
  });
}

trackContent('scikitnews');

Sortie attendue

JSON
Fetched 30 videos
    1,234,567 views |  145,200 likes | How to use search APIs in your app
      892,345 views |   98,400 likes | Building an AI agent with web search
      654,321 views |   72,100 likes | TikTok API tutorial for developers

Snapshot saved: 30 videos, 2 total snapshots

Content Velocity Report
------------------------------------------------------------
  + 125,000 views | + 14,200 likes | How to use search APIs in your
  +  89,000 views | +  9,800 likes | Building an AI agent with web
  +  45,000 views | +  5,100 likes | TikTok API tutorial for develop

Tutoriels associés

  • Comment analyser les accroches de vidéos TikTok avec des données API
  • Comment surveiller la stratégie de contenu des concurrents sur 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. Un nom d'utilisateur de compte TikTok à suivre. 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 d'analyse de hashtags TikTok (2026)

Read more
Best Of

Meilleures API d'analyse TikTok pour la surveillance de marque en mai 2026

Read more
Solution

Tableau de bord des performances du contenu TikTok

Read more
Use Case

Optimisation du contenu TikTok via les données API

Read more
Use Case

Suivi des campagnes UGC TikTok

Read more
Workflow

TikTok Hashtag Campaign Tracker

Read more

Commencer

Suivez l'engagement des vidéos TikTok au fil du temps à l'aide de l'API. Surveillez les vues, les likes, les commentaires et les partages pour identifier vos meilleurs schémas de contenu.

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é