ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment analyser les accroches de vidéos TikTok avec des données API
Tutoriel

Comment analyser les accroches de vidéos TikTok avec des données API

Comparez les accroches de vidéos TikTok en analysant les modèles d'engagement des 3 premières secondes. Utilisez les données API pour trouver quels styles d'ouverture génèrent la meilleure rétention.

Obtenez une clé API gratuiteDocumentation API

Les trois premières secondes d'une vidéo TikTok déterminent si les spectateurs continuent à regarder ou s'ils défilent. Ce tutoriel utilise l'API Scavio TikTok pour récupérer les données des vidéos les plus performantes dans votre niche, puis analyse quels modèles d'accroche sont corrélés aux taux d'engagement les plus élevés. En comparant les descriptions des vidéos, les ratios vue/j'aime et les nombres de partages selon différents styles d'accroche, vous pouvez identifier les modèles d'ouverture les plus efficaces. Chaque appel API coûte 0,005 $.

Prérequis

  • Python 3.9+ installé
  • bibliothèque requests installée
  • Une clé API Scavio depuis scavio.dev
  • Une niche ou un sujet pour analyser les accroches

Parcours

Étape 1: Collecter les vidéos performantes dans votre niche

Recherchez des vidéos dans votre niche et extrayez les meilleures performances. Leurs descriptions reflètent souvent le style d'accroche utilisé dans les premières secondes.

Python
import os, requests, time, re

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 search_niche_videos(niche: str, count: int = 30) -> list:
    resp = requests.post(f'{TT_URL}/search/videos', headers=TT_H,
        json={'keyword': niche, 'count': count, 'cursor': 0})
    videos = resp.json().get('data', {}).get('videos', [])
    results = []
    for v in videos:
        stats = v.get('stats', {})
        views = stats.get('playCount', 0)
        likes = stats.get('diggCount', 0)
        results.append({
            'desc': v.get('desc', ''),
            'views': views,
            'likes': likes,
            'comments': stats.get('commentCount', 0),
            'shares': stats.get('shareCount', 0),
            'like_rate': likes / views if views > 0 else 0,
            'share_rate': stats.get('shareCount', 0) / views if views > 0 else 0,
        })
    results.sort(key=lambda x: x['views'], reverse=True)
    return results

videos = search_niche_videos('python programming tutorial')
print(f'Collected {len(videos)} videos')

Étape 2: Classer les modèles d'accroche à partir des descriptions vidéo

Catégorisez les vidéos par leur style d'accroche en fonction du texte de la description. Les types d'accroche courants incluent les accroches sous forme de questions, d'affirmations, de tutoriels et de controverses.

Python
HOOK_PATTERNS = {
    'question': [r'^(did you|have you|do you|why|what if|how)', r'\?'],
    'claim': [r'^(this|the|I found|I discovered|most people)', r'(secret|trick|hack|mistake)'],
    'how_to': [r'^(how to|step|tutorial|learn|guide)', r'(in \d+ (?:seconds|minutes|steps))'],
    'controversy': [r'(stop|dont|never|wrong|bad|overrated)', r'(unpopular|hot take|controversial)'],
    'listicle': [r'^(\d+ |top \d+|best \d+)', r'(things|tips|tools|ways|reasons)'],
}

def classify_hook(desc: str) -> str:
    desc_lower = desc.lower()
    scores = {}
    for hook_type, patterns in HOOK_PATTERNS.items():
        score = sum(1 for p in patterns if re.search(p, desc_lower))
        scores[hook_type] = score
    best = max(scores, key=scores.get)
    return best if scores[best] > 0 else 'other'

for v in videos[:5]:
    hook = classify_hook(v['desc'])
    print(f'  [{hook:12s}] {v["like_rate"]:.1%} like rate | {v["desc"][:50]}')

Étape 3: Analyser l'engagement par type d'accroche

Regroupez les vidéos par type d'accroche et comparez les taux d'engagement moyens. Cela révèle quels styles d'accroche génèrent les meilleures performances dans votre niche.

Python
def analyze_hooks(videos: list) -> dict:
    by_hook = {}
    for v in videos:
        hook = classify_hook(v['desc'])
        if hook not in by_hook:
            by_hook[hook] = []
        by_hook[hook].append(v)
    report = {}
    for hook_type, vids in by_hook.items():
        avg_like_rate = sum(v['like_rate'] for v in vids) / len(vids)
        avg_share_rate = sum(v['share_rate'] for v in vids) / len(vids)
        avg_views = sum(v['views'] for v in vids) / len(vids)
        report[hook_type] = {
            'count': len(vids),
            'avg_like_rate': avg_like_rate,
            'avg_share_rate': avg_share_rate,
            'avg_views': avg_views,
            'best_video': max(vids, key=lambda x: x['views'])['desc'][:50],
        }
    print('Hook Analysis Report')
    print('=' * 65)
    for hook, stats in sorted(report.items(), key=lambda x: x[1]['avg_like_rate'], reverse=True):
        print(f'  {hook:12s} | {stats["count"]:3d} videos | {stats["avg_like_rate"]:5.1%} like rate | {stats["avg_views"]:>10,.0f} avg views')
        print(f'               | Best: {stats["best_video"]}')
    return report

report = analyze_hooks(videos)

Exemple Python

Python
import os, requests, re

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

def analyze_hooks(niche):
    resp = requests.post('https://api.scavio.dev/api/v1/tiktok/search/videos', headers=TT_H,
        json={'keyword': niche, 'count': 20, 'cursor': 0})
    videos = resp.json().get('data', {}).get('videos', [])
    hooks = {'question': [], 'how_to': [], 'claim': [], 'other': []}
    for v in videos:
        desc = v.get('desc', '').lower()
        stats = v.get('stats', {})
        views = stats.get('playCount', 1)
        like_rate = stats.get('diggCount', 0) / views
        if '?' in desc or desc.startswith(('did', 'why', 'what')): cat = 'question'
        elif desc.startswith(('how to', 'tutorial', 'learn')): cat = 'how_to'
        elif any(w in desc for w in ['secret', 'hack', 'trick']): cat = 'claim'
        else: cat = 'other'
        hooks[cat].append(like_rate)
    for cat, rates in hooks.items():
        avg = sum(rates) / len(rates) if rates else 0
        print(f'{cat:12s}: {len(rates):3d} videos, {avg:.1%} avg like rate')

analyze_hooks('python programming')

Exemple JavaScript

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

async function analyzeHooks(niche) {
  const resp = await fetch('https://api.scavio.dev/api/v1/tiktok/search/videos', {
    method: 'POST', headers: TT_H, body: JSON.stringify({ keyword: niche, count: 20, cursor: 0 })
  }).then(r => r.json());
  const hooks = { question: [], how_to: [], claim: [], other: [] };
  for (const v of (resp.data?.videos || [])) {
    const desc = (v.desc || '').toLowerCase();
    const views = v.stats?.playCount || 1;
    const likeRate = (v.stats?.diggCount || 0) / views;
    let cat = 'other';
    if (desc.includes('?') || desc.startsWith('did') || desc.startsWith('why')) cat = 'question';
    else if (desc.startsWith('how to') || desc.startsWith('tutorial')) cat = 'how_to';
    else if (['secret', 'hack', 'trick'].some(w => desc.includes(w))) cat = 'claim';
    hooks[cat].push(likeRate);
  }
  for (const [cat, rates] of Object.entries(hooks)) {
    const avg = rates.length ? rates.reduce((a, b) => a + b, 0) / rates.length : 0;
    console.log(`${cat}: ${rates.length} videos, ${(avg * 100).toFixed(1)}% avg like rate`);
  }
}

analyzeHooks('python programming');

Sortie attendue

JSON
Collected 30 videos

Hook Analysis Report
=================================================================
  question     |  8 videos |  8.2% like rate |    890,000 avg views
               | Best: Did you know Python can do this in one lin
  claim        |  6 videos |  7.5% like rate |  1,200,000 avg views
               | Best: This Python trick will save you hours of c
  how_to       | 10 videos |  5.8% like rate |    650,000 avg views
               | Best: How to build an API in 60 seconds with Fas
  controversy  |  3 videos |  9.1% like rate |    780,000 avg views
               | Best: Stop using print for debugging in Python
  other        |  3 videos |  4.2% like rate |    320,000 avg views

Tutoriels associés

  • Comment construire un outil de suivi des performances de contenu TikTok
  • 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 depuis scavio.dev. Une niche ou un sujet pour analyser les accroches. 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

Use Case

Optimisation du contenu TikTok via les données API

Read more
Best Of

Meilleurs outils d'analyse des commentaires TikTok en 2026

Read more
Best Of

Meilleures API d'analyse de hashtags TikTok (2026)

Read more
Use Case

Analyse des créateurs TikTok

Read more
Glossary

API non officielle de TikTok

Read more
Glossary

Métriques de l'API d'engagement TikTok

Read more

Commencer

Comparez les accroches de vidéos TikTok en analysant les modèles d'engagement des 3 premières secondes. Utilisez les données API pour trouver quels styles d'ouverture génèrent la meilleure rétention.

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é