ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un suivi des tendances ecommerce TikTok
Tutoriel

Comment construire un suivi des tendances ecommerce TikTok

Construisez un suivi des tendances ecommerce TikTok qui surveille les produits viraux et les hashtags pour la recherche de dropshipping et DTC. Code Python et JS inclus.

Obtenez une clé API gratuiteDocumentation API

Construire un suivi des tendances ecommerce TikTok avec une API vous permet de surveiller les produits viraux, les hashtags tendance et les niches émergentes en temps réel, afin de dénicher des produits gagnants avant vos concurrents. Ce tutoriel vous guide dans la recherche de contenu TikTok lié au ecommerce, l'extraction de signaux produits à partir des hashtags et légendes, et la construction d'un système de score classant les tendances par vélocité et engagement.

Prérequis

  • Clé API Scavio avec accès TikTok (250 crédits gratuits/mois sur scavio.dev)
  • Python 3.9+ ou Node.js 18+
  • Compréhension de base de la recherche de produits ecommerce

Parcours

Étape 1: Définir les requêtes de recherche de découverte de produits

Créez une liste de requêtes de recherche TikTok qui font remonter les produits viraux. Utilisez des requêtes sous forme de hashtags et des mots-clés de catégories de produits que les dropshippers et les marques DTC surveillent habituellement. Incluez à la fois des requêtes de tendances larges et spécifiques à des niches.

Python
search_queries = [
    'tiktok made me buy it',
    'viral product 2026',
    'amazon finds must have',
    'small business check',
    'dropshipping winning product',
    'kitchen gadget viral',
    'skincare routine viral',
    'home organization hack',
]

Étape 2: Rechercher du contenu tendance sur TikTok

Interrogez le point d'accès de recherche TikTok de Scavio pour chaque requête de découverte de produit. Collectez les métadonnées des vidéos, y compris le nombre de vues, de likes, de partages, les hashtags et les dates de publication. Ces données brutes deviennent votre signal de tendance.

Python
import requests

API_KEY = 'your_scavio_api_key'

def search_tiktok(query, count=20):
    resp = requests.post(
        'https://api.scavio.dev/api/v1/tiktok/search/videos',
        headers={'Authorization': f'Bearer {API_KEY}'},
        json={'query': query, 'count': count}
    )
    resp.raise_for_status()
    return resp.json().get('videos', [])

all_videos = []
for q in search_queries:
    videos = search_tiktok(q, count=20)
    for v in videos:
        v['search_query'] = q
    all_videos.extend(videos)

print(f'Collected {len(all_videos)} videos across {len(search_queries)} queries')

Étape 3: Extraire et classer les hashtags par engagement

Analysez les hashtags de toutes les vidéos collectées et agrégéz les métriques d'engagement par hashtag. Les hashtags qui apparaissent dans plusieurs vidéos à fort engagement signalent un produit ou une niche en tendance.

Python
from collections import defaultdict

hashtag_stats = defaultdict(lambda: {'total_views': 0, 'total_likes': 0, 'video_count': 0})

for v in all_videos:
    for tag in v.get('hashtags', []):
        tag_lower = tag.lower()
        hashtag_stats[tag_lower]['total_views'] += v.get('views', 0)
        hashtag_stats[tag_lower]['total_likes'] += v.get('likes', 0)
        hashtag_stats[tag_lower]['video_count'] += 1

# Rank by a composite score: views * sqrt(video_count)
import math

ranked = sorted(
    hashtag_stats.items(),
    key=lambda x: x[1]['total_views'] * math.sqrt(x[1]['video_count']),
    reverse=True
)

print('Top trending hashtags:')
for tag, stats in ranked[:15]:
    print(f'  #{tag}: {stats["total_views"]:,} views, {stats["video_count"]} videos')

Étape 4: Noter et classer les tendances produits

Attribuez un score de tendance à chaque cluster de hashtags basé sur la vélocité d'engagement (vues par vidéo), l'étendue (nombre de vidéos uniques) et la récence. Classez les tendances comme émergentes, à leur pic ou saturées en fonction des seuils de score.

Python
def score_trend(stats):
    views_per_video = stats['total_views'] / max(stats['video_count'], 1)
    breadth = stats['video_count']
    score = (views_per_video / 1000) * math.sqrt(breadth)
    if score > 100 and breadth < 10:
        phase = 'emerging'
    elif score > 50:
        phase = 'peaking'
    else:
        phase = 'saturated'
    return {'score': round(score, 1), 'phase': phase, 'views_per_video': int(views_per_video)}

trends = []
for tag, stats in ranked[:30]:
    trend = score_trend(stats)
    trend['hashtag'] = tag
    trend['total_views'] = stats['total_views']
    trend['video_count'] = stats['video_count']
    trends.append(trend)

for t in trends[:10]:
    print(f'#{t["hashtag"]} | score: {t["score"]} | phase: {t["phase"]} | {t["views_per_video"]:,} views/vid')

Étape 5: Exporter le rapport de tendances

Enregistrez les tendances notées dans un fichier JSON que vous pouvez intégrer dans votre workflow de recherche de produits, vos alertes Slack ou votre tableau de bord. Incluez les données brutes afin de pouvoir les re-noter avec différents seuils ultérieurement.

Python
import json

report = {
    'scan_date': '2026-05-12',
    'total_videos_analyzed': len(all_videos),
    'unique_hashtags': len(hashtag_stats),
    'top_trends': trends,
}

with open('tiktok_ecommerce_trends.json', 'w') as f:
    json.dump(report, f, indent=2)

print(f'Exported {len(trends)} trends to tiktok_ecommerce_trends.json')

Exemple Python

Python
import requests
import math
import json
from collections import defaultdict

API_KEY = 'your_scavio_api_key'

search_queries = [
    'tiktok made me buy it',
    'viral product 2026',
    'amazon finds must have',
    'dropshipping winning product',
]

def search_tiktok(query, count=20):
    resp = requests.post(
        'https://api.scavio.dev/api/v1/tiktok/search/videos',
        headers={'Authorization': f'Bearer {API_KEY}'},
        json={'query': query, 'count': count}
    )
    resp.raise_for_status()
    return resp.json().get('videos', [])

all_videos = []
for q in search_queries:
    videos = search_tiktok(q, count=20)
    for v in videos:
        v['search_query'] = q
    all_videos.extend(videos)

hashtag_stats = defaultdict(lambda: {'total_views': 0, 'total_likes': 0, 'video_count': 0})
for v in all_videos:
    for tag in v.get('hashtags', []):
        tag_lower = tag.lower()
        hashtag_stats[tag_lower]['total_views'] += v.get('views', 0)
        hashtag_stats[tag_lower]['total_likes'] += v.get('likes', 0)
        hashtag_stats[tag_lower]['video_count'] += 1

ranked = sorted(
    hashtag_stats.items(),
    key=lambda x: x[1]['total_views'] * math.sqrt(x[1]['video_count']),
    reverse=True
)

trends = []
for tag, stats in ranked[:30]:
    vpv = stats['total_views'] / max(stats['video_count'], 1)
    score = (vpv / 1000) * math.sqrt(stats['video_count'])
    phase = 'emerging' if score > 100 and stats['video_count'] < 10 else ('peaking' if score > 50 else 'saturated')
    trends.append({
        'hashtag': tag,
        'score': round(score, 1),
        'phase': phase,
        'total_views': stats['total_views'],
        'video_count': stats['video_count'],
    })

report = {
    'scan_date': '2026-05-12',
    'total_videos': len(all_videos),
    'top_trends': trends,
}

with open('tiktok_ecommerce_trends.json', 'w') as f:
    json.dump(report, f, indent=2)

print(f'Analyzed {len(all_videos)} videos, found {len(trends)} trends')
for t in trends[:5]:
    print(f'  #{t["hashtag"]} | score: {t["score"]} | {t["phase"]}')

Exemple JavaScript

JavaScript
const fs = require('fs');

const API_KEY = 'your_scavio_api_key';

const searchQueries = [
  'tiktok made me buy it',
  'viral product 2026',
  'amazon finds must have',
  'dropshipping winning product',
];

async function searchTiktok(query, count = 20) {
  const resp = await fetch('https://api.scavio.dev/api/v1/tiktok/search/videos', {
    method: 'POST',
    headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, count }),
  });
  const data = await resp.json();
  return data.videos || [];
}

async function main() {
  const allVideos = [];
  for (const q of searchQueries) {
    const videos = await searchTiktok(q, 20);
    videos.forEach(v => { v.search_query = q; });
    allVideos.push(...videos);
  }

  const hashtagStats = {};
  for (const v of allVideos) {
    for (const tag of v.hashtags || []) {
      const t = tag.toLowerCase();
      if (!hashtagStats[t]) hashtagStats[t] = { totalViews: 0, totalLikes: 0, videoCount: 0 };
      hashtagStats[t].totalViews += v.views || 0;
      hashtagStats[t].totalLikes += v.likes || 0;
      hashtagStats[t].videoCount += 1;
    }
  }

  const ranked = Object.entries(hashtagStats)
    .sort((a, b) => b[1].totalViews * Math.sqrt(b[1].videoCount) - a[1].totalViews * Math.sqrt(a[1].videoCount))
    .slice(0, 30);

  const trends = ranked.map(([tag, stats]) => {
    const vpv = stats.totalViews / Math.max(stats.videoCount, 1);
    const score = (vpv / 1000) * Math.sqrt(stats.videoCount);
    const phase = score > 100 && stats.videoCount < 10 ? 'emerging' : score > 50 ? 'peaking' : 'saturated';
    return { hashtag: tag, score: Math.round(score * 10) / 10, phase, totalViews: stats.totalViews, videoCount: stats.videoCount };
  });

  const report = { scan_date: '2026-05-12', total_videos: allVideos.length, top_trends: trends };
  fs.writeFileSync('tiktok_ecommerce_trends.json', JSON.stringify(report, null, 2));
  console.log(`Analyzed ${allVideos.length} videos, found ${trends.length} trends`);
  trends.slice(0, 5).forEach(t => console.log(`  #${t.hashtag} | score: ${t.score} | ${t.phase}`));
}

main();

Sortie attendue

JSON
Analyzed 80 videos, found 30 trends
  #tiktokmademebuyit | score: 245.3 | peaking
  #viralproduct | score: 189.7 | peaking
  #amazonfind | score: 134.2 | emerging
  #kitchengadget | score: 98.4 | peaking
  #dropshipping2026 | score: 76.1 | emerging

Tutoriels associés

  • Comment vérifier les créateurs TikTok avant un sponsoring avec une checklist API
  • Comment analyser le sentiment des commentaires TikTok avec API + LLM
  • Comment construire un pipeline de génération de leads avec l'API Search

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.

Clé API Scavio avec accès TikTok (250 crédits gratuits/mois sur scavio.dev). Python 3.9+ ou Node.js 18+. Compréhension de base de la recherche de produits ecommerce. 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

Détection des tendances produits TikTok pour le e-commerce

Read more
Best Of

Meilleurs outils de détection des tendances produits TikTok (Mai 2026)

Read more
Use Case

Recherche de produits dropship via API

Read more
Best Of

Meilleure API de recherche de produits TikTok en 2026

Read more
Solution

Détecter les produits tendance sur TikTok avant leur pic

Read more
Workflow

Workflow du rapport de tendance ecommerce TikTok hebdomadaire

Read more

Commencer

Construisez un suivi des tendances ecommerce TikTok qui surveille les produits viraux et les hashtags pour la recherche de dropshipping et DTC. Code Python et JS inclus.

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é