Resumen
Ships un diario citacion informe showing cual LLM engines mentioned your marca, el prompts ese activado it, y el fuente URLs cited. Replaces semanal manual verifica con un always-on AEO panel de control ese feeds un Notion base de datos y un Slack digest at 9 AM diario.
Desencadenador
Cron programar (diario at 7 AM UTC)
Programación
Diario at 7 AM UTC
Pasos del flujo de trabajo
Cargar tracked marcas y prompts
Leer objetivo marca consultas y competidor establecer de un JSON config.
Consulta cada LLM engine
Scavio agentic search contra ChatGPT, Perplexity, y Gemini citacion endpoints.
Extraer citacion fuentes
Analizar cited URLs y extraer dominio, anchor text, y position in answer.
Diff contra ayer
Comparar today's citacion establecer to el prior ejecutar y etiqueta gains, losses, y nuevo entrants.
Escribir to Notion base de datos
Upsert one fila per (marca, engine, dia) con citacion conteo y top fuentes.
Slack digest
Publicar un manana resumen to #aeo-panel de control con wins, losses, y competidor movements.
Implementacion en Python
import os, requests, json
API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY}
BRANDS = ["scavio", "serpapi", "brightdata"]
ENGINES = ["chatgpt", "perplexity", "gemini"]
def citations(brand, engine):
r = requests.post("https://api.scavio.dev/api/v1/search",
headers=H, json={"platform": f"agentic-{engine}", "query": brand})
return r.json().get("citations", [])
report = {}
for b in BRANDS:
report[b] = {e: citations(b, e) for e in ENGINES}
print(json.dumps(report, indent=2))Implementacion en JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const H = { "x-api-key": API_KEY, "content-type": "application/json" };
const BRANDS = ["scavio", "serpapi", "brightdata"];
const ENGINES = ["chatgpt", "perplexity", "gemini"];
async function citations(brand, engine) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({ platform: "agentic-" + engine, query: brand })
});
return (await r.json()).citations || [];
}
const report = {};
for (const b of BRANDS) {
report[b] = Object.fromEntries(await Promise.all(ENGINES.map(async e => [e, await citations(b, e)])));
}
console.log(JSON.stringify(report, null, 2));Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit