Resumen
End-to-end diario AEO measurement flujo de trabajo for SaaS founders. Pull SERP con `include_ai_overview: true`, pull Reddit menciones de marca, normalize en un single citacion tabla, y almacenar deltas. Solo founder budget, multi-surface cobertura, easy to extend con semanal ChatGPT/Perplexity prompt studies.
Desencadenador
Diario 8 AM
Programación
Diario 8 AM
Pasos del flujo de trabajo
Define marca palabra clave establecer
10 to 30 marca y categoria palabras clave almacenado in un archivo de configuracion.
SERP plus AI Overviews
One Scavio call per palabra clave con `include_ai_overview: true`.
Reddit search per palabra clave
Reddit endpoint returns reciente threads mentioning el marca.
Normalize citaciones
Flatten en filas of (palabra clave, surface, url, date).
Almacenar in DuckDB
Agregar to local DuckDB file for delta consultas.
Email semanal delta
Friday digest of nuevo citaciones, lost citaciones, nuevo Reddit threads.
Implementacion en Python
import os, requests, datetime, duckdb
API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY}
db = duckdb.connect("aeo.duckdb")
db.execute("CREATE TABLE IF NOT EXISTS citations(keyword TEXT, surface TEXT, url TEXT, date DATE)")
def snapshot(keywords):
today = datetime.date.today()
for k in keywords:
serp = requests.post("https://api.scavio.dev/api/v1/google",
headers=H, json={"query": k, "include_ai_overview": True}).json()
for u in serp.get("organic_results", [])[:10]:
db.execute("INSERT INTO citations VALUES (?, ?, ?, ?)", (k, "serp", u["link"], today))
for c in (serp.get("ai_overview") or {}).get("citations", []):
db.execute("INSERT INTO citations VALUES (?, ?, ?, ?)", (k, "ai_overview", c, today))
rdt = requests.post("https://api.scavio.dev/api/v1/reddit/search",
headers=H, json={"query": k}).json()
for p in rdt.get("posts", [])[:10]:
db.execute("INSERT INTO citations VALUES (?, ?, ?, ?)", (k, "reddit", p.get("url",""), today))Implementacion en JavaScript
const H = { "x-api-key": process.env.SCAVIO_API_KEY, "content-type": "application/json" };
async function snapshot(keywords) {
for (const k of keywords) {
const serp = await fetch("https://api.scavio.dev/api/v1/google", {
method: "POST", headers: H,
body: JSON.stringify({ query: k, include_ai_overview: true })
}).then(r => r.json());
const rdt = await fetch("https://api.scavio.dev/api/v1/reddit/search", {
method: "POST", headers: H,
body: JSON.stringify({ query: k })
}).then(r => r.json());
console.log(k, serp.ai_overview, rdt.posts);
}
}Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit