Guía

Cómo hacer scraping de Google en 2026

Recoger resultados de Google a gran escala nunca había sido tan exigente: se acabaron los 100 resultados por página, los AI Overviews cargan tarde y las SERPs cambian de una ciudad a otra. Estas son las opciones y las trampas.

Lo esencial
  • Tres opciones: a mano, un scraper propio (proxies, captchas, un parser que mantener) o una API SERP.
  • Cuatro trampas en 2026: el fin de num=100, los AI Overviews asíncronos y las SERPs que varían según la ciudad y el dispositivo.
  • Con Semscraper: 0,30 € por 1.000 palabras clave en la página 1, 2,10 € por un top 100, sin suscripción.

Qué significa «hacer scraping de Google»

Hacer scraping de Google consiste en recoger automáticamente la página de resultados de una búsqueda (la SERP) para extraer sus datos: resultados orgánicos, anuncios, pack local, preguntas relacionadas, AI Overviews y su posición. Los usos son conocidos: seguimiento de posiciones SEO, vigilancia de la competencia, estudios de mercado, clustering de palabras clave por similitud de SERP y medición de la visibilidad en las respuestas generadas por IA.

Tres formas de hacerlo

1. A mano o con una extensión del navegador

Sirve para unas decenas de palabras clave. Más allá, es demasiado lento, y tu propio historial, tu ubicación y tu cuenta de Google sesgan los resultados.

2. Un scraper propio

Un script que consulta Google por sí mismo. Gratis sobre el papel, pero en la práctica necesitas:

  • proxies, idealmente residenciales, y su rotación, porque Google bloquea rápido las direcciones que lo consultan de forma masiva;
  • gestión de captchas;
  • un navegador headless para renderizar la página, o falta parte del contenido (ver más abajo);
  • un parser, que hay que mantener cada vez que Google cambia su diseño;
  • la gestión del país, el idioma, la ciudad y el dispositivo.

El coste real son los proxies, los servidores y, sobre todo, el tiempo de mantenimiento.

3. Una API SERP

Un servicio que hace todo esto por ti: envías una palabra clave y sus parámetros, y recibes la SERP estructurada en JSON. La mayoría de las herramientas SEO van por este camino y prefieren pagar por petición antes que mantener una infraestructura de scraping. Para elegir proveedor, consulta nuestras comparativas con SerpApi y DataForSEO.

Qué contiene una SERP en 2026

Una página de resultados ya no es una lista de diez enlaces azules. Según la consulta, Google añade:

  • resultados orgánicos;
  • anuncios de Google Ads en la parte superior e inferior de la página, y anuncios de Shopping;
  • el pack local, con la valoración, el número de reseñas y el rango de precios de cada negocio;
  • «Otras preguntas de los usuarios», el fragmento destacado y el Knowledge Graph;
  • noticias destacadas, vídeos e imágenes;
  • el AI Overview, con las marcas citadas en su texto, sus citas y su panel de fuentes.

Para medir lo que es realmente visible, hay que extraer cada bloque por separado, con la posición de cada uno de sus elementos. La API de Semscraper devuelve cada bloque con su propio tipo: organic, paid_top, local_pack, people_also_ask, ai_overview_citation…

Las cuatro trampas de 2026

El parámetro num=100 ya no funciona

Desde septiembre de 2025, Google ya no muestra 100 resultados en una sola página. Para obtener un top 100 hay que recorrer las páginas una a una. Explicamos el método y su coste en Obtener el top 100 de Google sin num=100.

Los AI Overviews llegan después de cargar la página

En nuestro estudio sobre un millón de palabras clave, el 48% de los AI Overviews carga en asíncrono: no están en el HTML inicial y solo aparecen cuando la página ya se muestra. Un scraper que no renderiza la página se los pierde. Los detalles, en nuestro estudio sobre los AI Overviews en Francia.

La SERP depende de la ciudad

Una búsqueda local, «fontanero» o «restaurante», no devuelve los mismos resultados en dos ciudades distintas. Sin geolocalización, mides una SERP que no ve nadie. Consulta SERPs geolocalizadas.

Escritorio y móvil divergen

Una palabra clave de cada ocho se comporta de forma distinta en los dos dispositivos en cuanto a AI Overviews, y el orden de los bloques cambia. Recoge el dispositivo que importa para tu caso de uso, o los dos.

Ejemplo con la API de Semscraper

Una petición POST crea la recogida, con hasta 1.000 palabras clave por llamada:

curl
curl -X POST 'https://api.semscraper.com/v1/serp' \
  -H 'Authorization: Bearer API_KEY' \
  -H 'Content-Type: application/json' \
  -d '[{"search_engine": "google_search", "keyword": "restaurante", "device": "desktop", "location": "es", "language": "es", "depth": 1, "geolocation": "Madrid, Community of Madrid, Spain"}]'

Después recuperas los resultados por ID, en JSON o en HTML, o los recibes directamente en tu URL de callback. Cada resultado incluye su posición dentro de su bloque, su posición en la página, su página de Google y su posición en píxeles. La lista completa de bloques y parámetros está en la página de la API de Google Search.

Los operadores de búsqueda funcionan

Los operadores de Google funcionan tal cual dentro de la palabra clave: site:, inurl:, intitle:, filetype:, comillas o la exclusión de un término con un signo menos. Resulta práctico para listar las páginas indexadas de un sitio o vigilar una marca en un dominio concreto. Una consulta con operador cuesta lo mismo que cualquier otra. Una sola limitación: nada de comas en una palabra clave, ya que la API las usa como separador.

Ejemplo completo en Python

Este script envía tres palabras clave, espera sus resultados y luego muestra para cada una si hay un AI Overview y los tres primeros resultados orgánicos con su posición en píxeles:

scrape_google.py
import time
import requests

API = "https://api.semscraper.com/v1/serp"
HEADERS = {"Authorization": "Bearer API_KEY"}

keywords = ["restaurante madrid", "fontanero barcelona", "abogado divorcio valencia"]

# 1. crear las recogidas, hasta 1.000 palabras clave por llamada
items = [{"search_engine": "google_search", "keyword": k, "device": "desktop",
          "location": "es", "language": "es", "depth": 1} for k in keywords]
created = requests.post(API, json=items, headers=HEADERS).json()
ids = [row["id"] for row in created["data"]]

# 2. recuperar los resultados (500 IDs como máximo por llamada), 10 minutos como máximo
done, attempts = {}, 0
while len(done) != len(ids) and attempts < 60:
    attempts += 1
    time.sleep(10)
    res = requests.get(API, params={"ids": ",".join(ids), "output": "json"}, headers=HEADERS).json()
    for row in res["data"]:
        if row["status"] == "done":
            done[row["id"]] = row

# 3. leer cada SERP: AI Overview y después los 3 primeros resultados orgánicos
for row in done.values():
    aio = row["serp_info"].get("ai_overview")
    print(row["keyword"], "| AI Overview:", aio["type"] if aio else "-")
    for block in row["results"]:
        if block["type"] == "organic":
            for item in block["items"][:3]:
                print("   ", item["rank_type"], item["pixel"], "px", item["url"])

Para grandes volúmenes, sustituye el bucle de consulta por una URL de callback (callback_url): la API te envía cada resultado en cuanto está listo.

Volúmenes y plazos

Una SERP de una página requiere una mediana de unos veinte segundos de recopilación, y un top 100 unos cincuenta. Tiempo mediano de recopilación medido en 12 millones de SERPs (5,3 millones de una página y 260.000 de 10 páginas) del 12 de septiembre al 10 de octubre de 2026; a esto se suma la espera en la cola de tu cuenta, que depende del volumen enviado. Cada llamada puede llevar hasta 1.000 palabras clave. Los robots atienden las cuentas por turnos: el lote grande de otro cliente no retrasa el tuyo, y el tuyo avanza en tu propia cola.

Elegir una API SERP: la checklist

  • Paginación real, con la página de cada resultado, para un top 100 fiable.
  • Renderizado en un navegador, para capturar los AI Overviews que cargan tarde.
  • Geolocalización por ciudad, no solo por país.
  • Posición en píxeles, para medir la visibilidad real de un resultado.
  • Facturación solo de las páginas encontradas, sin suscripción obligatoria.
  • El HTML de la página además del JSON, para comprobar un resultado sorprendente.
  • Una cola equitativa entre clientes.

Cuánto cuesta

Con Semscraper, la primera página cuesta 0,30 € por 1.000 palabras clave y cada página adicional 0,20 €, es decir, 2,10 € por 1.000 palabras clave en 10 páginas. Solo se facturan las páginas encontradas, sin suscripción. Los detalles, en la página de precios.

¿Y la legalidad?

Las páginas de resultados son públicas, pero su recogida automática sigue sujeta a las condiciones de uso de Google y, si tratas datos personales, a la normativa de protección de datos, como el RGPD. Esta guía no es asesoramiento jurídico: en caso de duda, haz revisar tu caso de uso.

Pruébalo con tus propias palabras clave

1.000 SERP gratis, sin tarjeta de crédito.