Saca negocios de Google Maps a una hoja
Lista de negocios de una zona con teléfono, web y nota, en una hoja: con la API oficial de Google (gratis hasta un cupo) o con Apify sin código.
Qué consigues
Una hoja con los negocios de una zona: nombre, dirección, teléfono, web, nota media y número de reseñas. El ejemplo: una lavandería industrial de Málaga que lava manteles y uniformes quiere visitar restaurantes del Centro, el Soho y Pedregalejo. En una tarde tiene unos 300 restaurantes ordenados por barrio y por número de reseñas, listos para planificar visitas.
Lo que necesitas
- Opción oficial: una cuenta de Google Cloud con facturación activada (pide tarjeta). Places API (New) tiene un cupo gratis al mes por tipo de petición; si no lo pasas, pagas 0 €.
- Opción sin código: una cuenta gratis de Apify. El plan Free trae 5 $ de crédito al mes y, al acabarlo, se para hasta el mes siguiente: no te cobra de más.
- Claude Code (opcional, para que escriba el script por ti) y una hoja de Google Sheets.
- Tiempo: 45 minutos la primera vez.
Pasos
1. Entiende lo que pagas en Google
Text Search (New) cobra por petición, y el tipo depende de los campos que pidas (el «field mask»). A 31-10-2026, según la página oficial de precios:
- Text Search Pro (nombre, dirección, enlace de Maps, si sigue en activo o ha cerrado): 5.000 peticiones gratis al mes, luego 32 $ cada 1.000.
- Text Search Enterprise (añade teléfono, web, nota y número de reseñas): 1.000 peticiones gratis al mes, luego 35 $ cada 1.000.
Cada petición devuelve hasta 20 resultados y una búsqueda llega como mucho a 60 (tres páginas). Con 1.000 peticiones gratis sacas varios miles de negocios al mes. Para la lavandería sobra.
Al acabar este paso sabes qué campos pedir: teléfono y web te pasan a Enterprise.
2. Crea la clave de la API
En la consola de Google Cloud: crea un proyecto, activa Places API (New), activa la facturación y crea una clave de API. Restringe la clave a esa API. Pon también una alerta de presupuesto de 1 € para que te avise si algo se dispara.
Al acabar tienes una clave que empieza por AIza.
3. Prueba una búsqueda
Pega esto en la terminal con tu clave:
curl -X POST 'https://places.googleapis.com/v1/places:searchText' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: TU_CLAVE' \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress,places.nationalPhoneNumber,places.websiteUri,places.rating,places.userRatingCount,places.googleMapsUri,nextPageToken' \
-d '{"textQuery": "restaurantes en Pedregalejo, Málaga", "languageCode": "es", "regionCode": "ES"}'
Deberías ver un JSON con hasta 20 restaurantes y un nextPageToken para pedir la página siguiente.
4. Que Claude Code lo convierta en hoja
Abre Claude Code en una carpeta vacía y pídele el script:
Hazme un script que use Places API (New) Text Search (POST https://places.googleapis.com/v1/places:searchText).
La clave está en la variable de entorno GOOGLE_MAPS_KEY; no la escribas en el código.
Busca "restaurantes en <barrio>, Málaga" para estos barrios: Centro, Soho, El Palo, Pedregalejo, Teatinos.
Pide solo estos campos: places.id, displayName, formattedAddress, nationalPhoneNumber, websiteUri,
rating, userRatingCount, googleMapsUri y nextPageToken. Sigue el nextPageToken hasta 3 páginas por barrio.
Quita duplicados por id y guarda un CSV con: barrio, nombre, dirección, teléfono, web, nota, reseñas, enlace Maps.
Ordénalo por número de reseñas, de más a menos. Al final dime cuántas peticiones has hecho.
Revisa el script antes de ejecutarlo. Con 5 barrios son como mucho 15 peticiones. Al acabar tienes un restaurantes.csv que importas en Google Sheets (Archivo, Importar).
5. Opción sin código: Apify
Si no quieres tocar la terminal, en Apify abre el actor Google Maps Scraper (de Compass). Rellena el término de búsqueda (restaurante), la ubicación (Málaga) y el máximo de sitios por búsqueda (empieza con 50). Lánzalo y descarga el resultado en CSV o Excel.
Cobra por sitio sacado y por cada extra que actives (reseñas, contactos de la web). Mira el precio exacto en la pestaña de precios del actor antes de lanzarlo: con los 5 $ del plan Free da para pruebas de unos cientos de locales, no para toda Andalucía.
Al acabar tienes la misma hoja, sin clave ni script.
6. Limpia y prioriza
Sube el CSV a Claude y pide:
Esta es una lista de restaurantes de Málaga. Soy una lavandería industrial que lava manteles,
servilletas y uniformes. Marca como prioridad alta los que tienen más de 300 reseñas y web propia
(suelen tener más mesas y mantel). Agrupa por barrio para hacer rutas de visita de una mañana.
Devuélvemelo como tabla.
Errores típicos
- Pedir
*en el field mask → pagas el tipo más caro sin necesitarlo. Pide solo los campos que vas a usar. - Repetir búsquedas sin control → cada página es una petición. Guarda el CSV y no relances el script cada día.
- Mandar correos en masa a la lista → la LSSI (art. 21) prohíbe enviar publicidad por email a quien no la ha pedido, empresas incluidas. Visita, llama al teléfono del local presentándote y, si te dicen que sí, entonces escribe.
- Olvidar el RGPD → los datos de un restaurante son de empresa, pero si el titular es autónomo puede haber datos personales. Guarda solo lo necesario y borra a quien te lo pida.
- Montar una base de datos permanente → las políticas de Google solo permiten guardar sin límite el
place_id; el resto es para usarlo, no para almacenarlo para siempre. Úsala como lista de trabajo de la campaña. Y sacar datos de Maps con scraping (Apify) va contra los términos de Google: es tu responsabilidad.
Siguiente paso
Cuando tengas la lista, saca más datos de sus webs con Extrae datos de cualquier web sin programar o monta el seguimiento con Claude construye tus flujos de n8n. Si quieres montar la captación de clientes entera con cabeza, en KENSHO lo vemos contigo en una llamada.