ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear una herramienta de comparación de precios para Amazon y Walmart
Tutorial

Cómo crear una herramienta de comparación de precios para Amazon y Walmart

Cree una herramienta de comparación de precios multiplataforma en Python que consulte tanto a Amazon como a Walmart a través de la API de Scavio y devuelva el mejor precio para cualquier producto.

Obtener clave API gratisDocumentacion API

Las herramientas de comparación de precios ayudan a los compradores y revendedores a encontrar la mejor oferta entre varios minoristas. Crear uno requiere consultar múltiples plataformas, normalizar formatos de precios y clasificar los resultados por valor. La API de Scavio cubre tanto a Amazon como a Walmart con un punto final unificado, lo que facilita consultar ambas plataformas y comparar resultados en paralelo. Este tutorial crea una función de comparación que acepta el nombre de un producto, consulta ambas plataformas en paralelo y devuelve una lista ordenada de ofertas.

Requisitos previos

  • Python 3.10 o superior
  • solicitudes y futuros concurrentes (stdlib) disponibles
  • Una clave API de Scavio
  • Comprensión básica de la programación asíncrona o concurrente

Guia paso a paso

Paso 1: Consulta ambas plataformas simultáneamente

Utilice concurrent.futures.ThreadPoolExecutor para consultar Amazon y Walmart al mismo tiempo, reduciendo la latencia total.

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

Paso 2: Normalizar los precios en todas las plataformas

Ambas plataformas devuelven el precio como una cadena como "$29,99". Analícelos en flotantes para compararlos.

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}

Paso 3: Fusionar y ordenar resultados

Combine resultados de ambas plataformas en una lista y ordénelos por precio ascendente.

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

Paso 4: Mostrar la tabla comparativa

Imprima una tabla formateada que muestre el mejor precio del producto en ambas plataformas.

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

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

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

Salida esperada

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

Tutoriales relacionados

  • Cómo monitorear los precios de Amazon en múltiples ASIN
  • Cómo obtener datos de búsqueda de productos de Walmart a través de API

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.10 o superior. solicitudes y futuros concurrentes (stdlib) disponibles. Una clave API de Scavio. Comprensión básica de la programación asíncrona o concurrente. 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

API de investigación de los mejores vendedores de Walmart (2026)

Read more
Use Case

Inteligencia de producto del vendedor de Walmart

Read more
Glossary

Panorama de la API de datos de productos de Walmart (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

Empieza a construir

Cree una herramienta de comparación de precios multiplataforma en Python que consulte tanto a Amazon como a Walmart a través de la API de Scavio y devuelva el mejor precio para cualquier producto.

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