Resumen
Monitorear competidor menciones de marca on Google y Reddit. Comparar today's resultados contra yesterday's snapshot. Surface nuevo paginas, posicionamiento cambios, y Reddit threads in un manana digest.
Desencadenador
Diario cron (e.g. 07:00 UTC)
Programación
Diario cron
Pasos del flujo de trabajo
Define competidor marca consultas
List of marca names + producto names to rastrear, almacenado in un archivo de configuracion o env var.
Consulta Scavio Google endpoint for cada marca
POST /api/v1/search con plataforma=google for cada consulta. Almacenar top-20 resultados.
Consulta Scavio Reddit endpoint for cada marca
POST /api/v1/search con plataforma=reddit for cada consulta. Almacenar top-10 threads.
Cargar yesterday's snapshot de storage
Leer last run's JSON de disk o S3.
Diff hoy vs ayer
Nuevo URLs, dropped URLs, posicionamiento position cambios > 3 slots, nuevo Reddit threads.
Format y enviar digest
Email via SendGrid o Slack webhook con el delta resumen.
Save today's snapshot
Overwrite yesterday's file for el next diff cycle.
Implementacion en Python
import requests, json, os
key = os.environ["SCAVIO_API_KEY"]
brands = ["Tavily", "SerpAPI", "Firecrawl"]
today = {}
for brand in brands:
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": key},
json={"query": brand, "platform": "google", "limit": 20})
today[brand] = [r["url"] for r in resp.json().get("results", [])]
yesterday = json.load(open("snapshot.json")) if os.path.exists("snapshot.json") else {}
for brand in brands:
new_urls = set(today.get(brand, [])) - set(yesterday.get(brand, []))
if new_urls:
print(f"{brand}: {len(new_urls)} new URLs")
json.dump(today, open("snapshot.json", "w"))Implementacion en JavaScript
const brands = ["Tavily", "SerpAPI", "Firecrawl"];
const today = {};
for (const brand of brands) {
const resp = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ query: brand, platform: "google", limit: 20 })
});
today[brand] = (await resp.json()).results.map(r => r.url);
}
// diff against yesterday's snapshot, send digest, save snapshotPlataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit