El problema
Los scrapers de Amazon se rompen cada pocas semanas cuando Amazon rota sus medidas anti-bot. Mantener un scraper de Amazon confiable requiere rotacion de proxies, resolucion de CAPTCHA y actualizaciones constantes de selectores. La frescura de los datos tambien es impredecible.
La solucion de Scavio
La API de busqueda de Scavio devuelve datos de productos de Amazon como JSON estructurado cuando configuras platform como amazon. Sin proxies, sin CAPTCHA, sin parseo de HTML. Una sola solicitud POST devuelve titulos, precios, calificaciones, conteos de resenas y ASINs.
Antes
Un script en Python usa Selenium + proxies rotativos para scrapear paginas de productos de Amazon. Cada 2-3 semanas, Amazon bloquea el rango de IPs o cambia la estructura HTML. El desarrollador pasa horas arreglando selectores. El pipeline de datos se cae durante la reparacion.
Después
Un solo POST a Scavio devuelve 10 productos de Amazon con campos estructurados en menos de 2 segundos. Sin mantenimiento. Sin costos de proxies. Funciona en Google, Walmart y Amazon con el mismo patron de codigo.
Para quien es
Desarrolladores que necesitan datos de productos de Amazon para seguimiento de precios, herramientas de comparacion o agentes de AI y estan cansados de mantener scrapers.
Beneficios clave
- Sin mantenimiento de scraper — la API maneja anti-bot y cambios estructurales
- JSON estructurado: titulo, precio, calificacion, resenas, ASIN, estado Prime
- El mismo patron funciona para Walmart (platform:walmart) y Google Shopping
- 1 credito por solicitud a $0.005/credito
Ejemplo en Python
import requests
import re
def search_amazon(query: str, max_price: float = None) -> list:
r = requests.post(
"https://api.scavio.dev/api/v1/search",
json={"query": query, "platform": "amazon", "num_results": 20},
headers={"x-api-key": "your-scavio-api-key"},
timeout=20
)
r.raise_for_status()
products = r.json().get("organic_results", [])
if max_price:
def parse_price(s):
m = re.search(r"[\d.]+", (s or "").replace(",",""))
return float(m.group()) if m else float("inf")
products = [p for p in products if parse_price(p.get("price","")) <= max_price]
return products
results = search_amazon("noise cancelling headphones", max_price=100)
for p in results[:5]:
print(f"{p.get('title','')[:60]} | {p.get('price')} | {p.get('rating')}")Ejemplo en JavaScript
async function searchAmazon(query, maxPrice = null) {
const res = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-api-key': 'your-scavio-api-key' },
body: JSON.stringify({ query, platform: 'amazon', num_results: 20 })
});
const data = await res.json();
let products = data.organic_results ?? [];
if (maxPrice) {
products = products.filter(p => {
const m = p.price?.replace(/,/g, '').match(/[\d.]+/);
return m ? parseFloat(m[0]) <= maxPrice : false;
});
}
return products;
}Plataformas utilizadas
Amazon
Búsqueda de productos con precios, calificaciones y reseñas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Walmart
Búsqueda de productos con precios y datos de cumplimiento