- 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
| Campo | Contenido |
|---|---|
rank_type, rank_serp | La posición de la ficha en los resultados |
title | El nombre del negocio |
cid | El identificador de Google de la ficha, estable en el tiempo |
type | La categoría, por ejemplo Restaurante |
address | La dirección postal |
website | El sitio web |
rating, reviews | La valoración media sobre 5 y el número de reseñas |
status_label, status_detail | El estado de apertura y su detalle, como el horario |
comment | El fragmento mostrado en la ficha |
images | Las 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 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 -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.