ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un agent de recherche produit multiplateforme
Tutoriel

Comment construire un agent de recherche produit multiplateforme

Construisez un agent IA qui recherche des produits simultanément sur la recherche web, TikTok et YouTube. Obtenez une intelligence produit à 360 degrés en un seul pipeline.

Obtenez une clé API gratuiteDocumentation API

Une recherche de produit qui ne vérifie qu'une seule plateforme passe à côté de l'image complète. Un produit peut être tendance sur TikTok mais avoir de mauvais avis sur Google, ou être très bien noté en ligne mais inconnu sur les réseaux sociaux. Ce tutoriel construit un agent de recherche multiplateforme qui combine la recherche web, les données TikTok et la couverture YouTube en un rapport unifié d'intelligence produit. Coût total par produit : 3 recherches + 1 requête TikTok = $0.020.

Prérequis

  • Python 3.9+ installé
  • bibliothèque requests installée
  • Une clé API Scavio provenant de scavio.dev

Parcours

Étape 1: Créer des fonctions de recherche spécifiques à chaque plateforme

Créez des fonctions de recherche distinctes pour le web, TikTok et YouTube. Chacune renvoie des résultats normalisés avec des métadonnées spécifiques à la plateforme.

Python
import requests, os, time

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

def search_web(query: str) -> list:
    resp = requests.post(SEARCH_URL,
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us', 'num_results': 10})
    return [{'title': r['title'], 'url': r['link'], 'snippet': r.get('snippet', ''),
             'platform': 'web'} for r in resp.json().get('organic_results', [])]

def search_youtube(query: str) -> list:
    resp = requests.post(SEARCH_URL,
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': f'site:youtube.com {query} review',
              'country_code': 'us', 'num_results': 5})
    return [{'title': r['title'].replace(' - YouTube', ''), 'url': r['link'],
             'snippet': r.get('snippet', ''), 'platform': 'youtube'}
            for r in resp.json().get('organic_results', [])
            if 'youtube.com' in r.get('link', '')]

def search_tiktok(query: str) -> list:
    resp = requests.post(f'{TT_URL}/search/videos',
        headers={'Authorization': f'Bearer {SCAVIO_KEY}',
                 'Content-Type': 'application/json'},
        json={'keyword': query, 'count': 10, 'cursor': 0})
    videos = resp.json().get('data', {}).get('videos', [])
    return [{'title': v.get('desc', '')[:80], 'author': v.get('author', {}).get('uniqueId', ''),
             'plays': v.get('stats', {}).get('playCount', 0),
             'likes': v.get('stats', {}).get('diggCount', 0),
             'platform': 'tiktok'} for v in videos]

print('Platform search functions ready')

Étape 2: Construire le pipeline de recherche multiplateforme

Recherchez un produit sur les trois plateformes et compilez les résultats en un rapport unifié.

Python
def research_product(product_name: str) -> dict:
    print(f'Researching: {product_name}\n')
    # Web search: reviews and pricing
    web_results = search_web(f'{product_name} review 2026')
    time.sleep(0.3)
    # YouTube: video reviews
    yt_results = search_youtube(product_name)
    time.sleep(0.3)
    # TikTok: social buzz
    tt_results = search_tiktok(product_name)
    # Analyze web sentiment
    web_text = ' '.join(r['snippet'] for r in web_results).lower()
    positive_signals = sum(1 for w in ['best', 'excellent', 'recommend', 'love', 'great']
                          if w in web_text)
    negative_signals = sum(1 for w in ['worst', 'avoid', 'terrible', 'scam', 'overpriced']
                          if w in web_text)
    # Analyze TikTok engagement
    tt_total_plays = sum(v.get('plays', 0) for v in tt_results)
    tt_total_likes = sum(v.get('likes', 0) for v in tt_results)
    tt_creators = len(set(v.get('author', '') for v in tt_results))
    return {
        'product': product_name,
        'web': {'results': len(web_results), 'positive': positive_signals,
                'negative': negative_signals, 'top_result': web_results[0]['title'] if web_results else ''},
        'youtube': {'videos': len(yt_results),
                    'top_video': yt_results[0]['title'] if yt_results else ''},
        'tiktok': {'videos': len(tt_results), 'total_plays': tt_total_plays,
                   'total_likes': tt_total_likes, 'unique_creators': tt_creators},
        'credits_used': 3,  # 1 web + 1 youtube + 1 tiktok
        'cost': 0.015
    }

Étape 3: Générer le rapport d'intelligence produit

Formatez les données multiplateformes en un rapport lisible avec des informations spécifiques à chaque plateforme.

Python
def product_report(data: dict):
    print(f'Product Intelligence Report: {data["product"]}')
    print('=' * 50)
    # Web presence
    web = data['web']
    sentiment = 'positive' if web['positive'] > web['negative'] else 'negative' if web['negative'] > web['positive'] else 'neutral'
    print(f'\nWeb Search ({web["results"]} results):')
    print(f'  Sentiment: {sentiment} ({web["positive"]} positive, {web["negative"]} negative)')
    if web['top_result']:
        print(f'  Top result: {web["top_result"][:50]}')
    # YouTube coverage
    yt = data['youtube']
    print(f'\nYouTube ({yt["videos"]} videos found):')
    if yt['top_video']:
        print(f'  Top review: {yt["top_video"][:50]}')
    # TikTok buzz
    tt = data['tiktok']
    print(f'\nTikTok ({tt["videos"]} videos):')
    print(f'  Total plays: {tt["total_plays"]:,}')
    print(f'  Total likes: {tt["total_likes"]:,}')
    print(f'  Unique creators: {tt["unique_creators"]}')
    # Overall assessment
    tiktok_buzz = 'high' if tt['total_plays'] > 100000 else 'medium' if tt['total_plays'] > 10000 else 'low'
    print(f'\nOverall:')
    print(f'  Web sentiment: {sentiment}')
    print(f'  TikTok buzz: {tiktok_buzz}')
    print(f'  YouTube coverage: {"good" if yt["videos"] >= 3 else "limited"}')
    print(f'  Cost: ${data["cost"]:.3f} ({data["credits_used"]} API calls)')

# Research a product
data = research_product('Stanley Quencher tumbler')
product_report(data)

Exemple Python

Python
import requests, os, time

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

def research(product):
    # Web
    web = requests.post(SEARCH, headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': f'{product} review 2026', 'country_code': 'us', 'num_results': 5}).json()
    # YouTube
    yt = requests.post(SEARCH, headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': f'site:youtube.com {product} review', 'country_code': 'us', 'num_results': 3}).json()
    # TikTok
    tt = requests.post(f'{TT}/search/videos', headers={'Authorization': f'Bearer {SCAVIO_KEY}',
        'Content-Type': 'application/json'}, json={'keyword': product, 'count': 10, 'cursor': 0}).json()
    web_count = len(web.get('organic_results', []))
    yt_count = len([r for r in yt.get('organic_results', []) if 'youtube' in r.get('link', '')])
    tt_plays = sum(v.get('stats', {}).get('playCount', 0) for v in tt.get('data', {}).get('videos', []))
    print(f'{product}: web={web_count}, youtube={yt_count}, tiktok_plays={tt_plays:,}')

research('Stanley Quencher tumbler')

Exemple JavaScript

JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;

async function research(product) {
  const web = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: `${product} review 2026`, country_code: 'us', num_results: 5 })
  }).then(r => r.json());
  const yt = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: `site:youtube.com ${product} review`, country_code: 'us', num_results: 3 })
  }).then(r => r.json());
  const tt = await fetch('https://api.scavio.dev/api/v1/tiktok/search/videos', {
    method: 'POST', headers: { 'Authorization': `Bearer ${SCAVIO_KEY}`, 'Content-Type': 'application/json' },
    body: JSON.stringify({ keyword: product, count: 10, cursor: 0 })
  }).then(r => r.json());
  const plays = (tt.data?.videos || []).reduce((s, v) => s + (v.stats?.playCount || 0), 0);
  console.log(`${product}: web=${(web.organic_results||[]).length}, tiktok_plays=${plays.toLocaleString()}`);
}

research('Stanley Quencher tumbler');

Sortie attendue

JSON
Researching: Stanley Quencher tumbler

Product Intelligence Report: Stanley Quencher tumbler
==================================================

Web Search (10 results):
  Sentiment: positive (3 positive, 0 negative)
  Top result: Stanley Quencher H2.0 Review 2026 - Best Tumb

YouTube (4 videos found):
  Top review: Stanley Quencher vs YETI Rambler - Honest Rev

TikTok (10 videos):
  Total plays: 2,450,000
  Total likes: 185,000
  Unique creators: 8

Overall:
  Web sentiment: positive
  TikTok buzz: high
  YouTube coverage: good
  Cost: $0.015 (3 API calls)

Tutoriels associés

  • Comment construire un détecteur de tendances produits TikTok
  • Comment construire un pipeline API de notation de créateurs TikTok
  • Comment remplacer le scraping YouTube par une API SERP

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 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

Recherche Multi-Plateforme de l'Agent de Codage Pi

Read more
Best Of

Meilleure API de recherche pour agents de recherche approfondie en 2026

Read more
Use Case

Recherche de produits dropship via API

Read more
Best Of

Meilleures API de données multi-plateformes pour le grounding des agents en mai 2026

Read more
Solution

Intelligence multiplateforme à partir d'un seul point de terminaison API

Read more
Solution

Alimentez votre agent avec six plateformes pour des données fraîches

Read more

Commencer

Construisez un agent IA qui recherche des produits simultanément sur la recherche web, TikTok et YouTube. Obtenez une intelligence produit à 360 degrés en un seul pipeline.

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é