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

Comment construire un suivi de produit multiplateforme

Suivez la disponibilité et le prix des produits sur Amazon et Walmart avec une seule API. Le script Python enregistre le statut du stock, les changements de prix et les alertes de disponibilité.

Obtenez une clé API gratuiteDocumentation API

Savoir quand un produit est en rupture de stock sur Amazon mais reste disponible sur Walmart (ou vice versa) est crucial pour les vendeurs d'arbitrage, les revendeurs et les équipes d'approvisionnement. Ce tutoriel construit un suivi de produit multiplateforme qui vérifie la disponibilité et le prix sur Amazon et Walmart via l'API Scavio, enregistre les changements au fil du temps et alerte en cas de changement de statut de stock ou de différences de prix significatives entre les plateformes. Deux appels API par produit par vérification, 0,01 $ au total par produit.

Prérequis

  • Python 3.8+ ou Node.js 18+
  • Une clé API Scavio depuis scavio.dev
  • Bibliothèque requests installée (Python)
  • Noms de produits ou identifiants à suivre

Parcours

Étape 1: Définir les produits à suivre

Créez une liste de produits avec des termes de recherche. La même requête sera utilisée pour les recherches Amazon et Walmart.

Python
import os, json, requests
from datetime import datetime

API_KEY = os.environ['SCAVIO_API_KEY']
ENDPOINT = 'https://api.scavio.dev/api/v1/search'
HEADERS = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}

PRODUCTS = [
    'PlayStation 5 Digital Edition',
    'Nintendo Switch OLED',
    'Dyson V15 Detect',
]

Étape 2: Récupérer les données produit des deux plateformes

Interrogez Amazon et Walmart pour chaque produit. Extrayez le prix, la disponibilité, le titre et l'évaluation du résultat qui correspond le mieux à la requête.

Python
def fetch_product(query, platform):
    body = {'platform': platform, 'query': query}
    if platform == 'amazon':
        body['marketplace'] = 'US'
    resp = requests.post(ENDPOINT, headers=HEADERS, json=body).json()
    products = resp.get('products', [])
    if not products:
        return None
    p = products[0]
    raw_price = str(p.get('price', '')).replace('$', '').replace(',', '')
    try:
        price = float(raw_price)
    except (ValueError, TypeError):
        price = None
    return {
        'title': p.get('title', ''),
        'price': price,
        'availability': p.get('availability', 'Unknown'),
        'rating': p.get('rating', ''),
        'platform': platform,
    }

Étape 3: Comparer les plateformes et détecter les changements

Chargez l'état précédent depuis un fichier JSON, comparez-le avec les données actuelles, et signalez les changements de prix, les changements de stock et les écarts de prix entre plateformes.

Python
def track_products():
    state_file = 'product_state.json'
    try:
        with open(state_file) as f:
            prev_state = json.load(f)
    except FileNotFoundError:
        prev_state = {}
    current_state = {}
    for product in PRODUCTS:
        amazon = fetch_product(product, 'amazon')
        walmart = fetch_product(product, 'walmart')
        current_state[product] = {'amazon': amazon, 'walmart': walmart,
            'checked_at': datetime.now().isoformat()}
        prev = prev_state.get(product, {})
        for platform, data in [('amazon', amazon), ('walmart', walmart)]:
            if not data:
                print(f'[MISSING] {product} not found on {platform}')
                continue
            prev_data = prev.get(platform)
            if prev_data and prev_data.get('price') and data['price']:
                diff = data['price'] - prev_data['price']
                if abs(diff) > 1.0:
                    direction = 'UP' if diff > 0 else 'DOWN'
                    print(f'[PRICE {direction}] {product} on {platform}: '
                          f'${prev_data["price"]} -> ${data["price"]}')
            print(f'[{platform.upper()}] {product}: ${data["price"]} - {data["availability"]}')
        if amazon and walmart and amazon['price'] and walmart['price']:
            gap = abs(amazon['price'] - walmart['price'])
            if gap > 10:
                cheaper = 'amazon' if amazon['price'] < walmart['price'] else 'walmart'
                print(f'  GAP: ${gap:.2f} difference, {cheaper} is cheaper')
    with open(state_file, 'w') as f:
        json.dump(current_state, f, indent=2)
    return current_state

track_products()

Exemple Python

Python
import os, json, requests
from datetime import datetime

API_KEY = os.environ['SCAVIO_API_KEY']
ENDPOINT = 'https://api.scavio.dev/api/v1/search'
H = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}
PRODUCTS = ['PlayStation 5 Digital Edition', 'Nintendo Switch OLED']

def fetch(query, platform):
    body = {'platform': platform, 'query': query}
    if platform == 'amazon': body['marketplace'] = 'US'
    items = requests.post(ENDPOINT, headers=H, json=body).json().get('products', [])
    if not items: return None
    raw = str(items[0].get('price', '')).replace('$', '').replace(',', '')
    try: price = float(raw)
    except ValueError: price = None
    return {'title': items[0].get('title', ''), 'price': price,
        'availability': items[0].get('availability', 'Unknown')}

def track():
    for p in PRODUCTS:
        amz = fetch(p, 'amazon')
        wmt = fetch(p, 'walmart')
        for name, data in [('Amazon', amz), ('Walmart', wmt)]:
            if data:
                print(f'{name}: {p} -> ${data["price"]} ({data["availability"]})')
            else:
                print(f'{name}: {p} -> not found')
        if amz and wmt and amz['price'] and wmt['price']:
            gap = abs(amz['price'] - wmt['price'])
            if gap > 5:
                print(f'  Price gap: ${gap:.2f}')

track()

Exemple JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const H = { 'x-api-key': API_KEY, 'Content-Type': 'application/json' };
const PRODUCTS = ['PlayStation 5 Digital Edition', 'Nintendo Switch OLED'];

async function fetchProduct(query, platform) {
  const body = { platform, query };
  if (platform === 'amazon') body.marketplace = 'US';
  const data = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: H, body: JSON.stringify(body)
  }).then(r => r.json());
  const items = data.products || [];
  if (!items[0]) return null;
  const price = parseFloat(String(items[0].price || '').replace(/[$,]/g, ''));
  return { title: items[0].title, price: isNaN(price) ? null : price,
    availability: items[0].availability || 'Unknown' };
}

async function track() {
  for (const p of PRODUCTS) {
    const amz = await fetchProduct(p, 'amazon');
    const wmt = await fetchProduct(p, 'walmart');
    console.log(`Amazon: ${p} -> $${amz?.price} (${amz?.availability})`);
    console.log(`Walmart: ${p} -> $${wmt?.price} (${wmt?.availability})`);
    if (amz?.price && wmt?.price) {
      const gap = Math.abs(amz.price - wmt.price);
      if (gap > 5) console.log(`  Price gap: $${gap.toFixed(2)}`);
    }
  }
}

track().catch(console.error);

Sortie attendue

JSON
[AMAZON] PlayStation 5 Digital Edition: $449.99 - In Stock
[WALMART] PlayStation 5 Digital Edition: $449.99 - In Stock
[AMAZON] Nintendo Switch OLED: $349.99 - In Stock
[WALMART] Nintendo Switch OLED: $339.99 - In Stock
  GAP: $10.00 difference, walmart is cheaper
[PRICE DOWN] Dyson V15 Detect on amazon: $649.99 -> $599.99

Tutoriels associés

  • Comment surveiller les prix Amazon sur plusieurs ASIN
  • Comment construire un moniteur de prix multi-plateformes
  • Comment construire un outil de comparaison de prix pour Amazon et Walmart

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+ ou Node.js 18+. Une clé API Scavio depuis scavio.dev. Bibliothèque requests installée (Python). Noms de produits ou identifiants à suivre. 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 pour la surveillance des prix multiplateforme en 2026

Read more
Use Case

Surveillance des prix de produits multiplateforme

Read more
Solution

Surveillez les annonces de produits sur Amazon, Walmart et Google Shopping

Read more
Use Case

Intelligence Produits Vendeur Walmart

Read more
Solution

Suivez les produits sur Amazon, Walmart et Google Shopping

Read more

Commencer

Suivez la disponibilité et le prix des produits sur Amazon et Walmart avec une seule API. Le script Python enregistre le statut du stock, les changements de prix et les alertes de disponibilité.

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é