Crea tu propio rastreador de posiciones SEO con una SERP API

Los rastreadores de posiciones comerciales son una caja negra que alquilas por palabra clave. Conecta una SERP API a una base de datos tú mismo y tendrás el control de la profundidad geográfica, la captura de la visión general de IA y las alertas, por una fracción del precio.

Los rastreadores de posiciones comerciales cobran por palabra clave y te entregan un panel que no puedes consultar. Construye el tuyo propio sobre una SERP API y cambia eso: posees las instantáneas SERP en bruto, eliges exactamente qué geografías y dispositivos rastrear, capturas las partes de la página de resultados que ahora deciden la visibilidad — visiones generales de IA, People Also Ask, el paquete local — y conectas alertas a lo que ya usas. Este es un tutorial completo: el esquema, la ejecución diaria, la captura de la visión general de IA y PAA, la comparación y las alertas, y las trampas de 2026 que rompen rastreadores ingenuos. Funciona en la QuantumProxies SERP API, así que no hay un grupo de proxies que gestionar.

La trampa que transformó el seguimiento de posiciones

Dos cambios hacen que un rastreador moderno se vea diferente a uno de 2020. Primero, Google eliminó el parámetro &num=100, por lo que ya no puedes obtener 100 resultados en una sola solicitud — debes paginar aproximadamente diez a la vez, lo que cambia la profundidad que puedes permitirte rastrear y hace que una API eficiente sea obligatoria en lugar de opcional. Segundo, la página de resultados ya no es una lista limpia de diez enlaces azules: una visión general de IA puede estar por encima de todo y responder la consulta directamente, los cuadros de People Also Ask y los fragmentos destacados absorben clics, y el paquete local posee la intención comercial. Rastrear un número de posición simple mientras se ignoran esos elementos es rastrear lo incorrecto. Nuestro explicador sobre cómo funciona el scraping SERP en 2026 cubre en profundidad las consecuencias del num=100.

Paso 1: un esquema construido para comparar

Todo el sistema es una instantánea diaria que comparas con la de ayer, por lo que el esquema es primero la instantánea: una fila por palabra clave, geo, dispositivo y día, con los datos de clasificación y las características SERP almacenadas junto a ellos. Mantén la visión general de IA y PAA como columnas estructuradas para que puedas consultarlas directamente.

CREATE TABLE serp_snapshot (
  id           bigserial PRIMARY KEY,
  keyword      text        NOT NULL,
  country      text        NOT NULL,   -- gl: us, gb, de...
  city         text,                   -- optional city-level
  device       text        NOT NULL,   -- desktop | mobile
  position     int,                    -- your domain's best rank, null = not found
  landing_url  text,
  aio_present  boolean     NOT NULL,   -- AI Overview shown?
  aio_cited    boolean     NOT NULL,   -- did it cite your domain?
  paa          jsonb,                  -- People Also Ask questions
  top3         jsonb,                  -- who owns positions 1-3
  captured_at  date        NOT NULL,
  UNIQUE (keyword, country, city, device, captured_at)
);

Paso 2: la ejecución geográfica diaria

El bucle central itera tus palabras clave en cada geo y dispositivo objetivo, llama a la SERP API una vez por combinación y encuentra la mejor posición de tu dominio. Debido a que la API devuelve JSON analizado y maneja la rotación, geo y bloqueo internamente, esto se mantiene como un bucle simple — sin navegador sin cabeza, sin código de rotación de proxies, sin manejo de CAPTCHA. Establece gl para el país y una ubicación para el nivel de ciudad, y los resultados regresan ya localizados.

import requests, datetime

QP = "https://api.quantumproxies.io/serp"
HEAD = {"Authorization": f"Bearer {QP_KEY}"}

def run_keyword(keyword, country, device="desktop", city=None):
    params = {"engine": "google", "q": keyword,
              "gl": country, "device": device, "num": 20}
    if city:
        params["location"] = city
    data = requests.get(QP, headers=HEAD, params=params, timeout=45).json()

    pos, url = None, None
    for r in data.get("organic", []):
        if "yourdomain.com" in r["link"]:
            pos, url = r["position"], r["link"]
            break
    return data, pos, url

Obtén una clave de SERP API para potenciar tu rastreador

Diagrama de un pipeline de rastreador de posiciones ejecutando palabras clave a través de geos mediante una SERP API en una base de datos, luego comparando y alertando
Palabras clave por geos, una vez al día, en un almacén comparable — la SERP API devuelve posiciones analizadas más AIO y PAA por ejecución.

Paso 3: captura visiones generales de IA y PAA

Aquí es donde un rastreador casero supera a los comerciales baratos, la mayoría de los cuales todavía informan solo los diez enlaces. Una visión general de IA puede empujar tu resultado orgánico por debajo del pliegue incluso cuando "clasificas" tercero, y ser citado dentro de la visión general de IA ahora es su propio métrico de visibilidad que vale la pena rastrear por separado. Extrae tanto la presencia del AIO como si hace referencia a tu dominio, y almacena las preguntas de PAA — también sirven como ideas frescas de palabras clave y contenido.

def extract_features(data, domain="yourdomain.com"):
    aio = data.get("ai_overview") or {}
    aio_present = bool(aio)
    aio_cited = any(domain in s.get("link", "")
                    for s in aio.get("sources", []))
    paa = [q["question"] for q in data.get("people_also_ask", [])]
    top3 = [r["link"] for r in data.get("organic", [])[:3]]
    return aio_present, aio_cited, paa, top3

Rastrear la citación de AIO a lo largo del tiempo se está convirtiendo rápidamente en el métrico principal de SEO — nuestra guía sobre capturar la presencia de la visión general de IA programáticamente profundiza en las señales que vale la pena registrar. Ejecuta la misma palabra clave desde varios países y verás que las clasificaciones y las citaciones de AIO divergen por geo, que es exactamente por qué las ejecuciones a nivel de ciudad son importantes para cualquiera con una presencia local o internacional, como se cubre en monitorear cambios SERP globalmente.

Lista de verificación de lo que un rastreador de posiciones moderno captura por ejecución y las condiciones que deberían desencadenar alertas
La posición por sí sola ya no es la clasificación — captura visiones generales de IA, PAA y el paquete local, y alerta cuando cualquiera de ellos se mueve.

Paso 4: comparar y alertar

Un rastreador que nadie lee es un archivo de registro. El valor está en la alerta — un mensaje en el momento en que algo se mueve. Después de cada ejecución, compara la nueva instantánea con el día anterior y actúa sobre los cambios que importan: una caída de tres o más posiciones, ganar o perder una citación de la visión general de IA, un competidor entrando en los tres primeros, o una URL cayendo de la primera página. Envía esos a Slack, correo electrónico o un webhook para que el equipo de SEO se entere de una caída antes de que lo haga el informe de tráfico.

def diff_and_alert(kw, geo, today, yesterday):
    alerts = []
    if yesterday.position and today.position:
        if today.position - yesterday.position >= 3:
            alerts.append(f"{kw} [{geo}] dropped "
                          f"{yesterday.position} -> {today.position}")
    if yesterday.aio_cited and not today.aio_cited:
        alerts.append(f"{kw} [{geo}] lost its AI Overview citation")
    if today.position and today.position > 10 and \
       (yesterday.position or 0) <= 10:
        alerts.append(f"{kw} [{geo}] fell off page one")
    for a in alerts:
        notify(a)   # -> Slack / email / webhook

Programación y ser honesto sobre el volumen

Ejecuta todo en un cron diario, idealmente a una hora consistente para que las comparaciones día a día sean comparables. Sé realista sobre la escala: palabras clave multiplicadas por países multiplicadas por ciudades multiplicadas por dispositivos es tu verdadero conteo de consultas, y crece rápidamente — cien palabras clave en cinco países en dos dispositivos son mil llamadas SERP al día. La SERP API cobra por consulta, así que rastrea las combinaciones sobre las que realmente actuarás en lugar de todo lo imaginable. Si estás construyendo esto en un producto en lugar de una herramienta interna, nuestro post sobre elegir una SERP API para herramientas de IA y SEO cubre la economía por consulta. Los mismos endpoints están disponibles a través de nuestro servidor MCP si prefieres ejecutar las ejecuciones desde un agente.

Preguntas frecuentes

¿Cómo construyo un rastreador de posiciones con una SERP API?

Almacena una instantánea por palabra clave, geo, dispositivo y día; llama a la SERP API una vez por combinación para obtener resultados analizados; extrae la posición de tu dominio más los datos de la visión general de IA y PAA; luego compara cada día con el anterior y alerta sobre movimientos significativos. La API maneja proxies, geo y bloqueo, por lo que tu código se mantiene como un bucle programado sobre una base de datos.

¿Todavía puedo obtener 100 resultados por consulta?

No en una sola solicitud — Google eliminó el parámetro num=100, por lo que los resultados vienen aproximadamente diez por página y el rastreo más profundo significa paginación. Para la mayoría del rastreo solo necesitas los 20 primeros, lo que mantiene bajo el volumen de consultas y el costo. Una SERP API que pagina por ti oculta este detalle detrás de una sola llamada.

¿Cómo rastreo la presencia de la visión general de IA?

Captura dos cosas por ejecución: si apareció una visión general de IA para la consulta, y si citó tu dominio entre sus fuentes. Almacena ambos como campos separados para que puedas seguir la tendencia de citación a lo largo del tiempo — ser referenciado dentro de la visión general de IA ahora es su propio métrico de visibilidad, distinto de tu posición orgánica.

¿Con qué frecuencia debería ejecutarse un rastreador de posiciones?

Diariamente es el estándar para SEO, a una hora consistente para que las comparaciones sean comparables. Términos volátiles o de alto valor pueden justificar ejecuciones dos veces al día; términos estables y de baja prioridad están bien semanalmente. Ajusta la frecuencia a la rapidez con la que realmente se mueve la palabra clave y a tu presupuesto de consultas de SERP-API, ya que palabras clave por geos por dispositivos es tu verdadero impulsor de costos.

Un rastreador de posiciones es un esquema, una llamada diaria a SERP y una comparación — la ventaja es poseer los tres. Captura posición, visiones generales de IA y PAA en los geos que te importan, alerta sobre movimientos reales, y tendrás un rastreador que cuesta una fracción de los comerciales y responde preguntas que nunca te dejan hacer.

Construye tu rastreador de posiciones en la QuantumProxies SERP API