ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment créer un analyseur de contenu concurrentiel TikTok
Tutoriel

Comment créer un analyseur de contenu concurrentiel TikTok

Analysez la stratégie de contenu TikTok d'un concurrent en extrayant ses publications via l'API et en calculant la fréquence de publication, l'engagement moyen et les formats de contenu les plus performants.

Obtenez une clé API gratuiteDocumentation API

Vous pouvez analyser la stratégie de contenu TikTok d'un concurrent en récupérant ses publications via l'API Scavio TikTok en utilisant le flux en deux étapes username-to-sec_uid, puis en calculant la fréquence de publication, les taux d'engagement et les modèles de contenu les plus performants.

Prérequis

  • Python 3.9+
  • Clé API Scavio avec accès TikTok

Parcours

Étape 1: Obtenir le sec_uid à partir du nom d'utilisateur du concurrent

Étape 1 : Résoudre le nom d'utilisateur en sec_uid via le point de terminaison du profil.

Python
import requests

API_KEY = "your-scavio-api-key"

def get_sec_uid(username: str) -> str:
    r = requests.post(
        "https://api.scavio.dev/api/v1/tiktok/user/profile",
        json={"username": username},
        headers={"Authorization": f"Bearer {API_KEY}"},
        timeout=15
    )
    r.raise_for_status()
    return r.json().get("sec_uid")

Étape 2: Récupérer leurs publications récentes

Étape 2 : Utiliser sec_uid avec la pagination max_cursor pour obtenir jusqu'à 90 publications récentes.

Python
def get_posts(sec_uid: str, max_count: int = 90) -> list:
    all_posts, cursor = [], 0
    while len(all_posts) < max_count:
        r = requests.post(
            "https://api.scavio.dev/api/v1/tiktok/user/posts",
            json={"sec_uid": sec_uid, "count": 30, "max_cursor": cursor},
            headers={"Authorization": f"Bearer {API_KEY}"},
            timeout=20
        )
        r.raise_for_status()
        data = r.json()
        batch = data.get("videos", [])
        if not batch: break
        all_posts.extend(batch)
        if not data.get("has_more"): break
        cursor = data.get("max_cursor", 0)
    return all_posts[:max_count]

Étape 3: Analyser les modèles de contenu

Calculer la fréquence de publication, l'engagement moyen et identifier les formats de contenu les plus performants.

Python
from collections import Counter

def analyze_posts(posts: list) -> dict:
    if not posts:
        return {}
    total = len(posts)
    plays = [p.get("stats",{}).get("playCount",0) for p in posts]
    likes = [p.get("stats",{}).get("diggCount",0) for p in posts]
    avg_plays = sum(plays) / total
    avg_likes = sum(likes) / total
    top_posts = sorted(posts, key=lambda p: p.get("stats",{}).get("playCount",0), reverse=True)[:5]
    descs = [p.get("desc","") for p in posts]
    # Detect hashtags used
    import re
    all_tags = [tag for desc in descs for tag in re.findall(r"#(\w+)", desc)]
    top_tags = Counter(all_tags).most_common(10)
    return {
        "total_posts": total,
        "avg_plays": round(avg_plays),
        "avg_likes": round(avg_likes),
        "top_hashtags": top_tags,
        "top_posts": [{"desc": p.get("desc","")[:80], "plays": p.get("stats",{}).get("playCount",0)} for p in top_posts]
    }

Exemple Python

Python
import requests
import re
from collections import Counter

API_KEY = "your-scavio-api-key"

def get_sec_uid(username):
    r = requests.post("https://api.scavio.dev/api/v1/tiktok/user/profile",
                      json={"username": username}, headers={"Authorization": f"Bearer {API_KEY}"}, timeout=15)
    r.raise_for_status()
    return r.json().get("sec_uid")

def get_posts(sec_uid, max_count=90):
    posts, cursor = [], 0
    while len(posts) < max_count:
        r = requests.post("https://api.scavio.dev/api/v1/tiktok/user/posts",
                          json={"sec_uid": sec_uid, "count": 30, "max_cursor": cursor},
                          headers={"Authorization": f"Bearer {API_KEY}"}, timeout=20)
        r.raise_for_status()
        data = r.json()
        batch = data.get("videos", [])
        if not batch: break
        posts.extend(batch)
        if not data.get("has_more"): break
        cursor = data.get("max_cursor", 0)
    return posts[:max_count]

def analyze(posts):
    if not posts: return {}
    plays = [p.get("stats",{}).get("playCount",0) for p in posts]
    likes = [p.get("stats",{}).get("diggCount",0) for p in posts]
    tags = Counter(t for p in posts for t in re.findall(r"#(\w+)", p.get("desc","")))
    top = sorted(posts, key=lambda p: p.get("stats",{}).get("playCount",0), reverse=True)[:3]
    return {"count": len(posts), "avg_plays": round(sum(plays)/len(plays)),
            "avg_likes": round(sum(likes)/len(likes)), "top_tags": tags.most_common(5),
            "top_posts": [{"desc": p.get("desc","")[:60], "plays": p.get("stats",{}).get("playCount",0)} for p in top]}

def analyze_competitor(username):
    print(f"Analyzing @{username}...")
    sec_uid = get_sec_uid(username)
    if not sec_uid: return print("Not found")
    posts = get_posts(sec_uid)
    stats = analyze(posts)
    print(f"Posts analyzed: {stats['count']}")
    print(f"Avg plays: {stats['avg_plays']:,} | Avg likes: {stats['avg_likes']:,}")
    print(f"Top hashtags: {[t[0] for t in stats['top_tags']]}")
    print("Top posts:")
    for p in stats["top_posts"]:
        print(f"  {p['plays']:>8,} plays | {p['desc']}")

if __name__ == "__main__":
    analyze_competitor("competitor_username")

Exemple JavaScript

JavaScript
const API_KEY = 'your-scavio-api-key';

async function getSecUid(username) {
  const res = await fetch('https://api.scavio.dev/api/v1/tiktok/user/profile', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${API_KEY}` },
    body: JSON.stringify({ username })
  });
  return (await res.json()).sec_uid;
}

async function getPosts(secUid, count = 30) {
  const res = await fetch('https://api.scavio.dev/api/v1/tiktok/user/posts', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${API_KEY}` },
    body: JSON.stringify({ sec_uid: secUid, count, max_cursor: 0 })
  });
  return (await res.json()).videos ?? [];
}

const secUid = await getSecUid('competitor_username');
const posts = await getPosts(secUid);
const avgPlays = posts.reduce((s, p) => s + (p.stats?.playCount ?? 0), 0) / posts.length;
console.log(`Avg plays: ${Math.round(avgPlays).toLocaleString()}`);

Sortie attendue

JSON
Analyzing @competitor_username...
Posts analyzed: 90
Avg plays: 482,441 | Avg likes: 38,209
Top hashtags: ['aitools', 'coding', 'tutorial', 'learntocode', 'python']
Top posts:
  2,841,209 plays | How I built this in 10 minutes using AI #aitools
  1,209,441 plays | Stop using ChatGPT for coding. Use this instead
    891,022 plays | The AI tool that replaced 3 apps for me #productivity

Tutoriels associés

  • Comment créer un workflow d'évaluation des influenceurs TikTok
  • Comment construire un tracker de campagne UGC TikTok
  • Comment rechercher des vidéos et utilisateurs TikTok via l'API

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+. Clé API Scavio avec accès TikTok. 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

Analyse de la stratégie de contenu des concurrents sur TikTok

Read more
Solution

Analyser la stratégie de contenu TikTok des concurrents

Read more
Use Case

Optimisation du contenu TikTok via les données API

Read more
Best Of

Meilleures API d'analyse de hashtags TikTok (2026)

Read more
Best Of

Meilleure API de recherche pour la recherche de contenu en 2026

Read more
Solution

Intelligence de contenu concurrentiel TikTok

Read more

Commencer

Analysez la stratégie de contenu TikTok d'un concurrent en extrayant ses publications via l'API et en calculant la fréquence de publication, l'engagement moyen et les formats de contenu les plus performants.

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é