ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un rastreador de productos multiplataforma
Tutorial

Cómo crear un rastreador de productos multiplataforma

Realice un seguimiento de la disponibilidad y el precio de los productos en Amazon y Walmart con una única API. La secuencia de comandos de Python registra el estado del stock, los cambios de precios y las alertas de disponibilidad.

Obtener clave API gratisDocumentacion API

Saber cuándo un producto se agota en Amazon pero permanece disponible en Walmart (o viceversa) es fundamental para los vendedores, revendedores y equipos de adquisiciones de arbitraje. Este tutorial crea un rastreador de productos multiplataforma que verifica la disponibilidad y el precio tanto en Amazon como en Walmart a través de la API de Scavio, registra los cambios a lo largo del tiempo y alerta cuando cambia el estado del stock o surgen diferencias de precio significativas entre plataformas. Dos llamadas API por producto y por cheque, $0,01 en total por producto.

Requisitos previos

  • Python 3.8+ o Node.js 18+
  • Una clave API de Scavio de scavio.dev
  • solicita biblioteca instalada (Python)
  • Nombres de productos o identificadores para rastrear

Guia paso a paso

Paso 1: Definir productos a seguir

Crea una lista de productos con términos de búsqueda. Se utilizará la misma consulta para las búsquedas de Amazon y 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',
]

Paso 2: Obtener datos de productos de ambas plataformas

Consulta a Amazon y Walmart para cada producto. Extraiga el precio, la disponibilidad, el título y la calificación del resultado que mejor se adapte a la consulta.

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

Paso 3: Compara plataformas y detecta cambios

Cargue el estado anterior desde un archivo JSON, compárelo con los datos actuales y marque cambios de precios, cambios de acciones y diferencias de precios entre plataformas.

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

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

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

Salida esperada

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

Tutoriales relacionados

  • Cómo monitorear los precios de Amazon en múltiples ASIN
  • Cómo construir un monitor de precios multiplataforma
  • 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 Node.js 18+. Una clave API de Scavio de scavio.dev. solicita biblioteca instalada (Python). Nombres de productos o identificadores para rastrear. 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
Glossary

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

Read more
Solution

Canal de inteligencia y seguimiento de productos de Walmart

Read more

Empieza a construir

Realice un seguimiento de la disponibilidad y el precio de los productos en Amazon y Walmart con una única API. La secuencia de comandos de Python registra el estado del stock, los cambios de precios y las alertas de disponibilidad.

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