ES
Guía

Scraping de Google Maps: extraer las fichas de una búsqueda

Nombre, categoría, dirección, sitio web, valoración, número de reseñas, horarios: una búsqueda en Google Maps contiene muchísima información sobre un mercado local. Así puedes recogerla correctamente.

Lo esencial
  • La API oficial de Google Maps Platform no reproduce el orden que muestra Google Maps: hay que recogerlo.
  • Cada ficha llega con su posición, nombre, categoría, dirección, sitio web, valoración, número de reseñas y CID.
  • Usos: seguimiento del SEO local, vigilancia de la competencia y estudios de mercado, ciudad por ciudad.

¿Hacer scraping de Google Maps o usar la API oficial?

La primera confusión que hay que aclarar: la API oficial de Google Maps Platform sirve para mostrar mapas, calcular rutas o geocodificar direcciones dentro de una aplicación. Su búsqueda de lugares sí devuelve negocios, pero no en el orden que ve un usuario en una búsqueda de Google Maps hecha desde un lugar concreto.

Hacer scraping de Google Maps consiste en recoger la lista de fichas que devuelve una búsqueda («restaurante», «fontanero», «gimnasio») desde un lugar concreto, en el orden en que Google las muestra. Son los datos que se usan para el SEO local y los estudios de mercado.

Los datos disponibles para cada ficha

CampoContenido
rank_type, rank_serpLa posición de la ficha en los resultados
titleEl nombre del negocio
cidEl identificador de Google de la ficha, estable en el tiempo
typeLa categoría, por ejemplo Restaurante
addressLa dirección postal
websiteEl sitio web
rating, reviewsLa valoración media sobre 5 y el número de reseñas
status_label, status_detailEl estado de apertura y su detalle, como el horario
commentEl fragmento mostrado en la ficha
imagesLas imágenes de la ficha

El CID es muy útil: permite seguir la misma ficha de una captura a otra, aunque cambien su nombre o su dirección.

La API devuelve la valoración, el número de reseñas y el fragmento mostrado, no el texto completo de cada reseña.

La ubicación lo cambia todo

Una búsqueda en Google Maps depende del lugar desde el que se hace. «Fontanero» desde el centro de una ciudad y desde sus afueras no devuelve las mismas fichas en el mismo orden. El parámetro geolocation sitúa la búsqueda en la ciudad que elijas, o en una posición GPS precisa con un zoom opcional (43.7102,7.2620,16z). Lo explicamos en SERPs geolocalizadas.

Ejemplo de 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_maps", "keyword": "restaurante", "depth": 1, "location": "es", "language": "es", "geolocation": "Barcelona, Catalonia, Spain"}]'

La misma petición que para Google Search, con search_engine en google_maps. También el mismo precio: 0,30 € por 1.000 búsquedas con profundidad 1.

Tres usos concretos

Seguir tu SEO local

Registra cada semana la posición de tus fichas en tus palabras clave, ciudad por ciudad. Una ficha que baja suele indicar que un competidor está acumulando reseñas, o que la categoría está mal elegida.

Vigilar a la competencia local

Compara la valoración, el número de reseñas y la categoría de los negocios que te rodean en los resultados. La diferencia de reseñas con los tres primeros te da un objetivo.

Estudiar un mercado

Cruzando una categoría con una lista de ciudades, obtienes un censo de los negocios visibles, con dirección y sitio web: densidad competitiva, zonas desatendidas, cadenas presentes.

¿Google Maps o pack local?

El pack local, el bloque de unas pocas fichas que aparece en los resultados normales de Google, no es lo mismo que una búsqueda en Google Maps. Lo devuelve la API de Google Search, con valoración, número de reseñas y rango de precios. La API de Google Maps devuelve las fichas de la propia búsqueda en Maps. Las dos se complementan: el pack local mide la visibilidad en Google, y Maps mide la posición en el mapa.

Pruébalo con tus propias palabras clave

1.000 peticiones gratis, sin tarjeta de crédito.