Tus posiciones no existen en el vacío: se mueven porque los competidores se mueven. Capturar la SERP completa de tus palabras clave revela quién gana terreno, quién es nuevo y qué funciones (fragmentos, packs) dominan la página. Aquí te explicamos cómo, con serp.cheap.
Captura la página de resultados completa
import requests, datetime
def serp_snapshot(keyword, gl="us"):
data = requests.post(
"https://api.serp.cheap/v1/search",
headers={"X-API-Key": "YOUR_KEY"},
json={"q": keyword, "gl": gl},
timeout=30,
).json()
return {
"date": datetime.date.today().isoformat(),
"keyword": keyword,
"ranking": [(r["position"], domain_of(r["link"])) for r in data["organic"]],
}
def domain_of(url):
from urllib.parse import urlparse
return urlparse(url).netloc.replace("www.", "")
Detecta los cambios
Almacena instantáneas y compara días consecutivos:
def new_entrants(today, yesterday):
seen = {d for _, d in yesterday["ranking"]}
return [(pos, d) for pos, d in today["ranking"] if d not in seen]
Eso revela a los competidores que acaban de irrumpir en los primeros resultados de una palabra clave que te importa: una señal temprana que merece una alerta.
Qué rastrear
- Cuota del top 10 por competidor a lo largo del tiempo.
- Nuevos entrantes que irrumpen en la página.
- Volatilidad de posiciones — palabras clave donde la SERP se reordena con frecuencia.
- Funciones de la SERP — rastrea si un fragmento destacado o un pack empuja lo orgánico hacia abajo.
Mantenlo barato
Es una petición por palabra clave por mercado. Monitorear a diario 200 palabras clave ≈ $0.12/día fresca, menos con aciertos de caché. Sin tarifas SaaS por palabra clave, y eres dueño de los datos históricos.