ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un chercheur de bonnes affaires avec surveillance des prix et alertes
Tutoriel

Comment construire un chercheur de bonnes affaires avec surveillance des prix et alertes

Construire un chercheur de bonnes affaires en Python qui surveille les prix Amazon et Walmart, calcule le pourcentage de réduction et envoie des alertes lorsque les offres dépassent un seuil.

Obtenez une clé API gratuiteDocumentation API

Les applications de recherche de bonnes affaires surveillent les prix des produits chez différents détaillants et informent les utilisateurs lorsque les prix baissent significativement. Les indicateurs clés sont le prix actuel par rapport au prix d'origine ou historique, exprimé en pourcentage de réduction. Les réponses de produits Amazon et Walmart de l'API Scavio incluent à la fois les prix actuels et d'origine lorsqu'ils sont disponibles, ce qui permet de calculer facilement les réductions à la volée. Ce tutoriel construit un chercheur de bonnes affaires qui analyse les résultats de recherche de produits, calcule les réductions et affiche les offres au-dessus d'un seuil configurable.

Prérequis

  • Python 3.8 ou supérieur
  • bibliothèque requests installée
  • Une clé API Scavio
  • Opérations mathématiques de base en Python et analyse de chaînes

Parcours

Étape 1: Rechercher des produits et extraire les prix

Interroger Amazon pour une catégorie de produits et extraire le prix actuel et le prix d'origine pour chaque résultat.

Python
def extract_prices(product: dict) -> tuple[float | None, float | None]:
    def parse(s):
        return float(s.replace("$", "").replace(",", "")) if s else None
    return parse(product.get("price")), parse(product.get("original_price"))

Étape 2: Calculer le pourcentage de réduction

Calculer le pourcentage de réduction à partir du prix actuel et du prix d'origine. Retourner 0 si le prix d'origine n'est pas disponible.

Python
def discount_pct(current: float | None, original: float | None) -> float:
    if not current or not original or original <= current:
        return 0.0
    return round((original - current) / original * 100, 1)

Étape 3: Filtrer les offres au-dessus d'un seuil

Analyser tous les produits et retourner ceux dont le pourcentage de réduction est égal ou supérieur au seuil configuré.

Python
def find_deals(products: list[dict], min_discount: float = 20.0) -> list[dict]:
    deals = []
    for p in products:
        current, original = extract_prices(p)
        pct = discount_pct(current, original)
        if pct >= min_discount:
            deals.append({**p, "discount_pct": pct})
    return sorted(deals, key=lambda x: x["discount_pct"], reverse=True)

Étape 4: Afficher les alertes de bonnes affaires

Afficher une alerte de bonne affaire formatée pour chaque produit qualifié.

Python
def print_deals(deals: list[dict]) -> None:
    if not deals:
        print("No deals found above threshold")
        return
    for d in deals:
        print(f"[{d['discount_pct']}% OFF] {d['title'][:50]}")
        print(f"  Now: {d.get('price')} | Was: {d.get('original_price')}")

Exemple Python

Python
import os
import requests

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

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

def parse_price(s): return float(s.replace("$", "").replace(",", "")) if s else None

def find_deals(products, min_pct=20):
    deals = []
    for p in products:
        curr = parse_price(p.get("price"))
        orig = parse_price(p.get("original_price"))
        if curr and orig and orig > curr:
            pct = round((orig - curr) / orig * 100, 1)
            if pct >= min_pct:
                deals.append({**p, "pct": pct})
    return sorted(deals, key=lambda x: x["pct"], reverse=True)

if __name__ == "__main__":
    products = search_amazon("bluetooth headphones")
    for deal in find_deals(products):
        print(f"[{deal['pct']}% off] {deal.get('title', '')[:50]} — {deal.get('price')}")

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

function parsePrice(s) { return s ? parseFloat(s.replace(/[$,]/g, "")) : null; }

function findDeals(products, minPct = 20) {
  return products
    .map(p => ({ ...p, pct: (() => {
      const curr = parsePrice(p.price), orig = parsePrice(p.original_price);
      return curr && orig && orig > curr ? Math.round((orig - curr) / orig * 1000) / 10 : 0;
    })() }))
    .filter(p => p.pct >= minPct)
    .sort((a, b) => b.pct - a.pct);
}

searchAmazon("bluetooth headphones").then(products => {
  findDeals(products).forEach(d => console.log(`[${d.pct}% off] ${d.title?.slice(0, 50)} — ${d.price}`));
}).catch(console.error);

Sortie attendue

JSON
[45% off] Beats Studio3 Wireless Headphones
  Now: $109.99 | Was: $199.99

[30% off] Sony WH-CH520 Wireless Headphones
  Now: $34.99 | Was: $49.99

[25% off] JBL Tune 510BT Wireless On-Ear
  Now: $29.99 | Was: $39.99

Tutoriels associés

  • Comment surveiller les prix Amazon sur plusieurs ASIN
  • 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 supérieur. bibliothèque requests installée. Une clé API Scavio. Opérations mathématiques de base en Python et analyse de chaînes. 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 pour la surveillance des prix en 2026

Read more
Best Of

Meilleure API de suivi des prix e-commerce en 2026

Read more
Use Case

Surveillance des prix multi-plateformes

Read more
Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more
Solution

Soyez alerté lorsque les prix des produits changent sur Amazon et Walmart

Read more
Use Case

Suivi des prix multi-plateformes

Read more

Commencer

Construire un chercheur de bonnes affaires en Python qui surveille les prix Amazon et Walmart, calcule le pourcentage de réduction et envoie des alertes lorsque les offres dépassent un seuil.

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é