El problema
Los equipos de ecommerce que mantienen scrapers separados para Amazon y Walmart enfrentan el doble de roturas, el doble de mantenimiento y esquemas de datos inconsistentes. Las discrepancias de precios entre marketplaces pasan desapercibidas cuando los sistemas de monitoreo estan aislados.
La solucion de Scavio
Usa un solo endpoint API con un parametro de plataforma para consultar tanto Amazon como Walmart. Mismo esquema de respuesta, misma API key, un solo cron job. Compara precios entre marketplaces automaticamente y alerta sobre discrepancias.
Antes
Antes de la consolidacion, el equipo ejecutaba dos actores de Apify (plan de $49/mes): uno para productos de Amazon, otro para Walmart. Cada uno se rompia independientemente cada 3-4 semanas por cambios de layout. Una caida de precio importante de un competidor en Walmart paso desapercibida durante 6 dias porque el scraper de Walmart estaba roto.
Después
Despues de cambiar a Scavio, un solo cron diario consulta ambas plataformas. 30 productos x 2 plataformas x 30 dias = 1,800 consultas/mes a $9 en total. Cero roturas en 4 meses. Las alertas de precios multiplataforma se activan en 24 horas. Detecto una rebaja de $5 en Walmart en un producto clave en 12 horas.
Para quien es
Equipos de ecommerce, dropshippers y gerentes de marca que necesitan rastrear disponibilidad y precios de productos en Amazon y Walmart desde una unica fuente de datos.
Beneficios clave
- Un solo endpoint API para Amazon y Walmart
- Mismo esquema de respuesta elimina la normalizacion de datos
- 1,800 consultas/mes a $9 vs $49/mes por dos scrapers
- Alertas de discrepancias de precios multiplataforma
- Cero mantenimiento de scrapers
Ejemplo en Python
import requests, os, json
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def compare_prices(product: str) -> dict:
amazon = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'amazon', 'query': product}, timeout=10).json()
walmart = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'walmart', 'query': product}, timeout=10).json()
a_top = (amazon.get('organic_results', []) or [{}])[0]
w_top = (walmart.get('organic_results', []) or [{}])[0]
return {
'product': product,
'amazon': {'title': a_top.get('title'), 'price': a_top.get('price')},
'walmart': {'title': w_top.get('title'), 'price': w_top.get('price')},
}
result = compare_prices('AirPods Pro 2')
print(json.dumps(result, indent=2))Ejemplo en JavaScript
const H = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function comparePrices(product) {
const [a, w] = await Promise.all([
fetch('https://api.scavio.dev/api/v1/search', { method: 'POST', headers: H,
body: JSON.stringify({ platform: 'amazon', query: product }) }).then(r => r.json()),
fetch('https://api.scavio.dev/api/v1/search', { method: 'POST', headers: H,
body: JSON.stringify({ platform: 'walmart', query: product }) }).then(r => r.json())
]);
return {
product,
amazon: { title: a.organic_results?.[0]?.title, price: a.organic_results?.[0]?.price },
walmart: { title: w.organic_results?.[0]?.title, price: w.organic_results?.[0]?.price }
};
}
comparePrices('AirPods Pro 2').then(r => console.log(JSON.stringify(r, null, 2)));Plataformas utilizadas
Amazon
Búsqueda de productos con precios, calificaciones y reseñas
Walmart
Búsqueda de productos con precios y datos de cumplimiento