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

Cómo crear alertas de precios de productos multiplataforma

Supervise los precios de los productos en Amazon, Walmart y Google Shopping desde una sola API. Alertas automáticas de caída de precios a $0,015/producto.

Obtener clave API gratisDocumentacion API

El monitoreo de precios en múltiples plataformas generalmente requiere raspadores separados o herramientas costosas. Este tutorial crea un sistema de alerta de precios unificado que verifica Amazon, Walmart y Google Shopping a través de la API de Scavio. Usted define los precios objetivo y recibe alertas sobre las caídas. Cada cheque de tres plataformas cuesta $0,015 por producto.

Requisitos previos

  • Python 3.8+
  • solicita biblioteca
  • Una clave API de Scavio de scavio.dev
  • Productos a monitorear con precios objetivo

Guia paso a paso

Paso 1: Definir productos y consultar precios en todas las plataformas

Busque productos en Amazon, Walmart y Google Shopping simultáneamente.

Python
import os, requests, json
from datetime import datetime

API_KEY = os.environ['SCAVIO_API_KEY']
SH = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}

MONITOR_LIST = [
    {'name': 'AirPods Pro 2', 'query': 'Apple AirPods Pro 2nd generation', 'target_price': 180.00},
    {'name': 'Keychron K8 Pro', 'query': 'Keychron K8 Pro wireless mechanical keyboard', 'target_price': 95.00},
    {'name': 'Anker 737 Charger', 'query': 'Anker 737 portable charger 24000mah', 'target_price': 80.00},
]

PLATFORMS = ['amazon', 'walmart', None]  # None = Google Shopping

def extract_price(text):
    if not text:
        return None
    try:
        cleaned = str(text).replace('$', '').replace(',', '').split('-')[0].split(' ')[0].strip()
        return float(cleaned)
    except (ValueError, IndexError):
        return None

def check_prices(product):
    results = []
    for platform in PLATFORMS:
        body = {'query': product['query'], 'country_code': 'us'}
        if platform:
            body['platform'] = platform
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json=body, timeout=10).json()
        for r in data.get('organic_results', [])[:3]:
            price = extract_price(r.get('price', r.get('extracted_price', '')))
            if price:
                results.append({
                    'platform': platform or 'google',
                    'title': r.get('title', '')[:50],
                    'price': price,
                    'link': r.get('link', ''),
                })
    return results

for product in MONITOR_LIST:
    prices = check_prices(product)
    print(f'\n{product["name"]} (target: ${product["target_price"]:.2f})')
    for p in sorted(prices, key=lambda x: x['price'])[:5]:
        below = ' << BELOW TARGET' if p['price'] <= product['target_price'] else ''
        print(f'  {p["platform"]:8} ${p["price"]:>8.2f} | {p["title"][:40]}{below}')
print(f'\nCost: ${len(MONITOR_LIST) * len(PLATFORMS) * 0.005:.3f}')

Paso 2: Generar alertas de bajada de precios

Compare los precios actuales con los objetivos y los precios anteriores para detectar caídas.

Python
PRICE_HISTORY = 'price_alerts_history.json'

def load_price_history():
    try:
        with open(PRICE_HISTORY) as f:
            return json.load(f)
    except FileNotFoundError:
        return {}

def save_price_history(history):
    with open(PRICE_HISTORY, 'w') as f:
        json.dump(history, f, indent=2)

def check_alerts(monitor_list):
    history = load_price_history()
    alerts = []
    today = datetime.now().strftime('%Y-%m-%d')
    for product in monitor_list:
        prices = check_prices(product)
        if not prices:
            continue
        best = min(prices, key=lambda x: x['price'])
        prev_best = history.get(product['name'], {}).get('best_price')
        # Target price alert
        if best['price'] <= product['target_price']:
            alerts.append({
                'type': 'target_hit',
                'product': product['name'],
                'price': best['price'],
                'target': product['target_price'],
                'platform': best['platform'],
                'link': best['link'],
            })
        # Price drop alert
        if prev_best and best['price'] < prev_best * 0.95:
            drop_pct = (1 - best['price'] / prev_best) * 100
            alerts.append({
                'type': 'price_drop',
                'product': product['name'],
                'old_price': prev_best,
                'new_price': best['price'],
                'drop_pct': drop_pct,
                'platform': best['platform'],
            })
        history[product['name']] = {'best_price': best['price'], 'date': today, 'platform': best['platform']}
    save_price_history(history)
    return alerts

alerts = check_alerts(MONITOR_LIST)
print(f'\n=== Price Alerts ===')
print(f'  Alerts: {len(alerts)}')
for a in alerts:
    if a['type'] == 'target_hit':
        print(f'  TARGET: {a["product"]} at ${a["price"]:.2f} on {a["platform"]} (target: ${a["target"]:.2f})')
    elif a['type'] == 'price_drop':
        print(f'  DROP: {a["product"]} ${a["old_price"]:.2f} -> ${a["new_price"]:.2f} (-{a["drop_pct"]:.0f}%) on {a["platform"]}')

Paso 3: Resumen de seguimiento diario

Genere un resumen diario de todos los productos monitoreados y las tendencias de precios.

Python
def daily_summary(monitor_list):
    print(f'\n{"=" * 60}')
    print(f'  CROSS-PLATFORM PRICE MONITOR - {datetime.now().strftime("%Y-%m-%d")}')
    print(f'{"=" * 60}')
    total_queries = 0
    for product in monitor_list:
        prices = check_prices(product)
        total_queries += len(PLATFORMS)
        if not prices:
            print(f'\n  {product["name"]}: No prices found')
            continue
        best = min(prices, key=lambda x: x['price'])
        worst = max(prices, key=lambda x: x['price'])
        savings = worst['price'] - best['price']
        on_target = best['price'] <= product['target_price']
        status = 'BUY' if on_target else 'WAIT'
        print(f'\n  {product["name"]} [{status}]')
        print(f'    Target: ${product["target_price"]:.2f} | Best: ${best["price"]:.2f} ({best["platform"]})')
        print(f'    Range: ${best["price"]:.2f} - ${worst["price"]:.2f} | Save ${savings:.2f} cross-platform')
    cost = total_queries * 0.005
    print(f'\n  Daily cost: ${cost:.3f}')
    print(f'  Monthly: ${cost * 30:.2f}')
    print(f'  Products: {len(monitor_list)} | Platforms: {len(PLATFORMS)} | Queries: {total_queries}')

daily_summary(MONITOR_LIST)

Ejemplo en Python

Python
import os, requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def check_price(query, platform):
    body = {'query': query, 'country_code': 'us'}
    if platform: body['platform'] = platform
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json=body, timeout=10).json()
    for r in data.get('organic_results', [])[:1]:
        print(f'{platform or "google":8} | {r.get("price", "N/A")} | {r.get("title", "")[:40]}')

for p in ['amazon', 'walmart', None]:
    check_price('AirPods Pro 2', p)

Ejemplo en JavaScript

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
for (const platform of ['amazon', 'walmart', null]) {
  const body = { query: 'AirPods Pro 2', country_code: 'us', ...(platform && { platform }) };
  const data = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: SH, body: JSON.stringify(body)
  }).then(r => r.json());
  const r = (data.organic_results || [])[0];
  if (r) console.log(`${platform || 'google'}: ${r.price || 'N/A'} - ${r.title?.slice(0, 40)}`);
}

Salida esperada

JSON
AirPods Pro 2 (target: $180.00)
  amazon   $  189.99 | Apple AirPods Pro 2nd Generation - USB
  walmart  $  179.99 | Apple AirPods Pro (2nd Generation) USB << BELOW TARGET
  google   $  184.99 | Apple AirPods Pro 2 - Best Buy

Cost: $0.045

=== Price Alerts ===
  Alerts: 1
  TARGET: AirPods Pro 2 at $179.99 on walmart (target: $180.00)

============================================================
  CROSS-PLATFORM PRICE MONITOR - 2026-05-21
============================================================

  AirPods Pro 2 [BUY]
    Target: $180.00 | Best: $179.99 (walmart)
    Range: $179.99 - $189.99 | Save $10.00 cross-platform

  Daily cost: $0.045
  Monthly: $1.35

Tutoriales relacionados

  • Cómo crear un monitor de productos de Amazon sin raspadores
  • Cómo construir un canal de investigación de vendedores de Walmart
  • Cómo detectar cambios en el diseño de la página de Amazon mediante 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.8+. solicita biblioteca. Una clave API de Scavio de scavio.dev. Productos a monitorear con precios objetivo. 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

Supervise los precios de los productos en Amazon, Walmart y Google Shopping desde una sola API. Alertas automáticas de caída de precios a $0,015/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