ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un buscador de ofertas con seguimiento de precios y alertas
Tutorial

Cómo crear un buscador de ofertas con seguimiento de precios y alertas

Cree un buscador de ofertas en Python que supervise los precios de Amazon y Walmart, calcule el porcentaje de descuento y envíe alertas cuando las ofertas superen un umbral.

Obtener clave API gratisDocumentacion API

Las aplicaciones de búsqueda de ofertas observan los precios de los productos en los minoristas y notifican a los usuarios cuando los precios bajan significativamente. Las métricas clave son el precio actual versus el precio original o histórico, expresado como porcentaje de descuento. Las respuestas de productos de Amazon y Walmart de la API de Scavio incluyen precios actuales y originales cuando están disponibles, lo que facilita calcular los descuentos sobre la marcha. Este tutorial crea un buscador de ofertas que escanea los resultados de búsqueda de productos, calcula descuentos y genera ofertas por encima de un umbral configurable.

Requisitos previos

  • Python 3.8 o superior
  • solicita biblioteca instalada
  • Una clave API de Scavio
  • Matemáticas básicas de Python y análisis de cadenas

Guia paso a paso

Paso 1: Buscar productos y extraer precios

Consulta en Amazon una categoría de producto y extrae tanto el precio actual como el precio original de cada resultado.

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"))

Paso 2: Calcular porcentaje de descuento

Calcule el porcentaje de descuento del precio actual y original. Devuelve 0 si el precio original no está 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)

Paso 3: Filtrar ofertas por encima de un umbral

Escanee todos los productos y devuélvalos con un porcentaje de descuento igual o superior al umbral configurado.

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)

Paso 4: Imprimir alertas de ofertas

Genere una alerta de oferta formateada para cada producto calificado.

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')}")

Ejemplo en 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')}")

Ejemplo en 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);

Salida esperada

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

Tutoriales relacionados

  • Cómo monitorear los precios de Amazon en múltiples ASIN
  • Cómo crear una herramienta de comparación de precios para Amazon y Walmart

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Python 3.8 o superior. solicita biblioteca instalada. Una clave API de Scavio. Matemáticas básicas de Python y análisis de cadenas. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores API de productos de Amazon para reemplazar raspadores (2026)

Read more
Best Of

La mejor API de raspado de Amazon en 2026

Read more
Use Case

Migración de Amazon Scraper a API

Read more
Glossary

Panorama de proveedores de API de búsqueda (2026)

Read more
Glossary

API de datos de productos de Amazon

Read more
Comparison

Scavio vs Keepa

Read more

Empieza a construir

Cree un buscador de ofertas en Python que supervise los precios de Amazon y Walmart, calcule el porcentaje de descuento y envíe alertas cuando las ofertas superen un umbral.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad