Volver al blog
Guías y tutoriales2026-03-15·10 min de lectura

Guía definitiva: extraer datos de Google Maps con JavaScript

Por Ibrahim DemolCEO IBLeadActualizado el 15 de marzo de 2026

Google Maps no es solo una herramienta de navegación. Es una base de datos comercial masiva: nombre, dirección, teléfono, calificación, reseñas, horarios, sitio web — todo está ahí, ficha por ficha. Esta guía definitiva para extraer datos de Google Maps con JavaScript te muestra cómo aprovechar esta mina de información, ya sepas programar o no.


¿Por qué extraer datos de Google Maps?

Antes de hablar de código, planteemos la pregunta: ¿por qué hacer scraping de Google Maps?

Las razones varían según las empresas. Aquí están las más comunes.

Generar leads específicos

Este es el uso número uno. Una agencia web busca restaurantes sin sitio web. Un proveedor de software se dirige a consultorios médicos de una región. Un proveedor de recursos humanos prospecta pequeñas y medianas empresas con menos de 50 empleados.

Google Maps da acceso a miles de fichas por sector y por área geográfica. Extraer estos datos es construir una lista de prospectos calificados en pocos minutos — sin comprar una base de datos.

Analizar la competencia

Hacer scraping no solo sirve para prospectar. Una cadena de restaurantes puede analizar las calificaciones, las reseñas y la densidad de competidores en un área antes de abrir un nuevo punto de venta.

¿Cuántos restaurantes hay en un radio de 2 km? ¿Cuál es su calificación promedio? ¿Cuántas reseñas tienen? Estos datos orientan decisiones estratégicas concretas.

Identificar nuevas áreas de mercado

Una empresa que quiere expandirse geográficamente puede mapear la demanda potencial antes de invertir. Extraer los datos de Google Maps de una ciudad o región proporciona una imagen clara del tejido económico local.


Entender los fundamentos de la API de Google Maps

La API de Google Maps es el punto de entrada oficial para acceder a los datos de Google Maps de manera programática. Ofrece varios servicios útiles para la extracción de datos.

Obtener una clave API

Para comenzar, debes crear una cuenta en Google Cloud Platform. Luego, activa la API Maps JavaScript en tu proyecto. Google genera una clave API única — es esta clave la que autoriza tus solicitudes.

Sin clave API, ninguna solicitud pasa. Con una clave, puedes llamar a los diferentes servicios de la API desde tu código JavaScript.

Los principales servicios disponibles

La API de Google Maps ofrece varios servicios utilizables en JavaScript:

  • Geocoding: convierte una dirección en coordenadas GPS (latitud, longitud)
  • Places: busca establecimientos por tipo y por área geográfica
  • Directions: calcula rutas entre dos puntos
  • Distance Matrix: mide distancias y tiempos de viaje entre varios puntos

Para la extracción de datos comerciales, los servicios Geocoding y Places son los más útiles.


Ejemplos concretos de extracción de datos con JavaScript

A continuación, tres ejemplos prácticos para extraer datos de Google Maps con JavaScript.

1. Convertir una dirección en coordenadas GPS (Geocoding)

El servicio Geocoding transforma una dirección textual en coordenadas geográficas. Útil para geolocalizar prospectos o puntos de venta.

var geocoder = new google.maps.Geocoder();

geocoder.geocode(
  { address: '10 Rue de la Paix, Paris' },
  function(results, status) {
    if (status === 'OK') {
      var latitude = results[0].geometry.location.lat();
      var longitude = results[0].geometry.location.lng();
      console.log("Latitud: " + latitude + ", Longitud: " + longitude);
    } else {
      console.log("Geocoding fallido: " + status);
    }
  }
);

Este código devuelve las coordenadas GPS de una dirección parisina. Puedes recorrer una lista de direcciones para geolocalizar un archivo completo.

2. Encontrar establecimientos cercanos a un lugar (Places API)

El servicio nearbySearch busca establecimientos en un radio dado alrededor de un punto geográfico. Es el corazón de la extracción de datos para la prospección.

var placesService = new google.maps.places.PlacesService(map);

var request = {
  location: new google.maps.LatLng(48.8566, 2.3522), // París
  radius: 5000, // 5 km de radio
  type: ['restaurant']
};

placesService.nearbySearch(request, function(results, status) {
  if (status === google.maps.places.PlacesServiceStatus.OK) {
    results.forEach(function(place) {
      console.log(
        "Nombre: " + place.name +
        ", Dirección: " + place.vicinity +
        ", Calificación: " + place.rating
      );
    });
  }
});

Este código lista los restaurantes en un radio de 5 km alrededor de París, con su nombre, dirección y calificación en Google.

Atención: nearbySearch devuelve un máximo de 20 resultados por solicitud. Puedes paginar hasta 3 páginas, es decir, un máximo de 60 resultados por búsqueda. Para cubrir una ciudad completa, debes dividir el área en varias subáreas y multiplicar las solicitudes.

3. Recuperar los detalles de un establecimiento (Place Details)

nearbySearch proporciona información básica. Para acceder al número de teléfono, al sitio web, a los horarios y a las reseñas, debes llamar a getDetails en cada place_id.

var request = {
  placeId: 'ChIJD7fiBh9u5kcRYJSMaMOCCwQ', // Place ID del establecimiento
  fields: ['name', 'formatted_address', 'formatted_phone_number',
           'website', 'rating', 'reviews', 'opening_hours']
};

placesService.getDetails(request, function(place, status) {
  if (status === google.maps.places.PlacesServiceStatus.OK) {
    console.log("Nombre: " + place.name);
    console.log("Teléfono: " + place.formatted_phone_number);
    console.log("Sitio web: " + place.website);
    console.log("Calificación: " + place.rating);
  }
});

Cada llamada a getDetails consume un crédito API. En miles de establecimientos, la factura puede aumentar rápidamente.

4. Seguir los movimientos en un mapa

Otro uso: escuchar los cambios de posición en un mapa interactivo. Útil para aplicaciones de seguimiento o mapeo dinámico.

google.maps.event.addListener(map, 'center_changed', function() {
  var center = map.getCenter();
  console.log(
    "Centro: Latitud=" + center.lat() +
    ", Longitud=" + center.lng()
  );
});

Este código muestra las coordenadas del centro del mapa cada vez que el usuario se mueve.


Las limitaciones y restricciones de la API de Google Maps

La API de Google Maps es poderosa, pero impone restricciones importantes que debes conocer antes de comenzar.

Cuotas y facturación

Google cobra por el uso de la API Places. Aquí están las tarifas indicativas (en USD, tarifas de Google):

  • Nearby Search: 0,032 $ por solicitud
  • Place Details: 0,017 $ por solicitud (campos básicos) a 0,085 $ (campos avanzados)
  • Geocoding: 0,005 $ por solicitud

Para extraer 10,000 establecimientos con sus detalles completos, el costo puede superar los 500 $. Google ofrece un crédito mensual de 200 $, pero se agota rápidamente en volúmenes grandes.

El límite de 120 resultados

nearbySearch devuelve 20 resultados por página, con un máximo de 3 páginas, es decir, 60 resultados por solicitud. Para cubrir una ciudad completa, debes multiplicar los puntos de búsqueda y las solicitudes. Es factible, pero complejo de implementar correctamente.

La gestión de errores

Superar la cuota desencadena errores OVER_QUERY_LIMIT. La aplicación se detiene o devuelve datos incompletos. Debes implementar una gestión de errores robusta: reintentar con retroceso exponencial, almacenar en caché los resultados ya obtenidos, paginación correcta.

Las condiciones de uso

Los Términos de Servicio de Google Maps prohíben explícitamente almacenar los datos de Places de forma permanente (salvo excepciones). Extraer datos para revenderlos o redistribuirlos viola las condiciones de uso. Utiliza los datos para tu uso interno — prospección, análisis, vigilancia competitiva.


Optimizar tus solicitudes API para reducir costos

Algunas buenas prácticas para limitar la factura.

Solicita solo los campos necesarios. La API Places cobra de manera diferente según los campos solicitados. Si no necesitas las reseñas o las fotos, no las incluyas en el parámetro fields.

Almacena en caché los resultados. Si consultas la misma área varias veces, almacena los resultados en una base de datos local. Evita solicitudes redundantes.

Divide inteligentemente las áreas. Para cubrir una gran ciudad, utiliza una cuadrícula de puntos espaciados de 2-3 km en lugar de partir de un solo punto central. Maximizas la cobertura sin superar los 60 resultados por solicitud.

Utiliza la paginación correctamente. nearbySearch devuelve un next_page_token cuando hay más resultados. Espera 2 segundos antes de llamar a la siguiente página — Google impone este retraso.


Cuando la API no es suficiente: la alternativa sin código

Codificar un scraper de Google Maps en JavaScript lleva tiempo. Gestionar las cuotas, la paginación, los errores, el almacenamiento — es un proyecto en sí mismo. Y la factura API puede volverse significativa en grandes volúmenes.

Para los equipos comerciales y de marketing que quieren leads de Google Maps sin escribir una línea de código, IBLead es una alternativa directa.

IBLead es una base de datos preindexada de más de 50 millones de empresas provenientes de Google Maps, cubriendo 37 países. Todo ya está extraído e indexado — filtras por ciudad, sector, calificación de Google, número de reseñas, tecnologías del sitio web, y exportas en CSV en 2 minutos.

No hay API que configurar. No hay cuotas que gestionar. No hay código que mantener.

La base se actualiza cada semana. La exportación es instantánea — los datos ya están ahí, no necesitas esperar un scraping.

Cada ficha contiene más de 50 campos: nombre, dirección, teléfono, email, sitio web, calificación de Google, número de reseñas, horarios, coordenadas GPS, redes sociales, y las tecnologías detectadas en el sitio web (más de 160 tecnologías reconocidas — WordPress, Shopify, Google Ads, Mailchimp, etc.).

Por 44€ por 10,000 leads, es decir, 0,004€ por contacto, es una opción concreta para los equipos que prospectan a gran volumen.

créditos gratuitos — 200 créditos incluidos


FAQ — Preguntas frecuentes

El uso de la API oficial de Google Maps es legal dentro de las condiciones de uso de Google. Sin embargo, hacer scraping directamente del HTML de Google Maps (sin pasar por la API) viola los Términos de Servicio y puede resultar en el bloqueo de tu IP o en acciones legales. Para un uso comercial, la API oficial o una base de datos preindexada como IBLead son las opciones conformes.

¿Cuál es el límite de resultados de la API de Google Maps Places?

La API nearbySearch devuelve 20 resultados por página, con un máximo de 3 páginas, es decir, 60 resultados por solicitud. Para sortear este límite, debes multiplicar los puntos de búsqueda en un área geográfica y agregar los resultados. Esta es la principal restricción técnica para extraer datos a gran escala.

¿Cuánto cuesta la API de Google Maps para extraer datos?

Google ofrece un crédito mensual de 200 $ (aproximadamente 185 €). Más allá de eso, las tarifas varían: alrededor de 0,032 $ por solicitud de Nearby Search y 0,017 $ a 0,085 $ por solicitud de Place Details. Para 10,000 establecimientos con detalles completos, el costo puede superar los 500 $. Las soluciones preindexadas como IBLead suelen ser más baratas en grandes volúmenes.

¿Se pueden extraer las reseñas de Google Maps a través de la API?

Sí, la API de Place Details devuelve hasta 5 reseñas por establecimiento. Para acceder a más reseñas, debes utilizar otros métodos. IBLead extrae hasta 500 reseñas por ficha — texto completo, calificación, fecha y autor — lo que ningún competidor directo ofrece.

¿Cuál es la diferencia entre la API de Google Maps y una herramienta como IBLead?

La API de Google Maps es un servicio en tiempo real: envías una solicitud, Google devuelve los datos del momento. Es flexible pero costosa y limitada en volumen. IBLead es una base preindexada: los datos ya están extraídos, filtrados y listos para exportar. Sin código, sin cuotas, exportación instantánea. Ambos enfoques responden a necesidades diferentes — la API para aplicaciones dinámicas, IBLead para la prospección comercial a gran volumen.


Extraer datos de Google Maps con JavaScript es completamente factible. La API oficial proporciona acceso a datos confiables, con ejemplos de código claros y documentación completa. Pero tiene sus límites: cuotas, costos, complejidad de la paginación, condiciones de uso estrictas.

Para los desarrolladores que construyen aplicaciones de mapeo o herramientas internas, la API sigue siendo la mejor opción. Para los equipos comerciales que quieren listas de prospectos calificados rápidamente, una base preindexada como IBLead es más directa y menos costosa a gran escala.

créditos gratuitos — 200 créditos incluidos

¿Listo para empezar?

Accede a todas las empresas de Google Maps, enriquecidas con emails y datos legales.

Prueba IBLead gratis