El problema
Los equipos de marketing quieren un seguimiento automatizado de la clasificación diaria y un seguimiento de la competencia, pero sus herramientas existentes son costosas (más de 100 dólares al mes) o no admiten las alertas e integraciones personalizadas que necesitan. n8n proporciona la capa de automatización pero necesita una fuente de datos de búsqueda confiable.
La solucion de Scavio
Cree un flujo de trabajo n8n que se active diariamente, consulte la API de búsqueda de Scavio para palabras clave objetivo a través de nodos de solicitud HTTP, procese resultados para extraer posiciones de clasificación, compare con los datos del día anterior almacenados en Google Sheets y envíe alertas de Slack para cambios de posición significativos.
Antes
Antes del flujo de trabajo n8n, un gerente de marketing verificaba manualmente las clasificaciones de 20 palabras clave todos los lunes utilizando una herramienta de seguimiento de clasificaciones de $99 al mes. Las caídas de posición entre controles pasaron desapercibidas hasta por una semana.
Después
Después de implementar el flujo de trabajo n8n, las clasificaciones se verifican diariamente para 50 palabras clave a un costo de $0,25/día (50 créditos). Las alertas de Slack se activan a los pocos minutos de un cambio de posición significativo. El equipo abandonó su herramienta de seguimiento de $99 al mes, ahorrando $1188 al año.
Para quien es
Equipos de marketing y profesionales de SEO que utilizan n8n para la automatización del flujo de trabajo y desean un seguimiento de clasificación diario asequible y personalizable con alertas.
Beneficios clave
- Seguimiento diario de clasificación para cualquier número de palabras clave
- Alertas personalizadas de Slack para cambios de posición
- Integración de Google Sheets para seguimiento histórico
- La interfaz visual de n8n no requiere codificación
- El costo escala con el recuento de palabras clave ($0,005/palabra clave/cheque)
Ejemplo en Python
# n8n HTTP Request node configuration for Scavio
# Method: POST
# URL: https://api.scavio.dev/api/v1/search
# Headers: x-api-key = {{$credentials.scavioApiKey}}
# Body (JSON):
# {
# "platform": "google",
# "query": "{{$json.keyword}}"
# }
#
# n8n Function node to extract position:
# const organic = $input.first().json.organic || [];
# const domain = 'yourdomain.com';
# const position = organic.findIndex(r => r.link?.includes(domain)) + 1;
# return [{ json: { keyword: $input.first().json.keyword, position: position || null } }];
# Equivalent Python for testing outside n8n:
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
KEYWORDS = ['best search api 2026', 'serp api pricing']
DOMAIN = 'scavio.dev'
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(f'{kw}: position {pos}')Ejemplo en JavaScript
// n8n HTTP Request configuration
const n8nConfig = {
method: 'POST',
url: 'https://api.scavio.dev/api/v1/search',
headers: { 'x-api-key': '={{$credentials.scavioApiKey}}' },
body: { platform: 'google', query: '={{$json.keyword}}' }
};
// n8n Function node to extract position
// const organic = $input.first().json.organic || [];
// const pos = organic.findIndex(r => r.link?.includes('yourdomain.com')) + 1;
// return [{ json: { keyword: $input.first().json.keyword, position: pos || null } }];Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA