Extraer Datos de Google Maps con la API de JavaScript: Guía Completa
Google Maps tiene una de las bases de datos públicas de información empresarial más grandes del planeta. Cada búsqueda devuelve una lista de empresas con direcciones, números de teléfono, sitios web, calificaciones y reseñas. Si deseas extraer datos de Google Maps con la API de JavaScript a gran escala, esta guía te guiará a través de los pasos exactos: desde la configuración de tu clave API hasta la ejecución de tres ejemplos funcionales.
Al final, sabrás cómo geocodificar direcciones, buscar negocios por categoría y ubicación, y calcular direcciones. También entenderás dónde la API tiene limitaciones y qué hacer al respecto.
¿Por qué Extraer Datos de Google Maps?
La razón más común es la generación de leads. Los equipos de ventas obtienen listas de negocios locales: restaurantes, dentistas, contratistas, filtradas por ciudad o categoría. Pero ese no es el único caso de uso.
Los especialistas en marketing utilizan los datos de Google Maps para monitorear a la competencia: señales de precios, detalles de instalaciones, elementos del menú. Los analistas de bienes raíces mapean la densidad de negocios para evaluar vecindarios. Los operadores de franquicias identifican vacíos en su área de captación.
En todos estos casos, el objetivo es el mismo: convertir una búsqueda en Google Maps en un conjunto de datos estructurado y exportable.
Configurando tu Clave API de Google Maps
Antes de escribir una sola línea de código, necesitas una clave API. Aquí te mostramos cómo obtener una.
Ve a console.cloud.google.com. Crea un nuevo proyecto: dale cualquier nombre. Una vez creado el proyecto, selecciónalo en la navegación superior.
A continuación, ve a APIs y Servicios → Biblioteca. Cada API que planeas usar debe habilitarse individualmente. Para los ejemplos en esta guía, necesitarás:
- API de Geocodificación — convierte direcciones en coordenadas
- API de Lugares (Nueva) — busca negocios por categoría y ubicación
- API de Direcciones — calcula rutas entre dos puntos
Habilita cada una haciendo clic en ella y presionando "Habilitar".
Después de habilitar tu primera API, ve a APIs y Servicios → Credenciales. Tu clave API aparecerá allí. Cópiala y guárdala en un lugar seguro.
Una nota importante: la API de Google Maps es un servicio de pago. Necesitarás adjuntar una cuenta de facturación a tu proyecto. Google proporciona $200 en créditos mensuales gratuitos, lo que cubre aproximadamente 40,000 solicitudes de geocodificación o 6,250 solicitudes de la API de Lugares antes de que se apliquen cargos.
Ejemplo 1: Geocodificando una Dirección
La geocodificación convierte una dirección legible por humanos en coordenadas de latitud y longitud. Esta es la base de la mayoría de los flujos de trabajo basados en ubicación.
Lo que Hace la API de Geocodificación
Envía una cadena de dirección → recibe de vuelta coordenadas. Eso es todo. La respuesta también incluye el ID del Lugar, que puedes reutilizar en otras llamadas a la API.
La URL de la Solicitud
La URL base se ve así:
https://maps.googleapis.com/maps/api/geocode/json?address=YOUR_ADDRESS&key=YOUR_API_KEY
El parámetro address debe estar codificado en URL. Los espacios se convierten en %20, las comas se convierten en %2C, y así sucesivamente.
Implementación en JavaScript
const address = encodeURIComponent("1600 Amphitheatre Parkway, Mountain View, CA");
const apiKey = "YOUR_API_KEY";
const url = `https://maps.googleapis.com/maps/api/geocode/json?address=${address}&key=${apiKey}`;
fetch(url)
.then(response => response.json())
.then(data => {
const location = data.results[0].geometry.location;
console.log("Latitud:", location.lat);
console.log("Longitud:", location.lng);
console.log("ID del Lugar:", data.results[0].place_id);
})
.catch(error => console.error("Error:", error));
Lectura de la Respuesta
La respuesta es un objeto JSON. Las coordenadas se encuentran en results[0].geometry.location. Obtienes lat y lng como campos separados. El ID del Lugar está en results[0].place_id — guárdalo si planeas usar la API de Lugares o Direcciones a continuación.
Costo de la API de Geocodificación: aproximadamente $5 por 1,000 solicitudes. El crédito mensual de $200 cubre 40,000 solicitudes antes de que comience la facturación.
Ejemplo 2: Buscando Negocios por Categoría
Aquí es donde las cosas se vuelven útiles para la generación de leads. La API de Lugares (Nueva) te permite buscar negocios por tipo y ubicación. Defines una categoría, un área geográfica y un conteo de resultados: la API devuelve negocios coincidentes.
Habilitando la API Correcta
Asegúrate de haber habilitado la API de Lugares (Nueva) en tu consola de Google Cloud, no la API de Lugares heredada. La nueva versión utiliza un endpoint y formato de solicitud diferentes.
Configurando la Solicitud
La API de Lugares (Nueva) utiliza una solicitud POST para:
https://places.googleapis.com/v1/places:searchNearby
Envías un cuerpo JSON con tus parámetros de búsqueda e incluyes tu clave API y máscara de campo en los encabezados.
Implementación en JavaScript
const apiKey = "YOUR_API_KEY";
const payload = {
includedTypes: ["restaurant"],
maxResultCount: 10,
locationRestriction: {
circle: {
center: {
latitude: 40.7128,
longitude: -74.0060
},
radius: 500.0
}
}
};
const headers = {
"Content-Type": "application/json",
"X-Goog-Api-Key": apiKey,
"X-Goog-FieldMask": "places.displayName,places.formattedAddress,places.nationalPhoneNumber,places.websiteUri,places.rating"
};
fetch("https://places.googleapis.com/v1/places:searchNearby", {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => {
data.places.forEach(place => {
console.log(place.displayName.text, "-", place.formattedAddress);
});
})
.catch(error => console.error("Error:", error));
Entendiendo las Máscaras de Campo
El encabezado X-Goog-FieldMask controla qué campos de datos devuelve la API. Solo solicita lo que necesitas: esto afecta tanto al rendimiento como al costo.
Máscaras de campo comunes para la extracción de datos de negocios:
| Campo | Lo que devuelve |
|---|---|
places.displayName |
Nombre del negocio |
places.formattedAddress |
Dirección completa |
places.nationalPhoneNumber |
Número de teléfono |
places.websiteUri |
URL del sitio web |
places.rating |
Calificación promedio de Google |
places.userRatingCount |
Número de reseñas |
places.regularOpeningHours |
Horas de apertura |
El Límite de 120 Resultados
Aquí hay una restricción dura: la API de Lugares devuelve un máximo de 20 resultados por solicitud, y la paginación se limita a alrededor de 60 resultados totales por área de búsqueda. Si necesitas más, debes dividir tu área geográfica en círculos más pequeños y realizar múltiples solicitudes.
Esta es la razón principal por la que los desarrolladores buscan alternativas cuando necesitan extraer datos de Google Maps a gran escala.
Costo de la API de Lugares: aproximadamente $32 por 1,000 solicitudes para campos de datos básicos. Los campos avanzados (reseñas, fotos) cuestan más.
Ejemplo 3: Calculando Direcciones Entre Dos Puntos
La API de Direcciones calcula rutas entre un origen y un destino. Devuelve tiempo de viaje, distancia e instrucciones paso a paso.
Casos de Uso
Optimización de rutas para equipos de ventas en campo. Estimaciones de tiempo de entrega. Mapeo de áreas de cobertura de servicios. Identificación de qué negocios caen dentro de un tiempo de conducción específico desde una ubicación.
La URL de la Solicitud
https://maps.googleapis.com/maps/api/directions/json?origin=ORIGIN&destination=DESTINATION&mode=driving&departure_time=TIMESTAMP&key=YOUR_API_KEY
Para origen y destino, puedes usar:
- Una dirección formateada:
"Montreal, QC, Canadá" - Coordenadas:
"45.5017,-73.5673" - Un ID de Lugar:
"place_id:ChIJDbdkHFQayUwR7-8fITgxTmU"
Implementación en JavaScript
const apiKey = "YOUR_API_KEY";
const origin = "place_id:ChIJDbdkHFQayUwR7-8fITgxTmU"; // Montreal
const destination = "place_id:ChIJrxNRX7IFzkwR7RXdMeFRaUU"; // Ottawa
const departureTime = Math.floor(Date.now() / 1000); // Timestamp actual
const url = `https://maps.googleapis.com/maps/api/directions/json?origin=${encodeURIComponent(origin)}&destination=${encodeURIComponent(destination)}&mode=driving&departure_time=${departureTime}&key=${apiKey}`;
fetch(url)
.then(response => response.json())
.then(data => {
const route = data.routes[0].legs[0];
console.log("Distancia:", route.distance.text);
console.log("Duración:", route.duration.text);
console.log("Duración en tráfico:", route.duration_in_traffic?.text);
})
.catch(error => console.error("Error:", error));
Convirtiendo Fechas a Timestamps
El parámetro departure_time requiere un timestamp Unix: el número de segundos desde el 1 de enero de 1970. Para convertir una fecha específica, usa epochconverter.com o ejecuta esto en JavaScript:
const date = new Date("2025-06-15T09:00:00");
const timestamp = Math.floor(date.getTime() / 1000);
console.log(timestamp);
Costo de la API de Direcciones: aproximadamente $5 por 1,000 solicitudes.
Consideraciones Legales para la Extracción de Datos de Google Maps
Usar la API oficial de Google Maps te mantiene dentro de los términos de servicio de Google. Ese es el enfoque más seguro. Pero aún hay reglas que seguir.
Respeta los límites de tasa. Cada API tiene cuotas diarias. Excederlas desencadena errores y la posible suspensión de la cuenta. Monitorea tu uso en la consola de Google Cloud.
Solo accede a datos públicos. La API devuelve información empresarial visible públicamente. No intentes acceder a datos de usuarios privados o eludir la autenticación.
No almacenes datos indefinidamente. Los términos de Google restringen cuánto tiempo puedes almacenar ciertos tipos de datos. Consulta los términos específicos para cada API que utilices.
El uso comercial está permitido — con condiciones. Puedes usar los datos extraídos para generación de leads, investigación de mercado e inteligencia empresarial. No puedes revender datos en bruto de Google Maps como un producto independiente.
Para el scraping directo (sin la API oficial), la situación legal es más confusa. Los términos de servicio de Google prohíben el scraping de sus propiedades sin permiso. Los tribunales han emitido fallos mixtos al respecto. El camino más seguro es siempre la API oficial.
Las Limitaciones de la API de Google Maps
La API funciona bien para extracciones pequeñas a medianas. Pero tiene restricciones reales cuando necesitas volumen.
El costo escala rápidamente. La API de Lugares cobra ~$32 por 1,000 solicitudes. Extraer 50,000 listados de negocios cuesta aproximadamente $1,600 solo en tarifas de API — antes de cualquier tiempo de desarrollo.
El límite de 120 resultados. Ninguna búsqueda única devuelve más de 120 resultados. Cubrir una ciudad completa requiere docenas de mosaicos geográficos superpuestos, cada uno con su propia llamada a la API.
No hay exportación masiva. La API devuelve JSON. Tú escribes el código para analizarlo, eliminar duplicados y exportar a CSV. Eso es un trabajo de ingeniería real.
Gaps de datos. No todos los negocios tienen un sitio web, número de teléfono o correo electrónico. La API devuelve lo que Google tiene — lo que varía según la ubicación y el tipo de negocio.
La Alternativa Sin Código: IBLead
Si necesitas extraer datos de Google Maps sin escribir código de API, IBLead está diseñado para eso.
IBLead es una base de datos preindexada de más de 50 millones de negocios en 37 países. Todo ya está scrapeado e indexado — actualizado semanalmente. Buscas por ciudad, código postal, región o país entero. Filtra por categoría, calificación de Google, conteo de reseñas o las tecnologías que un negocio utiliza en su sitio web. Luego exporta a CSV al instante.
No hay configuración de API. No hay límites de tasa que gestionar. No hay facturación por solicitud.
IBLead detecta más de 160 tecnologías web por listado de negocio — plataformas CMS, herramientas de análisis, píxeles de publicidad, procesadores de pago. Eso es un dato que la API de Google Maps no devuelve en absoluto. También puedes acceder a hasta 500 reseñas de Google por listado, incluyendo texto de reseñas, calificación, fecha y autor.
Por 10,000 leads, estás mirando $52 — eso es $0.004 por contacto. La prueba te da 200 créditos para probarlo tú mismo.
Comienza gratis — 200 créditos incluidos
Preguntas Frecuentes
¿Es legal extraer datos de Google Maps?
Usar la API oficial de Google Maps es legal y está dentro de los términos de servicio de Google. El scraping directo sin la API viola los términos de Google y conlleva riesgos legales. Para uso comercial, la API o un proveedor de datos con licencia es el enfoque correcto.
¿Cuál es el límite de resultados al hacer scraping de Google Maps?
La API de Lugares devuelve un máximo de 20 resultados por solicitud, con paginación limitada a alrededor de 60 resultados por área de búsqueda. Las herramientas de scraping directo a menudo alcanzan un límite de ~120 resultados por consulta. Para cubrir áreas más grandes, necesitas dividir la geografía en mosaicos más pequeños.
¿Cuánto cuesta la API de Google Maps?
Los precios varían según el tipo de API. La geocodificación cuesta ~$5 por 1,000 solicitudes. La API de Lugares cuesta ~$32 por 1,000 solicitudes para datos básicos. Las direcciones cuestan ~$5 por 1,000 solicitudes. Google proporciona $200 en créditos mensuales gratuitos, que cubren un uso moderado antes de que se apliquen cargos.
¿Puedo exportar datos de Google Maps a Excel o CSV?
La API devuelve JSON: necesitas escribir código para convertirlo a CSV o Excel. Herramientas como IBLead omiten completamente ese paso: busca, filtra y exporta directamente a CSV en menos de dos minutos.
¿Qué campos de datos puedo extraer de Google Maps?
A través de la API oficial: nombre del negocio, dirección, número de teléfono, sitio web, calificación, conteo de reseñas, horas de apertura, coordenadas e ID del Lugar. IBLead añade direcciones de correo electrónico (enriquecidas de sitios web de negocios), perfiles de redes sociales, pila tecnológica y hasta 500 reseñas completas de Google por listado.
Conclusión
Extraer datos de Google Maps con la API de JavaScript es sencillo una vez que entiendes las tres APIs principales: Geocodificación para coordenadas, Lugares para búsqueda de negocios y Direcciones para rutas. Cada una tiene documentación clara, precios predecibles y soporte oficial de Google.
Sin embargo, los compromisos son reales. Los costos de la API se acumulan a gran escala. Los límites de resultados requieren mosaicos geográficos. Y aún necesitas escribir el código para analizar, eliminar duplicados y exportar tus datos.
Para los desarrolladores que construyen aplicaciones conscientes de la ubicación, la API es la herramienta adecuada. Para los equipos de ventas y marketing que necesitan listas de negocios rápidamente, una solución preindexada ahorra horas de trabajo de ingeniería.
De cualquier manera, ahora tienes el panorama completo para tomar la decisión correcta para tu caso de uso.
¿Listo para empezar?
Accede a todas las empresas de Google Maps, enriquecidas con emails y datos legales.
Prueba IBLead gratisArtículos relacionados
10 Consejos Comprobados para Conseguir que los Clientes Dejen Más Reseñas en Google Maps
Descubre 10 estrategias prácticas para aumentar las reseñas en Google Maps.
7 Errores de Cold Email a Evitar: Ejemplos y Plantillas
Evita estos 7 errores de cold email para mejorar tus tasas de respuesta. Ejemplos reales, plantillas AIDA y soluciones comprobadas.
Datos de Google Maps para ABM: La Guía Estratégica Completa
Descubre cómo los datos de marketing basado en cuentas de Google Maps generan un 208% más de ingresos.