El problema
Los equipos de ecommerce necesitan inteligencia de precios en Amazon, Walmart y Google Shopping, pero cada plataforma requiere un scraper o integracion API separada. Mantener tres scrapers significa tres rotaciones de proxies, tres parsers de HTML y tres guardias cuando cambian los layouts. Los datos llegan en formatos diferentes con nombres de campos diferentes, convirtiendo la comparacion multiplataforma en un ejercicio manual de hojas de calculo. Para cuando el informe semanal esta listo, los precios ya cambiaron.
La solucion de Scavio
Scavio consulta Amazon, Walmart y Google Shopping a traves del mismo endpoint con el mismo esquema JSON. Un solo script obtiene precios de las tres plataformas, los normaliza en una tabla comparativa y almacena capturas diarias para analisis de tendencias. Los mismos nombres de campo (title, price, link) aparecen sin importar la plataforma, asi que la logica de comparacion se escribe una vez y funciona en todas partes. A $0.005/credito, rastrear 100 productos diarios en tres plataformas cuesta $45/mes.
Antes
Antes de Scavio, el rastreo de precios multiplataforma significaba tres scrapers separados, triple carga de mantenimiento y una hoja de calculo semanal de comparacion manual que estaba desactualizada antes de terminarla.
Después
Despues de Scavio, un solo script rastrea precios en las tres plataformas diariamente. La comparacion multiplataforma esta automatizada, las tendencias son visibles en tiempo real y el costo es $45/mes para 100 productos en tres plataformas.
Para quien es
Equipos de ecommerce que rastrean precios competitivos, agregadores de ofertas que construyen herramientas de comparacion multiplataforma y gerentes de compras que monitorean costos de proveedores en multiples minoristas.
Beneficios clave
- Un solo endpoint API para Amazon, Walmart y Google Shopping
- Esquema de precios normalizado elimina el mapeo manual de datos
- Rastreo diario automatizado reemplaza comparaciones manuales semanales
- Capturas historicas permiten analisis de tendencias a lo largo del tiempo
- 100 productos en 3 plataformas por $45/mes
Ejemplo en Python
import requests
import json
from pathlib import Path
from datetime import datetime
API_KEY = "your_scavio_api_key"
PLATFORMS = ["amazon", "walmart"]
def get_prices(product: str) -> dict:
prices = {"product": product, "checked_at": datetime.utcnow().isoformat()}
for platform in PLATFORMS:
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": platform, "query": product},
timeout=15,
)
res.raise_for_status()
results = res.json().get("organic", [])
best = None
for item in results:
if item.get("price"):
if best is None or item["price"] < best["price"]:
best = {
"price": item["price"],
"title": item.get("title", ""),
"link": item.get("link", ""),
"rating": item.get("rating"),
}
prices[platform] = best
return prices
def track_products(products: list[str]) -> list[dict]:
results = [get_prices(p) for p in products]
date = datetime.utcnow().strftime("%Y-%m-%d")
Path(f"price_tracker_{date}.json").write_text(json.dumps(results, indent=2))
return results
products = ["sony wh-1000xm5", "airpods pro 2", "samsung galaxy s25"]
tracked = track_products(products)
for item in tracked:
print(f"\n{item['product']}:")
for platform in PLATFORMS:
data = item.get(platform)
if data:
print(f" {platform}: ${data['price']} - {data['title'][:50]}")
else:
print(f" {platform}: not found")Ejemplo en JavaScript
const API_KEY = "your_scavio_api_key";
const PLATFORMS = ["amazon", "walmart"];
async function getPrices(product) {
const prices = { product, checkedAt: new Date().toISOString() };
for (const platform of PLATFORMS) {
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform, query: product }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
const results = (await res.json()).organic ?? [];
const withPrice = results.filter((r) => r.price).sort((a, b) => a.price - b.price);
prices[platform] = withPrice[0] ? { price: withPrice[0].price, title: withPrice[0].title ?? "", link: withPrice[0].link ?? "" } : null;
}
return prices;
}
const products = ["sony wh-1000xm5", "airpods pro 2"];
for (const p of products) {
const data = await getPrices(p);
console.log(`\n${data.product}:`);
for (const pl of PLATFORMS) console.log(` ${pl}: ${data[pl] ? `$${data[pl].price}` : "not found"}`);
}Plataformas utilizadas
Amazon
Búsqueda de productos con precios, calificaciones y reseñas
Walmart
Búsqueda de productos con precios y datos de cumplimiento
Google Shopping
Resultados de compras con precios de múltiples minoristas