Resumen
Automatizado n8n flujo de trabajo ese verifica Google posicionamientos for palabras clave objetivo diario, almacena position history in Google Sheets, compara contra anterior datos, y envia Slack notificaciones cuando posicionamientos cambio significativamente.
Desencadenador
Diario at 8 AM UTC via n8n Cron node
Programación
Diario at 8 AM UTC
Pasos del flujo de trabajo
Cron activar fires
n8n Cron node activa el flujo de trabajo at el configured programar (diario, cada hora, o semanal).
Cargar palabras clave de sheet
Google Sheets node lee el lista of palabras clave objetivo y el dominio to rastrear de un hoja de calculo.
Consulta search API for cada palabra clave
HTTP Solicitud node envia cada palabra clave to Scavio's Google endpoint de busqueda y recibe structured SERP resultados.
Extraer position
Function node scans resultados organicos for el dominio objetivo y extrae el posicionamiento position (o null if no in top resultados).
Comparar con anterior position
Google Sheets node lee el anterior day's position for cada palabra clave. Function node calculates el position delta.
Almacenar actual position
Google Sheets node appends today's date y position to el history sheet for cada palabra clave.
Alert on significativo cambios
IF node verifica si cualquier palabra clave moved mas than 3 positions up o down. Slack node envia un formatted alerta con el cambios.
Implementacion en Python
import requests, os, json
from datetime import date
H = {"x-api-key": os.environ["SCAVIO_API_KEY"]}
DOMAIN = "scavio.dev"
KEYWORDS = ["best search api 2026", "serp api pricing", "multi-platform search api"]
for kw in KEYWORDS:
r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": "google", "query": kw}, timeout=10).json()
organic = r.get("organic", [])
pos = next((i+1 for i, o in enumerate(organic)
if DOMAIN in o.get("link", "")), None)
print(json.dumps({"keyword": kw, "date": str(date.today()), "position": pos}))Implementacion en JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
const DOMAIN = "scavio.dev";
const KEYWORDS = ["best search api 2026", "serp api pricing"];
for (const kw of KEYWORDS) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google", query: kw})
}).then(r => r.json());
const pos = (r.organic || []).findIndex(o =>
o.link?.includes(DOMAIN)) + 1;
console.log(JSON.stringify({keyword: kw, position: pos || null}));
}Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA