El problema
Los paisajes de las SERP cambian constantemente, pero sin instantáneas históricas no hay forma de analizar las tendencias. ¿Qué competidores ganaron posiciones durante el último trimestre? ¿Cuándo empezaron a aparecer resúmenes de IA para sus palabras clave objetivo? ¿Cambió el titular del fragmento destacado después de la última actualización del algoritmo? Sin datos SERP archivados, estas preguntas no tienen respuesta. Conoces el estado actual pero no tienes registro de cómo llegaste aquí. La inteligencia competitiva se limita al momento presente.
La solucion de Scavio
Cree un canal de archivo SERP semanal que capture el estado SERP completo de sus palabras clave objetivo cada semana y lo almacene en un formato consultable. Cada instantánea captura posiciones orgánicas, presencia de descripción general de IA, fragmentos destacados, resultados de paquetes locales y personas también hacen preguntas. Durante semanas y meses, el archivo se convierte en una base de datos de inteligencia competitiva que muestra exactamente cuándo se produjeron los cambios, quién ganó o perdió posiciones y cómo evolucionaron las funciones SERP. A $0,005/crédito, archivar 100 palabras clave semanalmente cuesta $2/mes.
Antes
Antes del archivo, el análisis SERP se limitaba al momento actual. El equipo no pudo responder cuándo apareció un competidor por primera vez en el top 3, cuándo AI Overviews comenzó a dominar un grupo de palabras clave o cómo cambiaron las posiciones después de las actualizaciones del algoritmo.
Después
Después de construir el proceso de archivo, el equipo tiene meses de historial de SERP para analizar. El análisis de tendencias muestra exactamente cuándo se produjeron los cambios competitivos y los datos informan sobre los ajustes estratégicos semanas antes de la revisión trimestral.
Para quien es
Estrategas de SEO que necesitan datos SERP históricos para análisis de tendencias e inteligencia competitiva. Equipos que quieran medir el impacto de las actualizaciones de algoritmos con datos de comparación antes/después.
Beneficios clave
- Instantáneas semanales de SERP completas que incluyen todas las características y posiciones
- Análisis de tendencias competitivas durante semanas y meses
- El seguimiento de la presencia de AI Overview muestra las curvas de adopción de funciones
- Análisis de impacto de actualización de algoritmo con datos de antes/después
- 100 palabras clave archivadas semanalmente por $2/mes
Ejemplo en Python
import requests
import json
from pathlib import Path
from datetime import datetime
API_KEY = "your_scavio_api_key"
def snapshot_serp(keyword: str) -> dict:
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": keyword, "num": 20, "ai_overview": True},
timeout=15,
)
res.raise_for_status()
data = res.json()
return {
"keyword": keyword,
"date": datetime.utcnow().strftime("%Y-%m-%d"),
"organic": [{"position": r.get("position"), "domain": r.get("link", "").split("/")[2] if r.get("link") else "", "title": r.get("title", "")} for r in data.get("organic", [])[:20]],
"has_ai_overview": bool(data.get("ai_overview")),
"has_featured_snippet": bool(data.get("featured_snippet")),
"has_local_pack": bool(data.get("local_pack")),
"paa_questions": [p.get("question", "") for p in data.get("people_also_ask", [])],
}
def weekly_archive(keywords: list[str]):
date = datetime.utcnow().strftime("%Y-%m-%d")
archive_dir = Path("serp_archive")
archive_dir.mkdir(exist_ok=True)
snapshots = [snapshot_serp(kw) for kw in keywords]
archive_path = archive_dir / f"serp_{date}.json"
archive_path.write_text(json.dumps(snapshots, indent=2))
print(f"Archived {len(snapshots)} keywords to {archive_path}")
# Summary
aio_count = sum(1 for s in snapshots if s["has_ai_overview"])
print(f" AI Overviews: {aio_count}/{len(snapshots)} keywords")
return snapshots
keywords = ["best search API", "SERP API comparison", "web scraping alternative"]
weekly_archive(keywords)Ejemplo en JavaScript
const API_KEY = "your_scavio_api_key";
async function snapshotSerp(keyword) {
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform: "google", query: keyword, num: 20, ai_overview: true }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
const data = await res.json();
return {
keyword,
date: new Date().toISOString().slice(0, 10),
organic: (data.organic ?? []).slice(0, 20).map((r) => ({ position: r.position, domain: r.link ? new URL(r.link).hostname : "", title: r.title ?? "" })),
hasAiOverview: !!data.ai_overview,
hasFeaturedSnippet: !!data.featured_snippet,
paaQuestions: (data.people_also_ask ?? []).map((p) => p.question ?? ""),
};
}
const keywords = ["best search API", "SERP API comparison"];
const snapshots = [];
for (const kw of keywords) snapshots.push(await snapshotSerp(kw));
console.log(`Archived ${snapshots.length} keywords`);
const aioCount = snapshots.filter((s) => s.hasAiOverview).length;
console.log(` AI Overviews: ${aioCount}/${snapshots.length}`);Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA