Para encontrar el mejor scraper de Google Maps, evaluamos a cinco proveedores de web scraping, Apify, SerpApi, Oxylabs, Zyte y Nimble, pidiendo a cada uno los mismos 1.000 negocios. Los negocios abarcan 10 categorías en 10 ciudades de EE. UU., para un total de 5.000 solicitudes.
Google Maps: resultados del benchmark de scraping
Dado que todos los proveedores superaron el 90 % de éxito, comparamos el tiempo de finalización:
Campos de metadatos disponibles según el scraper de Google Maps
Solo SerpApi y Apify devolvieron JSON estructurado, así que fueron los dos en los que contamos los campos. Apify devolvió una media de 71 campos por lugar y SerpApi 30. Los demás proveedores devolvieron HTML renderizado, que no tiene un recuento de campos que informar, así que validamos sus respuestas con selectores CSS en su lugar.
29 de esos campos contienen los mismos datos en ambos, a veces con nombres diferentes: totalScore y rating, reviewsCount y reviews, placeId y place_id. La siguiente tabla enumera solo lo que devuelve uno y no el otro.
Google Maps: scrapers con prueba gratis
Mejores scrapers de Google Maps
Bright Data divide su cobertura de Google Maps en seis scrapers. Cuatro de ellos devuelven información empresarial completa y solo difieren en cómo se indica un lugar. Los otros dos cubren una única parte de una ficha.
Información empresarial
- Recopilar por URL: Proporcionas una URL de lugar de Google Maps y obtienes ese negocio de vuelta.
- Descubrir por ID de lugar: Toma el identificador de lugar propio de Google en lugar de una URL, lo que es útil cuando tus registros ya contienen IDs de lugar y no quieres construir URLs para ellos.
- Descubrir por CID: La misma idea con el ID de cliente, el identificador numérico detrás de una ficha de Maps.
- Descubrir por ubicación: Ejecuta una búsqueda por ubicación y devuelve los negocios que encuentra, para que puedas recopilar lugares que no has identificado de antemano.
Reseñas e imágenes
Imágenes, recopilar por URL: Devuelve las fotos adjuntas a una ficha.
Reseñas, recopilar por URL: Devuelve las reseñas de un lugar en lugar del registro empresarial. Acepta un ajuste days_limit, por lo que puedes pedir solo reseñas recientes, como las de los últimos 9 o 18 días, en lugar de extraer todo el historial.
Los cuatro primeros son los que hay que comparar entre sí: devuelven el mismo registro y solo difieren en la entrada que aceptan. Cuál encaja depende del aspecto de tus datos actuales. Si tienes URLs, recopilar por URL es la ruta directa. Si tienes IDs de lugar o CIDs, el scraper de descubrimiento correspondiente te ahorra un paso de construcción de URLs. Si no tienes ninguno y quieres crear una lista desde cero, descubrir por ubicación es el único de los cuatro que encuentra lugares en lugar de obtener los que ya has nombrado.
Las solicitudes se ejecutan en modo síncrono o asíncrono. En modo síncrono, el navegador permanece abierto y los datos vuelven en cuanto termina la tarea.
Empieza a extraer datos de Google Maps de forma gratis, 5.000 registros/mes sin necesidad de tarjeta de crédito
Obtener acceso gratuitoOxylabs ofrece dos rutas hacia Google Maps, y cuál puedes usar depende de desde dónde partas.
La fuente dedicada google_maps toma una consulta de búsqueda en lugar de una URL. No acepta un parámetro url y no admite salida parseada: pedir cualquiera de las dos devuelve un error que dice que la fuente no está disponible con ese parámetro. Por lo tanto, encaja con el trabajo de descubrimiento, donde buscas lugares en lugar de obtener los que ya tienes.
La fuente general google acepta cualquier URL de Google, incluidas las páginas de lugares. Esta es la ruta que debes usar cuando ya tienes URLs de Maps. Establecer render en html ejecuta el JavaScript, y geo_location fija el país de salida, lo que importa en las propiedades de Google porque una salida europea puede devolver un intersticial de consentimiento en lugar de la página.
Oxylabs ofrece una prueba gratis de 7 días para su scraper de Google Maps API
Obtener acceso gratuitoSerpApi divide Google Maps en siete APIs. Dos de ellas comparten el motor google_maps y se diferencian por la entrada, y el resto son motores separados que se basan en un identificador que te entregan las dos primeras.
El motor google_maps
- Resultados locales:
type=searchcon una consulta y coordenadasll. Devuelve los negocios que coinciden con una búsqueda, 20 a la vez. - Resultados de lugar: El mismo motor con
place_idodata_ciden lugar de una consulta. Devuelve un registro empresarial, sin paso de búsqueda.
Motores dedicados
- Reseñas:
google_maps_reviews, basada endata_idoplace_id. Esta tiene la mayoría de controles: ordenar porqualityScore,newestFirst,ratingHighoratingLow, filtrar por palabra clave otopic_idy paginación mediantenumynext_page_token. - Fotos:
google_maps_photos, basada endata_id. Devuelve imágenes a tamaño completo y miniaturas con el usuario que las publicó. - Publicaciones:
google_maps_posts, basada endata_id. Devuelve las publicaciones propias del negocio. - Reseñas de colaboradores:
google_maps_contributor_reviews, basada en uncontributor_idtomado de la URL del perfil de un revisor. Devuelve todo lo que una persona ha reseñado, que es lo contrario de la API de reseñas: parte del revisor en lugar del lugar. - Autocompletar:
google_maps_autocomplete, basada en una consulta. Devuelve las sugerencias que Google mostraría mientras escribes. - Indicaciones:
google_maps_directions, toma un punto de inicio y uno de fin como direcciones, coordenadas o IDs de datos. Devuelve rutas con distancias, duraciones y pasos paso a paso.
Los identificadores son lo que une todo esto. Una búsqueda devuelve place_id, data_id y data_cid para cada negocio, y esas son las claves que esperan los motores de reseñas, fotos y publicaciones, por lo que la primera llamada decide cuáles de las otras puedes hacer.
En nuestro benchmark usamos Place Results: engine=google_maps con el place_id de cada uno de los 1.000 negocios del dataset, y no_cache=true para que no se pudiera devolver una respuesta en caché.
SerpApi incluye 250 búsquedas gratis al mes en su plan gratis
Obtener acceso gratuitoApify es un marketplace, así que eliges un actor en lugar de un endpoint. El que usamos para Google Maps es compass/crawler-google-places, publicado como Google Maps Scraper. Se factura por evento.
Toma un término de búsqueda con una ubicación o URLs de inicio cuando ya conoces los lugares que quieres. El resto de la entrada son opciones opcionales, y varias cuestan extra: filtros de categoría y de estrellas, omitir lugares cerrados, abrir la página de detalle del lugar y extraer proveedores de reserva, widgets de pedido en línea o resultados web.
Las ejecuciones son asíncronas. Inicias una ejecución, haces polling hasta que termina y luego lees los resultados de su dataset.
En nuestro benchmark de Google Maps usamos este actor con startUrls configurado en la URL de cada lugar y maxCrawledPlacesPerSearch en 1, para que devolviera solo el negocio que pedimos. Las reseñas, imágenes, resultados web y people-also-search se desactivaron.
Zyte no tiene un producto específico para Google Maps. Llamas a la Zyte API general en /v1/extract con la URL del lugar y pides browserHtml, que ejecuta un navegador completo y devuelve la página renderizada. No hay un esquema parseado de Maps detrás, por lo que lo que obtienes es HTML para parsearlo tú mismo.
Un parámetro importa más de lo que sugiere la documentación: geolocation. Si se deja sin configurar, nuestras solicitudes salían en Europa y volvían con el intersticial de consentimiento de Google, una página real con un estado 200 y sin datos del lugar. Fijarlo a US devolvía el lugar. Más allá de eso no se necesitaron instrucciones adicionales; el panel ya estaba pintado cuando llegó la respuesta.
Nimble ofrece dos rutas. La API web toma una URL con render habilitado y devuelve la página renderizada, de la misma forma que Zyte. Su SERP API también incluye Google Maps entre los motores que admite, tomando una consulta en lugar de una URL, lo que encaja con el descubrimiento en lugar de obtener un lugar que ya tienes.
Las respuestas parseadas vuelven agrupadas por tipo de entidad en lugar de como una sola lista, con los resultados orgánicos, la paginación y la información de búsqueda en compartimentos separados. La misma respuesta también incluye el HTML sin procesar junto con los datos parseados, por lo que obtienes ambos en una sola llamada.
Octoparse es una plantilla que ejecutas dentro de su app o nube, en lugar de un endpoint al que llamar.
Qué toma como entrada
- Palabras clave con ubicaciones: hasta 100.000 combinaciones de palabra clave y ubicación, con la ubicación indicada como ciudad, región o país.
- URLs de lugares: hasta 5.000 de ellas, cuando ya conoces los negocios que quieres.
- Idioma: inglés, francés, español, italiano, coreano, japonés o chino tradicional.
Qué devuelve
Título, dirección desglosada en país, ciudad y estado, además de código, latitud y longitud, teléfono, sitio web, categoría, horario de apertura, estado actual, rango de precios, valoración y número de reseñas, contenido de reseñas e información del revisor, horas populares, imágenes, descripción, entrega, URL de la página y tanto el ID de Google como el ID del lugar.
Google Maps: metodología del benchmark de scrapers
Evaluamos a 5 proveedores de datos (Apify, SerpApi, Oxylabs, Zyte, Nimble) en su capacidad para devolver datos de negocios de Google Maps. A cada proveedor se le pidieron los mismos 1.000 negocios, una solicitud por negocio, para un total de 5.000 solicitudes.
Dataset
Creamos el dataset con antelación en lugar de buscar en tiempo de ejecución, para que a cada proveedor se le pidieran los mismos lugares en el mismo orden.
- Lugares: 1.000 negocios, cada uno con su propia URL de Google Maps e ID de lugar.
- Ciudades (10): Nueva York, Los Ángeles, Chicago, Houston, Phoenix, Filadelfia, San Antonio, San Diego, Dallas y Austin, 100 negocios de cada una.
- Categorías (10): cafetería, restaurante, gimnasio, farmacia, hotel, hospital, banco, supermercado, gasolinera y peluquería.
- Direccionamiento: cinco proveedores recibieron la URL de Google Maps. SerpApi recibió el ID de lugar, porque su producto de Google Maps toma un identificador en lugar de una URL.
Parámetros de la prueba
- Ejecuciones: una solicitud por negocio, sin repeticiones.
- Ejecución: secuencial, una solicitud a la vez, con una pausa entre ellas. Sin solicitudes paralelas.
- Tiempos de espera: 300 segundos para enviar, 600 segundos para completar.
- Límites de frecuencia: ante un HTTP 429 la solicitud se reintentaba hasta 3 veces.
Implementaciones de los proveedores
- Apify: el actor
compass/crawler-google-places, asíncrono. La URL del lugar se introdujo comostartUrlsconmaxCrawledPlacesPerSearchestablecido en 1, para que el actor devolviera ese negocio en lugar de rastrear hacia afuera. Se desactivaron las reseñas, imágenes, resultados web y people-also-search. - SerpApi: el motor
google_mapsconplace_idyno_cache=true. La caché se desactivó porque una búsqueda en caché es gratis, no se descuenta de la cuota y haría que el tiempo careciera de sentido. - Oxylabs: la API Realtime Scraper con
source: google, la URL del lugar,render: htmlygeo_location: United States, másbrowser_instructionspara esperar, hacer scroll y esperar de nuevo. Sin ellos, la respuesta volvía como el shell, con el nombre del negocio en el título de la página y sin panel de lugar en el DOM. - Zyte: Zyte API
/v1/extractconbrowserHtmlygeolocation: US. Si se dejaba sin configurar, las solicitudes salían en Europa y devolvían el intersticial de consentimiento de Google, una página real con un estado 200 y sin datos del lugar. - Nimble: la API web con la URL del lugar, renderizado habilitado y país configurado en EE. UU.
Éxito
El estado HTTP se comprueba primero. Las respuestas entre 200 y 399, y 404, pasan a validarse. Cualquier otro estado falla sin llegar a los datos. Un 404 pasa solo por el estado, ya que informar correctamente de una página que ya no existe es una respuesta correcta y no hay datos que comprobar.
Para los proveedores que devuelven JSON, al menos uno de cuatro campos debía estar presente y ser del tipo correcto:
- Nombre: una cadena no vacía.
- Dirección: si está presente, una cadena no vacía y no “N/A”.
- Número de teléfono: si está presente, al menos 5 dígitos.
- Número de reseñas: si está presente, un número no negativo. El cero cuenta, ya que un negocio sin reseñas es una respuesta real.
Para los proveedores que devuelven HTML renderizado, al menos uno de los selectores de lugar debía coincidir y devolver un valor. Los selectores se basan en atributos en lugar de clases, porque los nombres de clase de Google en esta página son hashes de compilación que cambian en cada despliegue.
Registramos qué regla superaba cada solicitud, para que un selector obsoleto se distinga en los datos de un proveedor que no devuelve nada.
Tiempo
Los tiempos se calculan solo sobre solicitudes exitosas, ya que un timeout o un error instantáneo no indica cuánto se tarda en obtener datos.
Metadatos disponibles
Contamos los campos del registro que devolvió cada proveedor. Esto se informa solo para los proveedores que devuelven JSON estructurado. Los tres que devuelven una página renderizada se dejan en blanco en lugar de puntuarse como cero: lo que podríamos extraer de una página es un recuento de los selectores que escribimos, no de lo que ofrece el proveedor.
Preguntas frecuentes
El scraping de Google Maps se refiere a la extracción automatizada de datos disponibles públicamente (por ejemplo, nombres de empresas, números de teléfono, valoraciones, reseñas, coordenadas) de los resultados de búsqueda de Google.
Los datos de Google Maps se pueden usar para generación de leads, auditorías de SEO local e investigación de mercado.
Los puntos de datos públicos comunes incluyen direcciones de empresas, nombres, números de teléfono, sitios web, horarios de apertura, valoraciones, reseñas de clientes y perfiles de redes sociales.
El scraping de Google Maps puede violar los Términos del servicio de Google. Ten cuidado, extrae solo información disponible públicamente y considera la Google Maps API oficial como una alternativa compatible.
Cita este benchmark
Elige el formato que se ajuste al lugar donde vas a publicar. Pegar la versión con enlace en tu CMS conserva el enlace de retroceso.
@misc{sipi2026,
author = {Şipi, Nazlı},
title = {{5 mejores Google Maps APIs de scraper: Probadas y clasificadas}},
year = {2026},
month = sep,
howpublished = {\url{https://aimultiple.com/google-maps-scraper}},
note = {AIMultiple. Recuperado el 29 de septiembre de 2026}
}Resultados y marcas de tiempo de 5.0 mil puntos de datos. Descargue los datos resumidos que se muestran en los gráficos y las tablas de este artículo como un archivo ZIP que contiene 4 archivos CSV y un README.
¿Quieres los datos granulares que hay detrás? Únete a Premium
Registro de cambios
4 actualizacionesSe eliminó la sección "How to scrape Google Maps with Python".
Sé el primero en comentar
Tu dirección de correo electrónico no será publicada. Todos los campos son obligatorios. Los comentarios se dejan en su idioma original.