ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un outil de comparaison de prix pour Amazon et Walmart
Tutoriel

Comment construire un outil de comparaison de prix pour Amazon et Walmart

Construisez un outil de comparaison de prix multiplateforme en Python qui interroge à la fois Amazon et Walmart via l'API Scavio et renvoie le meilleur prix pour tout produit.

Obtenez une clé API gratuiteDocumentation API

Les outils de comparaison de prix aident les acheteurs et les revendeurs à trouver la meilleure offre chez plusieurs détaillants. En construire un nécessite d'interroger plusieurs plateformes, de normaliser les formats de prix et de classer les résultats par valeur. L'API Scavio couvre à la fois Amazon et Walmart avec un point d'accès unifié, ce qui permet d'interroger facilement les deux plateformes et de comparer les résultats côte à côte. Ce tutoriel construit une fonction de comparaison qui accepte un nom de produit, interroge les deux plateformes en parallèle et renvoie une liste triée d'offres.

Prérequis

  • Python 3.10 ou supérieur
  • requests et concurrent.futures (stdlib) disponibles
  • Une clé API Scavio
  • Compréhension de base de la programmation asynchrone ou concurrente

Parcours

Étape 1: Interroger les deux plateformes simultanément

Utilisez concurrent.futures.ThreadPoolExecutor pour interroger Amazon et Walmart en même temps, réduisant ainsi la latence totale.

Python
from concurrent.futures import ThreadPoolExecutor, as_completed

def search_platform(platform: str, query: str) -> list[dict]:
    r = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": platform, "query": query, "marketplace": "US"}
    )
    r.raise_for_status()
    return r.json().get("products", [])

def fetch_both(query: str) -> dict:
    with ThreadPoolExecutor(max_workers=2) as ex:
        futures = {ex.submit(search_platform, p, query): p for p in ["amazon", "walmart"]}
        return {futures[f]: f.result() for f in as_completed(futures)}

Étape 2: Normaliser les prix entre les plateformes

Les deux plateformes renvoient le prix sous forme de chaîne comme "$29.99". Analysez-les en flottants pour la comparaison.

Python
def normalize(product: dict, source: str) -> dict:
    price_str = product.get("price", "")
    price = float(price_str.replace("$", "").replace(",", "")) if price_str else None
    return {"source": source, "title": product.get("title"), "price": price, "raw": price_str}

Étape 3: Fusionner et trier les résultats

Combinez les résultats des deux plateformes en une seule liste et triez par prix croissant.

Python
def compare(query: str) -> list[dict]:
    results = fetch_both(query)
    items = []
    for source, products in results.items():
        items.extend(normalize(p, source) for p in products[:5])
    return sorted(items, key=lambda x: x["price"] or float("inf"))

Étape 4: Afficher le tableau de comparaison

Affichez un tableau formaté montrant le meilleur prix pour le produit sur les deux plateformes.

Python
offers = compare("Sony WH-1000XM5")
print(f"{'Source':<10} {'Price':<10} {'Title'}")
for o in offers[:6]:
    print(f"{o['source']:<10} {o['raw']:<10} {o['title'][:50]}")

Exemple Python

Python
import os
import requests
from concurrent.futures import ThreadPoolExecutor, as_completed

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

def search(platform: str, query: str) -> list[dict]:
    r = requests.post(ENDPOINT, headers={"x-api-key": API_KEY},
                      json={"platform": platform, "query": query, "marketplace": "US"})
    r.raise_for_status()
    return r.json().get("products", [])

def compare(query: str) -> list[dict]:
    with ThreadPoolExecutor(max_workers=2) as ex:
        futs = {ex.submit(search, p, query): p for p in ["amazon", "walmart"]}
        all_items = []
        for f in as_completed(futs):
            src = futs[f]
            for p in f.result()[:5]:
                price_str = p.get("price", "")
                price = float(price_str.replace("$", "").replace(",", "")) if price_str else None
                all_items.append({"source": src, "price": price, "raw": price_str, "title": p.get("title", "")})
    return sorted(all_items, key=lambda x: x["price"] or float("inf"))

if __name__ == "__main__":
    for o in compare("Sony WH-1000XM5")[:6]:
        print(f"{o['source']:<10} {o['raw']:<10} {o['title'][:50]}")

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 searchPlatform(platform, query) {
  const res = await fetch(ENDPOINT, {
    method: "POST",
    headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ platform, query, marketplace: "US" })
  });
  const data = await res.json();
  return (data.products || []).slice(0, 5).map(p => ({ source: platform, ...p }));
}

async function compare(query) {
  const [amazon, walmart] = await Promise.all([
    searchPlatform("amazon", query),
    searchPlatform("walmart", query)
  ]);
  const all = [...amazon, ...walmart];
  return all.sort((a, b) => {
    const pa = parseFloat((a.price || "").replace(/[$,]/g, "")) || Infinity;
    const pb = parseFloat((b.price || "").replace(/[$,]/g, "")) || Infinity;
    return pa - pb;
  });
}

compare("Sony WH-1000XM5").then(results => {
  results.slice(0, 6).forEach(r => console.log(`${r.source}: ${r.price} — ${r.title?.slice(0, 50)}`));
}).catch(console.error);

Sortie attendue

JSON
amazon     $279.00    Sony WH-1000XM5 Wireless Noise Canceling Headphones
amazon     $289.99    Sony WH-1000XM5 Wireless Headphones (Midnight Black)
walmart    $279.00    Sony WH1000XM5 Bluetooth Headphones
walmart    $299.00    Sony WH-1000XM5 Premium Wireless Headphones

Tutoriels associés

  • Comment surveiller les prix Amazon sur plusieurs ASIN
  • Comment récupérer les données de recherche de produits Walmart 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.10 ou supérieur. requests et concurrent.futures (stdlib) disponibles. Une clé API Scavio. Compréhension de base de la programmation asynchrone ou concurrente. 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

Meilleure API de recherche pour les revendeurs et l'arbitrage en 2026

Read more
Best Of

Meilleure API pour la surveillance des prix multiplateforme en 2026

Read more
Use Case

Intelligence Produits Vendeur Walmart

Read more
Solution

Suivez les prix sur Amazon, Walmart et Google Shopping

Read more
Use Case

Suivi des prix multi-plateformes

Read more
Solution

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

Read more

Commencer

Construisez un outil de comparaison de prix multiplateforme en Python qui interroge à la fois Amazon et Walmart via l'API Scavio et renvoie le meilleur prix pour tout produit.

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é