Resumen
Este flujo de trabajo searches Amazon for especifico producto categorias o palabras clave on un diario basis y alertas you cuando nuevo productos appear ese fueron no in anterior resultados. It es designed for e-commerce teams monitoreo competidor launches, procurement teams watching for nuevo suppliers, y producto investigadores seguimiento mercado entradas.
Desencadenador
Cron programar (diario at 7 AM UTC)
Programación
Ejecuta diario at 7 AM UTC
Pasos del flujo de trabajo
Define search criterios
Cargar el lista of Amazon consultas de busqueda y cualquier filtra tal as price rango o categoria.
Search Amazon
Call el Scavio API con plataforma amazon for cada consulta to obtener actual producto listings.
Comparar con conocido productos
Verificar cada producto ASIN o titulo contra el base de datos of previously visto productos.
Marcar nuevo entradas
Mark productos ese tienen no sido visto antes de as nuevo y registro their detalles.
Enviar alerta
Push un notificacion con el nuevo producto detalles including titulo, price, rating, y enlace.
Implementacion en Python
import requests
import json
from pathlib import Path
API_KEY = "your_scavio_api_key"
def search_amazon(query: str) -> list[dict]:
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "amazon", "query": query},
timeout=15,
)
res.raise_for_status()
return res.json().get("organic", [])
def run():
queries = [
"wireless earbuds 2026",
"portable power station camping",
]
seen_path = Path("seen_amazon.json")
seen = set(json.loads(seen_path.read_text())) if seen_path.exists() else set()
new_products = []
for query in queries:
results = search_amazon(query)
for p in results:
asin = p.get("asin") or p.get("link", "")
if asin and asin not in seen:
new_products.append({
"query": query,
"title": p.get("title", ""),
"price": p.get("price"),
"rating": p.get("rating"),
"link": p.get("link", ""),
})
seen.add(asin)
seen_path.write_text(json.dumps(list(seen)))
if new_products:
print(f"New products found: {len(new_products)}")
for np in new_products:
print(f" {np['title']} - {np.get('price', 'N/A')}")
else:
print("No new products detected")
if __name__ == "__main__":
run()Implementacion en JavaScript
const API_KEY = "your_scavio_api_key";
async function searchAmazon(query) {
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: "amazon", query }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
const data = await res.json();
return data.organic ?? [];
}
async function run() {
const fs = await import("fs/promises");
const queries = [
"wireless earbuds 2026",
"portable power station camping",
];
let seen = new Set();
try {
seen = new Set(JSON.parse(await fs.readFile("seen_amazon.json", "utf8")));
} catch {}
const newProducts = [];
for (const query of queries) {
const results = await searchAmazon(query);
for (const p of results) {
const asin = p.asin ?? p.link ?? "";
if (asin && !seen.has(asin)) {
newProducts.push({
query,
title: p.title ?? "",
price: p.price,
rating: p.rating,
link: p.link ?? "",
});
seen.add(asin);
}
}
}
await fs.writeFile("seen_amazon.json", JSON.stringify([...seen]));
if (newProducts.length) {
console.log(`New products found: ${newProducts.length}`);
for (const np of newProducts) {
console.log(` ${np.title} - ${np.price ?? "N/A"}`);
}
} else {
console.log("No new products detected");
}
}
run();Plataformas utilizadas
Amazon
Búsqueda de productos con precios, calificaciones y reseñas