ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment extraire des données e-commerce de plusieurs marketplaces
Tutoriel

Comment extraire des données e-commerce de plusieurs marketplaces

Interrogez les données produits d'Amazon et Walmart dans un seul pipeline en utilisant l'API Scavio. Normalisez les schémas, comparez les prix et configurez des alertes de baisse de prix.

Obtenez une clé API gratuiteDocumentation API

Extrayez les données produits d'Amazon et Walmart via une seule API en interrogeant les deux plateformes avec la même recherche de produit, en normalisant les différents schémas de réponse en un format unifié, en comparant les prix entre les marketplaces, et en configurant des alertes lorsque les écarts de prix dépassent un seuil. Exécuter des scrappers séparés pour chaque marketplace implique de maintenir deux codebases, deux pools de proxies et deux pipelines d'analyse. Une API de recherche multi-plateforme réduit cela à une seule codebase avec un paramètre de plateforme.

Prérequis

  • Python 3.8+ installé
  • bibliothèque requests installée
  • Une clé API Scavio depuis scavio.dev
  • Une liste de produits à suivre sur plusieurs marketplaces

Parcours

Étape 1: Définir les produits à suivre

Configurez la liste de produits et les marketplaces à interroger pour chaque produit.

Python
import os, requests, json, re

API_KEY = os.environ['SCAVIO_API_KEY']

PRODUCTS = [
    'Sony WH-1000XM5 headphones',
    'Apple AirPods Pro 2',
    'Samsung Galaxy S24 Ultra case',
]
PLATFORMS = ['amazon', 'walmart']

Étape 2: Interroger les deux plateformes

Recherchez chaque produit sur Amazon et Walmart via l'API multi-plateforme de Scavio.

Python
def search_product(product: str, platform: str) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': platform, 'query': product}, timeout=15)
    resp.raise_for_status()
    return resp.json().get('organic_results', [])

def search_all_platforms(product: str) -> dict:
    results = {}
    for platform in PLATFORMS:
        results[platform] = search_product(product, platform)
        print(f'{platform}: {len(results[platform])} results for "{product[:30]}"')
    return results

all_results = search_all_platforms(PRODUCTS[0])

Étape 3: Normaliser le schéma

Mappez les champs de réponse d'Amazon et Walmart vers un schéma commun afin que le code en aval n'ait pas besoin de logique spécifique à la plateforme.

Python
def parse_price(price_str: str) -> float:
    if not price_str:
        return 0.0
    cleaned = re.sub(r'[^\d.]', '', str(price_str))
    try:
        return float(cleaned)
    except ValueError:
        return 0.0

def normalize(result: dict, platform: str) -> dict:
    return {
        'platform': platform,
        'title': result.get('title', ''),
        'price': parse_price(result.get('price', '')),
        'price_raw': result.get('price', ''),
        'rating': result.get('rating', ''),
        'url': result.get('link', ''),
        'image': result.get('thumbnail', result.get('image', '')),
    }

def normalize_all(results: dict) -> list:
    normalized = []
    for platform, items in results.items():
        for item in items[:3]:
            normalized.append(normalize(item, platform))
    return normalized

normalized = normalize_all(all_results)
for n in normalized:
    print(f"{n['platform']:<10} ${n['price']:<8} {n['title'][:50]}")

Étape 4: Comparer les prix entre les marketplaces

Trouvez le meilleur prix pour chaque produit sur Amazon et Walmart.

Python
def compare_prices(product: str) -> dict:
    results = search_all_platforms(product)
    normalized = normalize_all(results)
    if not normalized:
        return {'product': product, 'best': None}
    priced = [n for n in normalized if n['price'] > 0]
    if not priced:
        return {'product': product, 'best': None, 'note': 'no prices found'}
    best = min(priced, key=lambda x: x['price'])
    worst = max(priced, key=lambda x: x['price'])
    savings = worst['price'] - best['price']
    return {
        'product': product,
        'best': {'platform': best['platform'], 'price': best['price'], 'title': best['title'][:50]},
        'worst': {'platform': worst['platform'], 'price': worst['price']},
        'savings': round(savings, 2),
    }

comp = compare_prices(PRODUCTS[0])
print(f"Best: {comp['best']['platform']} ${comp['best']['price']} (save ${comp['savings']})")

Étape 5: Alerter sur les écarts de prix

Configurez des alertes lorsque l'écart de prix entre les marketplaces dépasse un seuil.

Python
PRICE_DIFF_THRESHOLD = 10.0  # dollars

def check_alerts(products: list) -> list:
    alerts = []
    for product in products:
        comp = compare_prices(product)
        if comp.get('savings', 0) >= PRICE_DIFF_THRESHOLD:
            alert = {
                'product': product,
                'best_platform': comp['best']['platform'],
                'best_price': comp['best']['price'],
                'savings': comp['savings'],
            }
            alerts.append(alert)
            print(f'ALERT: {product} - save ${alert["savings"]} on {alert["best_platform"]}')
    if not alerts:
        print('No significant price differences found')
    return alerts

check_alerts(PRODUCTS)

Exemple Python

Python
import requests, os, re
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def compare(product):
    prices = {}
    for platform in ['amazon', 'walmart']:
        data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
            json={'platform': platform, 'query': product}).json()
        top = (data.get('organic_results', []) or [{}])[0]
        price = re.sub(r'[^\d.]', '', top.get('price', '0'))
        prices[platform] = float(price) if price else 0
    return prices

print(compare('Sony WH-1000XM5'))

Exemple JavaScript

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function compare(product) {
  const prices = {};
  for (const platform of ['amazon', 'walmart']) {
    const r = await fetch('https://api.scavio.dev/api/v1/search', {
      method: 'POST', headers: H, body: JSON.stringify({platform, query: product})
    });
    const top = ((await r.json()).organic_results || [])[0] || {};
    prices[platform] = parseFloat((top.price || '0').replace(/[^\d.]/g, '')) || 0;
  }
  return prices;
}
compare('Sony WH-1000XM5').then(console.log);

Sortie attendue

JSON
A unified pipeline that queries Amazon and Walmart for the same products, normalizes the data into a common schema, and alerts on cross-marketplace price differences.

Tutoriels associés

  • Comment construire un traqueur de prix multiplateforme
  • Comment surveiller les prix Amazon sur plusieurs ASIN

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.8+ installé. bibliothèque requests installée. Une clé API Scavio depuis scavio.dev. Une liste de produits à suivre sur plusieurs marketplaces. 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 e-commerce multiplateforme en 2026

Read more
Best Of

Meilleure API de suivi des prix e-commerce en 2026

Read more
Use Case

Intelligence Produits Vendeur Walmart

Read more
Solution

Suivez les produits sur Amazon, Walmart et Google Shopping

Read more
Use Case

Suivi des prix multi-plateformes

Read more
Glossary

Paysage de l'API de données produit Walmart (2026)

Read more

Commencer

Interrogez les données produits d'Amazon et Walmart dans un seul pipeline en utilisant l'API Scavio. Normalisez les schémas, comparez les prix et configurez des alertes de baisse de prix.

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é