ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un agent de recherche de produits multi-sources
Tutoriel

Comment construire un agent de recherche de produits multi-sources

Créer un agent de recherche de produits en Python qui interroge Google, Amazon et Walmart via Scavio pour compiler des rapports d'intelligence produit complets.

Obtenez une clé API gratuiteDocumentation API

Pour les décisions d'achat, l'enrichissement de catalogue ou l'analyse concurrentielle, la recherche de produits nécessite de collecter des données provenant de multiples sources. Un agent de recherche de produits automatise ce processus en interrogeant Google pour les avis et opinions d'experts, Amazon pour les prix et les retours clients, et Walmart pour des prix alternatifs, puis en synthétisant le tout dans un rapport structuré. Ce tutoriel construit un tel agent en utilisant le point d'accès unifié de l'API Scavio, sans avoir à gérer plusieurs clés API ou limites de débit.

Prérequis

  • Python 3.10 ou supérieur
  • requests et concurrent.futures disponibles
  • Une clé API Scavio
  • Compréhension de base de la fusion et du formatage des données

Parcours

Étape 1: Interroger les trois plates-formes simultanément

Utiliser ThreadPoolExecutor pour interroger Google, Amazon et Walmart simultanément pour un nom de produit.

Python
from concurrent.futures import ThreadPoolExecutor

def fetch_all(product: str) -> dict:
    queries = {
        "google": lambda: search_google(product + " review"),
        "amazon": lambda: search_amazon(product),
        "walmart": lambda: search_walmart(product),
    }
    with ThreadPoolExecutor(max_workers=3) as ex:
        futures = {name: ex.submit(fn) for name, fn in queries.items()}
        return {name: fut.result() for name, fut in futures.items()}

Étape 2: Extraire la fourchette de prix d'Amazon et Walmart

Collecter les prix des deux plates-formes de commerce électronique et calculer le min et le max.

Python
def price_range(data: dict) -> dict:
    prices = []
    for platform in ["amazon", "walmart"]:
        for p in data[platform].get("products", [])[:5]:
            ps = p.get("price", "")
            if ps:
                prices.append(float(ps.replace("$", "").replace(",", "")))
    return {"min": min(prices) if prices else None, "max": max(prices) if prices else None}

Étape 3: Extraire le sentiment des avis Google

Collecter les extraits de résultats organiques de Google qui contiennent des signaux d'avis comme des notes ou des recommandations.

Python
def extract_review_signals(google_data: dict) -> list[str]:
    signals = []
    for r in google_data.get("organic_results", [])[:5]:
        snippet = r.get("snippet", "")
        if any(word in snippet.lower() for word in ["recommend", "rating", "review", "best", "worth"]):
            signals.append(snippet)
    return signals

Étape 4: Assembler et imprimer le rapport de recherche

Combiner la fourchette de prix, les signaux d'avis et le nombre de produits dans un rapport de recherche formaté.

Python
def research_product(product: str) -> str:
    data = fetch_all(product)
    pr = price_range(data)
    signals = extract_review_signals(data["google"])
    lines = [f"Product Research: {product}"]
    lines.append(f"Price range: ${pr['min']} — ${pr['max']}")
    lines.append("Review signals:")
    for s in signals[:3]:
        lines.append(f"  - {s[:100]}")
    return "\n".join(lines)

Exemple Python

Python
import os
import requests
from concurrent.futures import ThreadPoolExecutor

API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
ENDPOINT = "https://api.scavio.dev/api/v1/search"

def call(body: dict) -> dict:
    r = requests.post(ENDPOINT, headers={"x-api-key": API_KEY}, json=body)
    r.raise_for_status()
    return r.json()

def research(product: str) -> dict:
    with ThreadPoolExecutor(max_workers=3) as ex:
        g = ex.submit(call, {"query": f"{product} review", "country_code": "us"})
        a = ex.submit(call, {"platform": "amazon", "query": product, "marketplace": "US"})
        w = ex.submit(call, {"platform": "walmart", "query": product})
        return {"google": g.result(), "amazon": a.result(), "walmart": w.result()}

if __name__ == "__main__":
    data = research("Sony WH-1000XM5")
    amazon_products = data["amazon"].get("products", [])
    print(f"Amazon listings: {len(amazon_products)}")
    if amazon_products:
        print(f"Top Amazon price: {amazon_products[0].get('price')}")  
    google_count = len(data["google"].get("organic_results", []))
    print(f"Google results: {google_count}")

Exemple JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || "your_scavio_api_key";
const ENDPOINT = "https://api.scavio.dev/api/v1/search";

async function call(body) {
  const res = await fetch(ENDPOINT, {
    method: "POST",
    headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify(body)
  });
  return res.json();
}

async function research(product) {
  const [google, amazon, walmart] = await Promise.all([
    call({ query: `${product} review`, country_code: "us" }),
    call({ platform: "amazon", query: product, marketplace: "US" }),
    call({ platform: "walmart", query: product })
  ]);
  return { google, amazon, walmart };
}

async function main() {
  const data = await research("Sony WH-1000XM5");
  console.log(`Amazon listings: ${data.amazon.products?.length || 0}`);
  console.log(`Google results: ${data.google.organic_results?.length || 0}`);
}
main().catch(console.error);

Sortie attendue

JSON
Product Research: Sony WH-1000XM5
Price range: $249.99 — $349.00
Review signals:
  - The WH-1000XM5 remains our top recommendation for noise-canceling headphones...
  - Rated 4.8/5 stars across 50,000+ verified reviews on Amazon...
  - Best premium wireless headphones in 2026 according to our testing...

Tutoriels associés

  • Comment construire un assistant d'achat IA avec LangChain et les données Amazon
  • Comment agréger les avis produits de plusieurs sources

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.10 ou supérieur. requests et concurrent.futures disponibles. Une clé API Scavio. Compréhension de base de la fusion et du formatage des données. 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 de recherche pour agents IA d'études de marché (2026)

Read more
Best Of

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

Read more
Use Case

Agrégation de données multi-sources pour le trading IA

Read more
Use Case

Agrégation de données multi-sources via une API unique

Read more
Solution

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

Read more
Glossary

API de produit e-commerce

Read more

Commencer

Créer un agent de recherche de produits en Python qui interroge Google, Amazon et Walmart via Scavio pour compiler des rapports d'intelligence produit complets.

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é