Nuestras estadísticas de visitas propias están siempre activas. Google Analytics, que nos ayuda a entender cómo se usan nuestras páginas públicas (no tu espacio de trabajo con sesión iniciada), solo se activa con tu permiso. Consulta nuestra Política de privacidad.

Alternativa a Apify Google Maps Scraper: precio por 1000

Apify Google Maps Scraper cuesta de 1,50 a 4,00 USD por 1000 locales. Medimos 0,028 USD por 1000 locales y 0,014 USD por 1000 reseñas en CDMX.

Ilustración: dos manzanas de ciudad en vista isométrica. A la izquierda, un brazo robótico delgado levanta los marcadores del mapa uno a uno y cada marcador deja caer una moneda en un tubo transparente casi lleno. A la derecha, una pala color verde azulado recoge de una vez todos los marcadores de una manzana, con una sola moneda al lado.

Apify Google Maps Scraper cobra 4,00 USD por cada 1000 locales en el plan Free y 1,50 USD en el plan Business, que cuesta 999 USD al mes; el nivel más bajo, DIAMOND, solo para clientes Enterprise, cuesta 0,756 USD. El 26 de octubre de 2026 hicimos una petición real a EveryInfra para buscar dentistas en la Ciudad de México: volvieron 50 locales y pagamos 0,001389 USD, es decir, 0,0278 USD por cada 1000 locales, unas 27 veces menos que DIAMOND y unas 54 veces menos que Business. Con las reseñas pasa lo mismo: Google Maps Reviews Scraper de Apify cuesta de 0,15 a 0,60 USD por 1000 reseñas, y nosotros pagamos 0,0139 USD por 1000 con 100 reseñas por llamada.

La diferencia casi desaparece cuando cada llamada devuelve muy pocas filas. Consultar un solo local por su enlace, o bajar las 9 reseñas nuevas de un local, sale solo entre 1,8 y 1,9 veces más barato que Business, y un poco más caro que DIAMOND, porque cobramos por petición y con pocas filas no hay nada que repartir. En este artículo reunimos las 22 llamadas reales, 9 llamadas más tras la corrección de la paginación del 26 de octubre, los datos de precios públicos de Apify, las pruebas de paginación y de duplicados, y los pasos para montar cada opción en n8n.

Aquí, una «alternativa a Apify Google Maps Scraper» es una API de datos que se paga por petición. No se ejecuta un actor de Google Maps (así llama Apify a sus extractores en la nube) dentro de la plataforma de Apify; se piden directamente los mismos tipos de datos públicos del mapa: locales por palabra clave y ciudad, un local por su enlace y las reseñas de un local, página a página. Comparamos solo cuatro cosas: cuánto cuestan 1000 filas, qué unidad cuenta cada parte, qué uso gratuito hay y si se cobran los fallos, y cuántos pasos lleva conectarlo en n8n, por API y por MCP. No abrimos cuenta en Apify ni ejecutamos sus actores, así que no juzgamos la calidad de sus datos ni su tasa de éxito; de su lado solo usamos el endpoint público de precios, las páginas de la Store y la documentación. De los campos de respuesta, solo describimos los nuestros.

Ilustración isométrica. Sobre una base, unos postes finos sostienen tres láminas de mapa apiladas. Cada lámina tiene pequeños cilindros que representan locales, y la mayoría de los cilindros está en los mismos puntos de las tres láminas: tres búsquedas con sinónimos encuentran casi los mismos locales. A la derecha, una lámina plana con borde verde azulado tiene un solo cilindro verde azulado en cada punto: el resultado tras quitar duplicados por place_id.

Precios de Apify Google Maps Scraper: cada evento, en una tabla

Primero, cómo cobra Apify. Todas las cifras salen de su endpoint público api.apify.com/v2/acts/<actor>, que se puede leer sin cuenta. Su campo pricingInfos enumera los eventos que cobra cada actor y el precio de cada nivel. El 26-10-2026 a las 17:05 (hora de Singapur) leímos cuatro actores: Google Maps Scraper, Google Maps Reviews Scraper, Google Maps Extractor y Google Maps Email Extractor. La tarifa actual de Google Maps Scraper rige desde el 30-06-2026; el mismo endpoint muestra 667.270 usuarios en total y 44.777 en los últimos 30 días, con el último cambio el 26 de octubre. La de Reviews Scraper rige desde el 13-03-2026, y ese actor tiene 65.028 usuarios.

Cada evento tiene seis niveles de precio. FREE, BRONZE, SILVER y GOLD corresponden a los cuatro planes de autoservicio de Apify: Free, Starter, Scale y Business. La documentación de Actors in Store dice que cada plan incluye un nivel de descuento, y la de precios y costes aclara que PLATINUM y DIAMOND son solo para clientes Enterprise. La tabla recoge todos los eventos de Google Maps Scraper por cada 1000, y en la última fila el de Reviews Scraper.

Evento (por cada 1000)FreeStarterScaleBusinessPLATINUMDIAMOND
Local extraído (base)4,00 USD3,00 USD2,00 USD1,50 USD1,26 USD0,756 USD
Extra: filtro de categoría1,00 USD1,00 USD0,75 USD0,525 USD0,315 USD0,189 USD
Extra: detalle del local (obligatorio con enlace o Place ID)2,00 USD2,00 USD1,50 USD1,05 USD0,63 USD0,378 USD
Extra: contactos desde la web del negocio2,00 USD2,00 USD1,50 USD1,05 USD0,63 USD0,378 USD
Extra: cada reseña0,50 USD0,50 USD0,37 USD0,26 USD0,1575 USD0,0945 USD
Extra: cada imagen0,50 USD0,50 USD0,37 USD0,26 USD0,1575 USD0,0945 USD
Extra: contacto comercial (cada uno)100 USD5,00 USD5,00 USD4,00 USD3,00 USD3,00 USD
Extra: perfil social (cada uno)100 USD8,00 USD7,00 USD6,00 USD4,00 USD3,00 USD
Extra: análisis de competencia con IA (cada local)25 USD20 USD18 USD16 USD15 USD13 USD
Reviews Scraper: cada reseña0,60 USD0,45 USD0,40 USD0,30 USD0,20 USD0,15 USD

Hay tres cosas en esta tabla que se pasan por alto con facilidad. Primera: si das un enlace o un Place ID directo, Apify cobra además el extra de detalle; su página en la Store dice que en ese caso «se te cobrará un extra». Así, un local por enlace cuesta 1,50 + 1,05 = 2,55 USD por 1000 en Business. Segunda: contactos comerciales, verificación de correo y perfiles sociales cuestan 0,10 USD cada uno en Free, entre 12 y 25 veces el precio de los planes de pago; la propia página reconoce que el enriquecimiento social es «bastante más caro» en Free. Tercera: cada ejecución paga además el evento apify-actor-start; la documentación de pago por evento fija por defecto 0,00005 USD, que se cobra otra vez por cada GB extra de memoria. Por ejecución es poco, pero se nota si divides el trabajo en decenas de ejecuciones pequeñas por ciudad cada día.

Captura de la página de Apify Google Maps Scraper, sección Direct Place IDs or URLs. Un recuadro verde azulado marca el texto que dice que se pueden subir Place IDs o enlaces para saltar la búsqueda, y que en ese caso se cobra el extra Additional place details scraped.
Un local dado por enlace paga el extra de detalle Captura de la página de Apify Google Maps Scraper, 26-10-2026, 17:22 hora de Singapur

Con los extras activados, el precio por 1000 locales se multiplica. El gráfico siguiente activa cinco eventos habituales: el local base, el detalle, un filtro, los contactos y 10 reseñas por local. En Free pasa de 4,00 a 14,00 USD; en Business, de 1,50 a 6,72 USD; en DIAMOND, de 0,756 a 2,65 USD. Un usuario de Reddit que arma listas de prospección publicó cifras del mismo orden: el actor de Google Maps le costaba 4 USD por 1000 con los campos básicos y 6 USD por 1000 con correos y perfiles sociales (publicación). Ojo: ese usuario vende una herramienta de escritorio y compara Apify con su propio producto. No usamos su conclusión; solo tomamos los dos precios de Apify que publica, que coinciden con el nivel Free del endpoint público.

Gráfico de barras horizontales apiladas, precio por 1000 locales con cinco eventos activos. Free: base 4,00 USD, detalle 2,00 USD, filtro 1,00 USD, contactos 2,00 USD, 10 reseñas 5,00 USD; total 14,00 USD. Business: 1,50, 1,05, 0,525, 1,05 y 2,60 USD; total 6,72 USD. DIAMOND: 0,756, 0,378, 0,189, 0,378 y 0,945 USD; total 2,65 USD. El tramo de reseñas va en verde azulado y es el mayor o el segundo mayor de cada barra.

Los precios de EveryInfra son más simples y también menos flexibles. En el catálogo GET /api/v1/social/catalog, las tres acciones de Google Maps, google_maps_reviews/search, google_maps_reviews/profile y google_maps_reviews/reviews, cuestan 0,001389 USD por petición: el nivel Standard de la página de precios, 1,39 USD por 1000 peticiones. Una petición cuesta lo mismo con 1 fila que con 50. search devuelve hasta 50 locales por llamada (el max_limit del catálogo) y reviews hasta 100 reseñas. No hay extras: teléfono, web, valoración, número de reseñas y horario ya vienen en la respuesta. Lo que no viene, como el correo de la web, los perfiles sociales o las horas punta, no lo tenemos y no se puede comprar aparte.

Las mismas 1000 filas: tres niveles de Apify frente a EveryInfra, medido

Esta es la comparación central del artículo. Las columnas de Apify usan precios públicos. La de EveryInfra usa nuestras llamadas reales de ese día: lo pagado, dividido entre las filas recibidas, por 1000. Contamos las filas por la longitud del array devuelto, no por limit. La regla del cociente la fijamos antes de las pruebas: 2 o más es «más barato», entre 1 y 2 es «parecido» y menos de 1 es «Apify más barato». Mostramos Business, el precio de autoservicio más bajo tras pagar 999 USD al mes, y DIAMOND, el más bajo de los seis niveles, que exige un contrato Enterprise.

DatosOpción de ApifyApify FreeApify BusinessApify DIAMONDPrueba EveryInfra (acción, filas por llamada)Medido por 1000Frente a BusinessFrente a DIAMOND
Búsqueda de localesGoogle Maps Scraper, base4,00 USD1,50 USD0,756 USDgoogle_maps_reviews/search, 500,0278 USDunas 54 veces más baratounas 27 veces más barato
ReseñasReviews Scraper0,60 USD0,30 USD0,15 USDgoogle_maps_reviews/reviews, 1000,0139 USDunas 22 veces más baratounas 11 veces más barato
Reseñas junto con los localesextra de reseñas de Google Maps Scraper0,50 USD0,26 USD0,0945 USDigual, 1000,0139 USDunas 19 veces más baratounas 6,8 veces más barato
Solo reseñas nuevasReviews Scraper0,60 USD0,30 USD0,15 USDgoogle_maps_reviews/reviews, 9 con since0,1543 USDparecido (1,9 veces)Apify un 3 % más barato
Un local por enlacebase + extra de detalle6,00 USD2,55 USD1,134 USDgoogle_maps_reviews/profile, 11,389 USDparecido (1,8 veces)Apify un 18 % más barato
Gráfico de mancuernas, dólares por cada 1000 filas en escala logarítmica de 0,001 a 10 USD. Cinco filas. Búsqueda de locales: EveryInfra 0,0278 USD; Apify DIAMOND 0,756, Business 1,50 y Free 4,00 USD. Reseñas: 0,0139 frente a 0,15, 0,30 y 0,60 USD. Reseñas con el extra de Maps Scraper: 0,0139 frente a 0,0945, 0,26 y 0,50 USD. Solo reseñas nuevas, 9 por llamada: 0,1543 frente a 0,15, 0,30 y 0,60 USD. Un local por URL: 1,389 frente a 1,134, 2,55 y 6,00 USD. En las tres primeras filas el punto verde azulado queda uno o dos órdenes de magnitud a la izquierda; en las dos últimas cae entre los niveles de Apify.

La diferencia de las tres primeras filas viene de la unidad de cobro. Los actores de Google Maps de Apify cobran por evento: su página de precios explica que la mayoría de los actores usa pago por evento y que pagas por eventos como devolver un resultado. Así, 1000 locales son 1000 eventos. Nosotros cobramos por petición: 50 locales pagan un solo precio, y cada local sale a 0,0000278 USD. Las dos últimas filas son distintas porque esos trabajos devuelven, por naturaleza, muy pocas filas por llamada: un local por enlace es 1 fila, y las reseñas nuevas del día de la prueba fueron 9. Entonces el precio por petición funciona como un precio por fila, y solo cuenta el precio unitario.

No incluimos estas dos filas para parecer equilibrados: cambian decisiones reales. Si tu trabajo principal es actualizar cada día 5000 locales que ya conoces, con nuestro precio cuesta 6,95 USD al día; en Apify, los eventos cuestan 12,75 USD en Business y 5,67 USD en DIAMOND. La distancia es mucho menor que en la búsqueda masiva.

¿Apify Google Maps Scraper es gratis? Lo que compran 5 USD

«apify google maps scraper free» es una de las sugerencias de búsqueda más frecuentes sobre este tema. La respuesta exacta: Apify tiene un plan Free sin tarjeta que da 5 USD de uso prepagado al mes, para gastar en cualquier actor de la Store. Su página de precios dice que una cuenta Free queda bloqueada hasta el siguiente ciclo cuando agota los 5 USD, y que en ningún plan el uso prepagado sin gastar pasa al mes siguiente: caduca al cierre del ciclo. La página de Google Maps Extractor en la Store da su propio número: con los 5 USD del plan Free se pueden extraer 1000 locales, o menos si usas extras. Coincide con el precio Free de Extractor en el endpoint público, 5,00 USD por 1000, así que sirve como comprobación externa.

Captura de la página de Apify Google Maps Extractor. Bajo la tabla de precios por plan, un recuadro verde azulado marca el texto que dice que el plan Free da 5 USD de crédito, es decir, 1000 locales de Google Maps sin coste, o menos con extras.
La cuenta que hace Apify con su crédito gratuito Captura de la página de Apify Google Maps Extractor, 26-10-2026, 17:22 hora de Singapur

Con el mismo método convertimos 5 USD en filas para trabajos habituales. Google Maps Scraper con campos básicos da 1250 locales; con detalle, 833; con detalle y un filtro, 714. Si cada local trae además 10 reseñas, quedan 555 locales. Reviews Scraper da 8333 reseñas. El usuario de Reddit citado arriba escribió que sus 5 USD gratis se le acabaron «en una sola mañana», y con estas cifras se entiende.

Gráfico de barras horizontales en escala logarítmica, filas de Google Maps que compran 5 USD. EveryInfra reseñas a 100 por llamada: 359.900. EveryInfra locales a 50 por llamada: 179.950. Las dos barras son verde azulado. Apify reseñas: 8333. Apify locales base: 1250. Apify Extractor locales: 1000. Apify locales con detalle: 833. Apify locales con detalle y filtro: 714. Estas barras son gris oscuro. Las dos barras de EveryInfra suponen páginas llenas en cada llamada, así que son un techo.

Del lado de EveryInfra hay que aclarar dos cosas. La primera: no damos saldo mensual. La página de precios explica que, si das una estrella a everyinfra/everyinfra-agent-plugins en GitHub, puedes reclamar 1 USD en la consola tras registrarte; vale 24 horas y alcanza para unas 720 llamadas de datos, y un registro normal no recibe nada. La recarga mínima es de 10 USD, unas 7199 llamadas, y el saldo pagado no caduca.

La segunda: las barras de EveryInfra del gráfico son un techo, no una promesa. Con 5 USD compras 3599 peticiones, y solo llegas a 179.950 locales o 359.900 reseñas si cada llamada trae 50 locales o 100 reseñas. En la práctica, una búsqueda da como mucho 120 filas, como se ve más abajo; para conseguir más locales hacen falta más búsquedas distintas y más ciudades, y los sinónimos se repiten mucho. Una llamada de reseñas, además, solo trae 100 filas en locales que tienen 100 reseñas o más.

Uso gratuito y arranqueApifyEveryInfra
Sin pagarPlan Free: 5 USD al mes y luego bloqueo hasta el mes siguienteEstrella en GitHub: 1 USD durante 24 horas; un registro normal no recibe nada
Entrada de pago más bajaStarter: 19 USD al mes, que incluyen 19 USD de uso; el exceso va a la factura siguienteUna recarga de al menos 10 USD; sin cuota mensual
Dinero sin usarCaduca al cierre del cicloSe queda hasta que lo gastes
Al llegar al límiteEl plan Free se bloquea; los de pago pagan el excesoLas peticiones fallan al agotarse el saldo; sin descubierto
Concurrencia y ritmoPlan Free: hasta 5 ejecuciones a la vez60 llamadas por minuto por cuenta por defecto, compartidas entre todas las claves; 180, 600 y 1.800 por minuto con 50, 150 y 750 USD recargados en total

La factura mensual: la cuota suele pesar más que el uso

Un precio unitario pequeño es solo una parte de la factura. En Apify, la cuota del plan es uso prepagado, así que el gasto real del mes es el mayor entre la cuota y el uso de ese mes. Un tamaño habitual: 10.000 locales y 100.000 reseñas al mes, unas 10 reseñas por local. A los precios de cada nivel, el uso es de 75 USD en Starter, 60 USD en Scale y 45 USD en Business. Pero Scale cuesta 199 USD y Business 999 USD al mes, y la parte de la cuota que no usas caduca. Así que el gasto real es de 75, 199 y 999 USD: el plan con menor coste de uso es el de factura más alta. Dejamos fuera el plan Free porque se bloquea al llegar a 5 USD.

Gráfico de barras horizontales apiladas, gasto real al mes por 10.000 locales y 100.000 reseñas. Apify Starter: uso 75 USD, gasto 75 USD. Scale: uso 60 USD más 139 USD de cuota no usada, gasto 199 USD. Business: uso 45 USD más 954 USD no usados, gasto 999 USD. EveryInfra a la tarifa medida: 1,67 USD, una barra verde azulada casi pegada a cero.

El mismo trabajo cuesta 1,67 USD en EveryInfra. 10.000 locales a 50 por llamada son 200 llamadas a search; 100.000 reseñas a 100 por llamada son 1000 llamadas a reviews. En total, 1200 peticiones a 0,001389 USD. Es el mejor caso y depende de dos condiciones. La primera: las 200 búsquedas deben ser 200 pares distintos de palabra clave y ciudad que traigan 50 locales nuevos cada uno; nuestras pruebas muestran que los sinónimos se repiten mucho, así que en la práctica hacen falta más llamadas. La segunda: cada local necesita 100 reseñas o más para llenar una llamada. Aun con la peor repetición que medimos, en la que un segundo sinónimo solo aportó 5 locales nuevos, 1000 locales nuevos cuestan 0,278 USD, más o menos la quinta parte de los 1,50 USD de Apify Business.

10.000 locales + 100.000 reseñas al mesUso (eventos)CuotaGasto real
Apify Starter75,00 USD19 USD75,00 USD (19 USD + 56 USD de exceso)
Apify Scale60,00 USD199 USD199,00 USD
Apify Business45,00 USD999 USD999,00 USD
Apify DIAMOND (Enterprise)22,56 USDpor contrato; no figura en páginas públicassin confirmar
EveryInfra (tarifa medida)1,67 USDninguna1,67 USD

Haz tú la cuenta: dos fórmulas y un ejemplo

Puedes meter tus propias cifras en dos fórmulas. En Apify, el coste de eventos del mes es: locales × (precio base + el precio de cada extra que actives) + reseñas × precio por reseña + ejecuciones × coste de arranque; el gasto real es el mayor entre esa suma y tu cuota. En EveryInfra, el coste es (llamadas de búsqueda + llamadas de detalle + llamadas de reseñas) × 0,001389 USD. Las llamadas de búsqueda son, más o menos, los locales nuevos que necesitas divididos entre los locales nuevos por llamada; las de reseñas, las reseñas por local divididas entre 100, redondeando hacia arriba, por el número de locales. En las dos fórmulas lo difícil es lo mismo: cuántas filas útiles trae cada llamada. En Apify depende de los extras; en nuestro caso, de cuántos locales nuevos quedan tras quitar duplicados.

Un ejemplo de agencia de marketing local: 30 ciudades y 3 categorías, 100 locales por par y las 20 reseñas más nuevas de cada local, una vez al mes. Son 9000 locales y 180.000 reseñas. En Apify Business, los locales cuestan 9000 × 1,50 = 13,50 USD y las reseñas 180.000 × 0,30 = 54,00 USD; los 67,50 USD quedan por debajo de la cuota de 999 USD, así que el gasto real es de 999 USD. En Starter, los eventos suman 9000 × 3,00 + 180.000 × 0,45 = 108 USD, por encima de la cuota de 19 USD, y el gasto real es de 108 USD.

En EveryInfra, cada par necesita 2 llamadas a search para 100 filas (en la comprobación tras la corrección, las dos primeras páginas tenían entre 92 y 100 locales únicos), 180 llamadas para 90 pares, y cada local 1 llamada a reviews para 20 reseñas, 9000 llamadas. En total, 9180 llamadas × 0,001389 = 12,75 USD. Si solo bajas reseñas de los locales con nota inferior a 4, las llamadas de reseñas bajan mucho. En este ejemplo nuestro gasto es más o menos la octava parte del de Apify Starter. Supone que cada par trae de verdad 100 locales únicos; si no llega, la página 3 añade 20 más por una llamada más; con una categoría estrecha o una ciudad pequeña, el mismo número de llamadas trae menos locales.

30 ciudades × 3 categorías, 100 locales cada una, 20 reseñas por localLocalesReseñasEventosGasto real al mes
Apify Business9000 × 1,50 = 13,50 USD180.000 × 0,30 = 54,00 USD67,50 USD999 USD (cuota)
Apify Starter9000 × 3,00 = 27,00 USD180.000 × 0,45 = 81,00 USD108,00 USD108 USD
EveryInfra180 llamadas9000 llamadas9180 × 0,001389 USD12,75 USD

Prueba 1: búsqueda de locales y paginación (dentistas en la CDMX)

La versión en español usa la Ciudad de México como muestra principal, con Singapur y Austin como contraste. Elegimos clínicas dentales porque son una categoría típica de las listas de prospección local: muchas reseñas y mucha competencia. La primera petición en la CDMX salió a las 17:17:38 (hora de Singapur), las 3:17 de la madrugada en la Ciudad de México. Usó google_maps_reviews/search con la palabra clave dentista, la ubicación Ciudad de México, el país mx, el idioma es y limit 50. Devolvió 50 locales en 12,0 segundos y costó 0,001389 USD. Esta es la petición; cambia $EVERYINFRA_API_KEY por tu clave.

bash
curl -s https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"google_maps_reviews","action":"search",
       "params":{"keyword":"dentista","location":"Ciudad de México","country":"mx","language":"es","limit":50}}'
# Respuesta: results (50 locales), next_page_token, pagination.has_more = true, billing.charged_usd = 0.001389

La segunda página mostró el primer límite que conviene conocer. En Singapur enviamos el next_page_token de la página 1 con los mismos parámetros, y a las 17:09:40 (hora de Singapur) recibimos un HTTP 422 con el código async_required, sin cobro. El mensaje explica el motivo: una llamada síncrona solo puede llegar a 60 filas desde la primera, y la página 2 pide de la 51 a la 100. Hay que añadir "mode":"async" al cuerpo, recibir un job_id y consultar GET /api/v1/jobs/{job_id}. En el catálogo, la pagination de search también indica sync_max_rows: 60 y max_rows: 120.

Captura de una respuesta real de EveryInfra. Arriba, la petición de la página 2 con la palabra clave dentist, la ubicación Singapore, limit 50 y el page_token de la página 1. Abajo, la respuesta 422 con el código async_required; unos recuadros verde azulado marcan el mensaje, que dice que la llamada síncrona supera 60 filas y pide mode async y consultar el trabajo, y el siguiente paso, que dice que no se cobró nada.
La página 2 es demasiado profunda para una llamada síncrona; la API dice cómo corregirlo y no cobra Captura de una respuesta de la API de EveryInfra, 26-10-2026, 17:09:40 hora de Singapur

Repetimos la página 2 en modo asíncrono y recibimos al momento un 202 con un job_id; esa llamada costó 0,001389 USD. En la CDMX el trabajo se envió a las 17:18:13 (hora de Singapur) y terminó 44 segundos después con 50 locales. El pagination.stop_reason fue depth_limit y has_more pasó a false. Es decir, antes de la corrección del 26 de octubre a las 19:53 (hora de Singapur), una búsqueda se detenía en la página 2, con 100 locales. Singapur y Austin dieron lo mismo, sin repetidos por place_id.

Tras la corrección repetimos las tres búsquedas. En la CDMX, la página 1 salió a las 20:03:49 (hora de Singapur) y volvió en 31,0 segundos con 50 locales. La página 2 (asíncrona, 20:04:20) trajo 50 en unos 69 segundos. La página 3 (20:05:29) trajo 20 en unos 68 segundos, con stop_reason en depth_limit y sin next_page_token. Son 120 filas por 3 peticiones, 0,004167 USD. Singapur y Austin también dieron 50, 50 y 20.

Ojo: cada página se vuelve a extraer desde el principio y el orden puede cambiar, así que las páginas pueden repetirse. «120 locales por búsqueda» se cuenta tras quitar duplicados por place_id:

Comprobación tras la correcciónFilas en 3 páginasLocales únicosRepetidos entre páginas 1 y 2USD por 1000 locales únicos
Ciudad de México, dentista12011280,0372
Austin TX, dentist12011910,0350
Singapur, dentist12012000,0347
Búsqueda (hora de Singapur)PáginaModoFilasMotivo de paradaCobro
dentista, Ciudad de México (17:17:38)1síncrono50hay más páginas0,001389 USD
igual, página 2 (17:18:13)2asíncrono, 44 s50depth_limit (antes de la corrección)0,001389 USD
dentist, Singapore (17:09:23)1síncrono50hay más páginas0,001389 USD
igual, página 2 (17:09:40)2síncrono422 async_required—0 USD
igual, página 2 (17:09:49)2asíncrono, 42 s50depth_limit (antes de la corrección)0,001389 USD
dentist, Austin TX (17:15:52 / 17:16:26)1–2síncrono + asíncrono50 + 50depth_limit (antes de la corrección)0,002778 USD
dentista, Ciudad de México (desde 20:03:49, tras la corrección)1–3síncrono + asíncrono50 + 50 + 20, 112 únicospágina 3: depth_limit0,004167 USD
dentist, Singapore (desde 20:01:41, tras la corrección)1–3síncrono + asíncrono50 + 50 + 20, 120 únicospágina 3: depth_limit0,004167 USD
dentist, Austin TX (desde 20:03:49, tras la corrección)1–3síncrono + asíncrono50 + 50 + 20, 119 únicospágina 3: depth_limit0,004167 USD

También anotamos la velocidad. Las llamadas síncronas a search tardaron entre 9 y 16 segundos en esta prueba: la de Singapur de las 17:09:23 (hora de Singapur), 9,1 segundos, y la de la palabra clave en chino de las 17:11:03, 16,0 segundos. Los trabajos asíncronos de la página 2 tardaron entre 42 y 44 segundos desde el envío hasta el final; tras la corrección, los de las páginas 2 y 3 tardaron entre unos 42 y 69 segundos. En n8n conviene poner el tiempo de espera del nodo HTTP Request en 60 segundos o más, y consultar los trabajos asíncronos cada 10 segundos más o menos. Lo que tarda una ejecución de Apify depende de la zona, los extras y la memoria; no la ejecutamos, así que no damos cifra.

Llamada (hora de Singapur)ModoTiempo
search, dentist, Singapur (17:09:23)síncrono9,1 s
search, término chino, Singapur (17:11:03)síncrono16,0 s
search, dentista, CDMX (17:17:38)síncrono12,0 s
search, página 2, CDMX (17:18:13)asíncrono44 s
search, dentista, CDMX, página 1 tras la corrección (20:03:49)síncrono31,0 s
search, páginas 2 y 3, CDMX, tras la corrección (20:04:20 y 20:05:29)asíncronounos 69 s y 68 s
reviews, página 1 de 100 (17:11:28)síncrono28,7 s
profile, place_id inventado (17:19:45)síncrono63 s, reembolsado

Este límite de profundidad no es solo nuestro. La documentación de Text Search (New) de Google dice que pageSize admite como máximo 20 por página y que, sumando todas las páginas, se devuelven como mucho 60 resultados, «límite que puede cambiar»; la página se actualizó por última vez el 23-10-2026. La página de Apify Google Maps Scraper explica que, con solo una palabra clave y sin ubicación, una ejecución devuelve como mucho 120 locales, porque abre una sola pantalla de mapa y baja hasta el final; para conseguir más hay que dar una zona, y el actor la divide en muchas pantallas.

Tras la corrección, nuestro límite también es de 120 filas. Las tres herramientas, por tanto, chocan con el mismo límite de unas decenas a un centenar largo de locales por búsqueda. La diferencia es quién divide la zona. Apify la divide dentro del actor, y una sola ejecución puede cubrir una ciudad entera o incluso un país; con nuestra API y con la de Google, la divides tú por colonias, códigos postales o términos más concretos.

Los datos piden dos pasos de limpieza. En la CDMX, una de las 100 filas era un dentista que ejerce por su cuenta, sin valoración. En Singapur, el primer resultado de las búsquedas en inglés y en chino fue «Chan Jong Dr»: su dirección es igual que su nombre y no tiene valoración ni teléfono, así que parece una calle, no una clínica. Por eso, el primer paso tras una búsqueda es descartar las filas con rating o review_count vacíos. Por campos, en la CDMX 99 de 100 filas tenían phone, rating y review_count, pero solo 83 de 100 tenían website; en Austin las 100 tenían los cuatro campos y en Singapur 99 de 100. En las tres ciudades price y description venían vacíos para esta categoría, y ninguna fila tenía permanently_closed en true.

Prueba 2: quitar duplicados por place_id, y lo que aporta de verdad un sinónimo

Quien arma listas de negocios locales suele buscar varios sinónimos para encontrar más locales. Hicimos una serie en cada una de las tres ciudades. Primero buscamos dentista (o dentist) en dos páginas y obtuvimos 100 locales (de 17:09 a 17:18, antes de la corrección, cuando la página 2 era la última); después clínica dental (o dental clinic) con 50 locales, y en Singapur también el término chino para clínica dental. Luego cruzamos todo por place_id.

En la CDMX, 42 de los 50 locales de «clínica dental» ya estaban en la lista de «dentista»: solo 8 eran nuevos. En Singapur hubo 41 repetidos y 9 nuevos, y el término chino dio 45 repetidos y 5 nuevos. En Austin, 44 repetidos y 6 nuevos. Con los tres términos de Singapur, 4 peticiones dieron 200 filas y 112 locales únicos tras quitar duplicados.

CiudadPrimera búsqueda (2 páginas)Segunda búsqueda (50)RepetidosNuevosCoste por 1000 locales nuevos
Ciudad de Méxicodentista, 100clínica dental4280,174 USD
Singapurdentist, 100dental clinic4190,154 USD
Singapurdentist, 100término chino para clínica dental4550,278 USD
Austin, TXdentist, 100dental clinic4460,232 USD
Gráfico de barras horizontales apiladas: cuántos de los 50 locales de una segunda búsqueda ya estaban entre los 100 primeros de dentist o dentista en la misma ciudad. Singapur, dental clinic: 41 vistos y 9 nuevos. Singapur, término chino para clínica dental: 45 vistos y 5 nuevos. Austin, dental clinic: 44 vistos y 6 nuevos. CDMX, clínica dental: 42 vistos y 8 nuevos. Gris oscuro son los ya vistos y verde azulado los nuevos.

Estas cifras dicen dos cosas. La primera: un sinónimo aporta poco. En estas cuatro muestras, el segundo término sumó solo entre 5 y 9 locales nuevos, una repetición de entre el 82 % y el 90 %. La muestra es una sola categoría en tres ciudades, así que no prueba que todas las categorías se comporten igual, pero basta para ver que apilar sinónimos no hará crecer mucho la lista. La página de Apify en la Store da el mismo consejo: usar pocos términos de significado distinto que se solapen poco, como restaurant, bar y cafe, y no una larga lista de casi duplicados como restaurant, restaurants y chinese restaurant, que según Apify «solo alarga la ejecución sin dar más resultados».

La segunda: los repetidos cambian el coste real de cada local nuevo. En nuestro caso, la petición del segundo término cuesta igualmente 0,001389 USD. En la CDMX trajo 8 locales nuevos, así que 1000 locales nuevos cuestan 0,174 USD; en el peor caso, el término chino en Singapur, trajo 5, es decir, 0,278 USD por 1000. Sigue siendo entre 5 y 10 veces menos que los 1,50 USD de Apify Business, pero diez veces más que nuestro precio con páginas llenas, 0,0278 USD. Calcula el presupuesto con locales únicos, no con filas devueltas.

En Apify, la página de la Store sugiere que añadir términos en la misma ejecución no da más resultados; no la ejecutamos, así que no sabemos si un local repetido dentro de una ejecución se cobra dos veces. Hay un caso seguro: entre ejecuciones, los mismos locales vuelven a contar. Si lanzas la misma búsqueda cada semana, cada ejecución vuelve a pagar «local extraído» por los mismos locales.

Ilustración: tres láminas de mapa transparentes con marcadores flotan sobre un embudo, un poco desplazadas entre sí, y muchos marcadores coinciden en el mismo punto en las tres. Un tamiz fino dentro del embudo deja caer abajo un solo mapa con borde verde azulado, con un marcador en cada punto, mientras los marcadores sobrantes caen a una cajita gris.
Quitar duplicados por place_id: tres búsquedas se unen y los repetidos se descartan Ilustración generada (rolldek gpt-image-2.5), la imagen no contiene datos

Para quitar duplicados basta con place_id. La documentación de Place ID de Google dice que los Place ID quedan fuera de las restricciones de caché de los términos de Google Maps Platform (sección 3.2.3(b)), así que puedes guardarlos. También dice que un mismo lugar puede tener varios ID y que los ID cambian con el tiempo; Google recomienda renovar los que tengan más de 12 meses, porque uno antiguo puede devolver NOT_FOUND. Nuestro artículo sobre duplicados por Place ID explica cómo mantener tu propia clave de negocio y asociarla a los ID externos. En las cuatro pruebas de aquí, cada place_id volvió con el mismo nombre y la misma dirección en términos distintos; no vimos ningún local con dos ID, aunque 112 locales son pocos para descartarlo.

Prueba 3: paginar las reseñas de una clínica

Las reseñas son la parte más cara de los datos de Google Maps y la que más fácilmente llega incompleta. En r/apify, un equipo preguntó por qué extraer reseñas de Google Maps les costaba 35 USD por cada 1000 resultados (publicación). El hilo no terminó con un proveedor nuevo, sino con un método: separar el coste en cómputo del navegador, tráfico de proxy, peticiones por local y reseñas por local, y comprobar la completitud contra el número de reseñas que muestra cada local. Una ejecución más barata que deja de paginar sin avisar en los locales con muchas reseñas no es más barata, solo está mal. Aplicamos ese método.

La muestra de la CDMX es la clínica con más reseñas de la búsqueda: La Clínica Dental (Narvarte), con 863 reseñas y una valoración de 4,7. A las 17:19:02 (hora de Singapur) pedimos sus 100 reseñas más nuevas con lang=es. Volvieron 100, de las cuales 97 tenían texto y 84 tenían respuesta del negocio; 89 eran de 5 estrellas, 3 de 4, 1 de 3, 1 de 2 y 6 de 1. Las fechas iban del 9 de junio al 24 de octubre de 2026: esta clínica juntó 100 reseñas en cuatro meses y medio. Costó 0,001389 USD.

Para medir la profundidad máxima usamos una clínica de Singapur con más reseñas. A las 17:15:10 (hora de Singapur), google_maps_reviews/profile mostró 1868 reseñas, una valoración de 4,9 y 344 fotos. Pedimos las reseñas de la más nueva a la más antigua, 100 por página. Las páginas 1 y 2 volvieron en modo síncrono a las 17:11:28 y 17:12:02; desde la página 3 la llamada supera la profundidad síncrona, que para reviews es de 200 filas según el catálogo, así que enviamos las páginas 3 y 4 en modo asíncrono a las 17:12:23 y 17:13:47, y terminaron tras 77 y 69 segundos. La página 4 se detuvo con depth_limit. Las 4 páginas dieron 400 reseñas, que siguieron siendo 400 tras quitar duplicados por id: ninguna página repitió otra. Las 4 llamadas costaron 0,005556 USD, 0,0139 USD por 1000 reseñas.

Gráfico de rangos horizontales: una clínica con 1868 reseñas y el periodo de publicación que cubre cada página de 100 reseñas. Página 1: del 9 sept 2025 al 24 oct 2026, en verde azulado y la más larga. Página 2: del 14 jun al 8 sept 2025. Página 3: del 21 abr al 14 jun 2025. Página 4: del 22 feb al 19 abr 2025. Cuatro páginas, 400 reseñas; la página 4 para en depth_limit.

Esas 400 reseñas son solo el 21 % de las 1868 y cubren del 22 de febrero de 2025 al 24 de octubre de 2026, unos 20 meses. Es un límite estricto de EveryInfra: el pagination.max_rows de reviews en el catálogo es 400. Si necesitas todo el historial de reseñas de un local, para un estudio de marca o para entrenar un clasificador, de esta clínica solo podemos darte los últimos 20 meses. La página de Apify Google Maps Scraper dice que cada local guarda hasta 5000 reseñas y sigue en un elemento nuevo, y su Reviews Scraper baja las que le indiques. Es un caso claro en el que Apify encaja mejor, y lo repetimos más abajo.

El contenido de esas 400 reseñas importa, porque decide qué puedes hacer con ellas. 357 tenían texto y 43 solo estrellas; 396 tenían respuesta del negocio, casi el 99 %. Había 388 de 5 estrellas, 8 de 4 y 4 de 1, ninguna de 2 o 3. Con notas tan concentradas, piensa en el sesgo de la muestra antes de un análisis de sentimiento. La muestra de Austin es muy distinta: Swish Dental - Domain tiene 1657 reseñas y una nota de 4,6; con sort=relevance a las 17:17:16 (hora de Singapur) obtuvimos 24 reseñas de 1 estrella y 62 de 5, 65 respuestas del negocio y fechas de diciembre de 2022 a septiembre de 2026. Ordenar por relevancia saca primero más reseñas negativas y más antiguas; ordenar por fecha muestra solo los últimos meses. Son dos muestras distintas.

Para vigilar cada día o cada semana, lo normal es bajar solo las reseñas nuevas. A las 17:19:27 (hora de Singapur) pedimos la misma clínica de Singapur con since en 2026-10-01: volvieron 9 reseñas, la más antigua del 6 de octubre, con stop_reason end_of_list, por 0,001389 USD. Por fila son 0,1543 USD por 1000, 1,9 veces menos que Reviews Scraper en Business (0,30 USD); según nuestra regla es solo «parecido», y un 3 % más que DIAMOND (0,15 USD). Si vigilas 1000 locales que reciben pocas reseñas nuevas por semana, la factura depende del número de peticiones: 1,39 USD por semana por 1000 llamadas, casi sin importar cuántas filas vuelvan.

Muestra de reseñas (hora de Singapur)LocalOrdenFilasQué vimosCobro
17:19:02Clínica de la CDMX, 863 reseñasmás nuevas, lang=es10084 respuestas del negocio, de junio a octubre0,001389 USD
17:11–17:14, 4 páginasClínica de Singapur, 1868 reseñasmás nuevas400 (página 4 depth_limit)21 % de cobertura, 20 meses, 396 respuestas0,005556 USD
17:19:27la mismamás nuevas, since 1 oct9 (end_of_list)una llamada para lo nuevo0,001389 USD
17:17:16Clínica de Austin, 1657 reseñasrelevancia10024 de 1 estrella, 62 de 50,001389 USD

Prueba 4: un local por enlace, la menor diferencia

google_maps_reviews/profile devuelve un local a partir de un enlace del mapa. A las 17:15:10 (hora de Singapur) pedimos la clínica de Singapur y volvió en 11,9 segundos, con más campos que search: barrio, plus_code, horario de los 7 días, número de fotos y una marca de cierre temporal. Este trabajo devuelve 1 fila por llamada, así que 1000 locales cuestan 1,389 USD. En Apify, el mismo trabajo es Google Maps Scraper con enlaces: precio base más el extra de detalle. Son 2,55 USD por 1000 en Business, así que somos 1,8 veces más baratos, solo «parecido»; en DIAMOND son 1,134 USD, y Apify es un 18 % más barato que nosotros; en Free son 6,00 USD, y somos 4,3 veces más baratos.

La conclusión aquí es directa. Si ya tienes una lista de Place ID o de enlaces y solo actualizas la nota, el número de reseñas y el horario, nuestra ventaja de precio es pequeña y depende de tu nivel en Apify. La gran diferencia está en los trabajos que traen muchas filas por llamada: buscar una ciudad desde cero y bajar reseñas en bloque. Además, la documentación de Place ID de Google indica que renovar un ID pidiendo solo el campo de ID es gratis, con el SKU Place Details IDs Only. Si solo quieres comprobar que un ID sigue siendo válido, hazlo con la API de Google y no pagues a nadie.

Cuánto cuesta la propia API de Google Places

Mucha gente busca «is google maps api free» o «cost for google maps api» para mirar primero la API de Google. Su lista de precios, actualizada el 23-10-2026, cobra por SKU, y cada SKU tiene una cantidad gratuita al mes. Text Search Pro devuelve nombre, dirección, ubicación y tipo: cuesta 32 USD por 1000 peticiones y las primeras 5000 del mes son gratis. La valoración, el teléfono, la web y el horario exigen Text Search Enterprise, a 35 USD por 1000 con las primeras 1000 gratis. Las reseñas exigen Enterprise + Atmosphere, a 40 USD por 1000.

La documentación de Text Search permite hasta 20 locales por página, así que el mejor caso es de 1,60 USD por 1000 locales con Pro y 1,75 USD con Enterprise. Las reseñas están más limitadas: la referencia del recurso Place devuelve como mucho 5 reseñas por local, ordenadas por relevancia.

1000 locales con nota y teléfonoPrecio unitarioParte gratuitaReseñasNota
Google Text Search Enterprise35 USD por 1000 peticiones, hasta 20 locales cada una → unos 1,75 USD por 1000 localesprimeras 1000 peticiones al meshasta 5 por local (nivel Atmosphere, 40 USD)como mucho 60 locales por búsqueda
Apify Google Maps Scraper, Business1,50 USD por 1000 localesplan Free: 5 USD al mes0,26 USD por reseña como extracomo mucho 120 locales por búsqueda sin ubicación
EveryInfra google_maps_reviews/search0,001389 USD por llamada, 50 locales → 0,0278 USD por 1000estrella en GitHub: 1 USD durante 24 horasreviews, 100 por llamada, hasta 400 por localcomo mucho 120 filas por búsqueda (página 3: depth_limit); quitar duplicados por place_id

La API de Google tiene dos cosas que nadie más puede darte. Son los datos de la propia Google, y sus términos y políticas dicen con claridad cómo puedes mostrarlos y guardarlos; además, su cantidad gratuita basta para proyectos pequeños. El precio es de 5 reseñas por local, 60 locales por búsqueda y las reglas de atribución que fijan las políticas. Aquí no comparamos derechos sobre los datos. Un recordatorio vale para cualquier herramienta que recoja datos públicos: los datos personales de las reseñas deben tratarse según la ley de privacidad del lugar donde trabajes, algo que la página de Apify en la Store también recuerda.

Fallos y resultados vacíos: quién paga

Nuestra regla está en la página de precios: no se cobran los parámetros erróneos ni los fallos de autenticación, y tampoco los resultados fallidos o vacíos. Probamos cuatro casos. A las 17:15:27 (hora de Singapur) escribimos a propósito locaton en vez de location: HTTP 422 con el código unknown_param, did_you_mean: ["location"] y la lista completa de parámetros permitidos, sin cobro. La llamada async_required de la página 2, a las 17:09:40, también fue un 422 sin cobro. A las 17:19:45 enviamos a profile un place_id inventado: a los 63 segundos volvió un objeto vacío con billing.reason en empty_result_refunded, 0 USD cobrados y el reembolso en succeeded.

Solo un caso se cobró. A las 17:15:32 (hora de Singapur) buscamos en Singapur con letras al azar más «dental» como palabra clave, y volvieron 20 clínicas dentales reales; parece que las letras desconocidas se ignoraron y la búsqueda se hizo con «dental». El resultado no estaba vacío, así que costó 0,001389 USD: una palabra clave sin sentido no se trata como resultado vacío.

Caso (hora de Singapur)AcciónHTTPResultadoCobro
Error tipográfico locaton (17:15:27)search422 unknown_paramdid_you_mean: ["location"]0 USD
Página 2 demasiado profunda (17:09:40)search422 async_requiredreenviar con mode: async0 USD
place_id inventado (17:19:45)profile200vacío, empty_result_refunded0 USD
Letras al azar + «dental» (17:15:32)search20020 clínicas reales0,001389 USD
Diagrama animado con dos carriles; un punto recorre cada paso. El carril de arriba es el nodo comunitario de Apify, con 6 pasos: instalar el nodo @apify/n8n-nodes-apify, añadir una credencial con el token de Apify, Run Actor con el JSON de entrada del actor, esperar a que termine la ejecución, leer el dataset con defaultDatasetId y quitar duplicados. El carril de abajo es EveryInfra, en verde azulado, con 5 pasos: añadir una credencial Header Auth, enviar POST /api/v1/social con el nodo HTTP Request, paginar con el page_token de la página anterior, separar results con Split Out y quitar duplicados por place_id.

En Apify, el autor de cada actor decide cómo se cobran los fallos. La documentación de pago por evento aconseja a los desarrolladores «cobrar por entradas no válidas», es decir, entradas que parecen válidas pero fallan, como enlaces que devuelven un 404, porque el actor gasta recursos en descubrir el problema. El usuario tiene dos controles: puede fijar un cobro máximo por ejecución, y el actor se detiene al llegar a ese límite sin cobrar por encima; y el endpoint que ejecuta en modo síncrono y devuelve el dataset admite maxTotalChargeUsd. No ejecutamos Google Maps Scraper, así que no sabemos cómo cobra los casos sin resultados o con enlaces caídos. Haz antes una prueba pequeña y mira los cobros en la página de detalle de la ejecución.

Apify Google Maps Scraper en n8n, paso a paso y lado a lado

«apify google maps scraper n8n» y «google maps scraper n8n template» son otras sugerencias frecuentes en este tema. La animación de arriba cuenta los pasos desde un lienzo en blanco hasta las primeras filas en una hoja, según la documentación de cada parte. En Apify, la guía de integración con n8n indica lo siguiente. En un n8n autoalojado, instalas @apify/n8n-nodes-apify en Settings → Community Nodes; en n8n Cloud, buscas Apify en el panel de nodos. Creas una credencial con un token de Apify o con OAuth2, añades un nodo Run Actor, rellenas el JSON de entrada del actor y activas Wait for finish. Después añades Get Dataset Items con el defaultDatasetId del paso anterior.

El nodo comunitario publicó la v0.9.0 el 22-10-2026, con un modo que rellena la entrada del actor campo a campo a partir de su esquema, así que hace falta escribir menos JSON a mano; la v0.8.1, del 12 de octubre, corrigió problemas señalados en la revisión de n8n.

En EveryInfra no instalas ningún nodo. El nodo HTTP Request que trae n8n envía un POST, y Authorization: Bearer <clave> se guarda en una credencial Header Auth de n8n. Para las páginas se usa la opción de paginación del propio nodo, como en los ejemplos de paginación de n8n: modo Update a Parameter in Each Request, tipo Body, nombre params.page_token, valor {{ $response.body.next_page_token }} y parada cuando {{ !$response.body.pagination.has_more }} sea verdadero. Debajo va un ejemplo de configuración del nodo. No ejecutamos n8n en nuestra máquina, así que sigue la documentación; la misma petición en curl es la que probamos en la prueba 1.

json
{
  "parameters": {
    "method": "POST",
    "url": "https://api.everyinfra.com/api/v1/social",
    "authentication": "genericCredentialType",
    "genericAuthType": "httpHeaderAuth",
    "sendBody": true,
    "specifyBody": "json",
    "jsonBody": "={\"platform\":\"google_maps_reviews\",\"action\":\"search\",\"params\":{\"keyword\":\"{{ $json.keyword }}\",\"location\":\"{{ $json.city }}\",\"language\":\"es\",\"limit\":30}}",
    "options": {
      "pagination": {
        "pagination": {
          "parameters": { "parameters": [ { "type": "body", "name": "params.page_token", "value": "={{ $response.body.next_page_token }}" } ] },
          "paginationCompleteWhen": "other",
          "completeExpression": "={{ !$response.body.pagination.has_more }}",
          "maxRequests": 2
        }
      }
    }
  },
  "type": "n8n-nodes-base.httpRequest",
  "name": "EveryInfra Google Maps search"
}

El ejemplo fija limit en 30 y un máximo de 2 páginas, para que las dos queden dentro de la profundidad síncrona de 60 filas y no haga falta un trabajo asíncrono. El precio es quedarte en 60 locales por término en lugar de 120. Para llegar a las 120 (3 páginas de 50) hay que añadir "mode":"async" al cuerpo, y después un nodo Wait y un nodo HTTP Request que lea GET /api/v1/jobs/{job_id}: dos pasos más. Es un punto en el que n8n da más trabajo con nosotros que con Apify, y lo decimos.

Los dos últimos pasos son iguales en ambos lados. El nodo Split Out convierte el array results en un elemento por local, y el nodo Remove Duplicates quita duplicados por place_id; no te lo saltes, porque cada página se vuelve a extraer y las páginas pueden repetirse. Su modo «Remove Items Processed in Previous Executions» recuerda los ID entre ejecuciones, 10.000 por defecto: justo lo que hace falta para mandar a la hoja solo los locales nuevos cada semana. Para ejecutarlo cada día, pon un Schedule Trigger al principio. Nuestra guía del informe diario con n8n ejecuta todos los pasos, desde la programación hasta la hoja, y puedes adaptarla.

PasoApify (nodo comunitario de n8n)EveryInfra (HTTP Request)
InstalarAutoalojado: @apify/n8n-nodes-apify; n8n Cloud: desde el panel de nodosNada; el nodo viene con n8n
CredencialToken de Apify, u OAuth2 en n8n CloudHeader Auth: Authorization: Bearer <clave>
LanzarRun Actor con el JSON de entrada del actor y esperarUn POST con platform, action y params
ResultadosGet Dataset Items con defaultDatasetIdVienen en results de la respuesta
PáginasLas gestiona el actor; tú fijas maxCrawledPlacesPerSearchOpción de paginación con page_token; asíncrono a partir de 60 filas
DuplicadosRemove Duplicates por placeIdRemove Duplicates por place_id
Control de gastoGráfico de uso de la consola y detalle de cada ejecuciónbilling.charged_usd en cada respuesta

API y MCP de Apify Google Maps Scraper frente a los nuestros

Si escribes código en lugar de usar n8n, Apify ejecuta el actor a través de la API de su plataforma. El endpoint que ejecuta en modo síncrono y devuelve el dataset lanza la ejecución, espera y devuelve los resultados en una sola llamada, con dos topes de gasto: maxItems, el máximo de elementos que puede cobrar un actor de pago por resultado, y maxTotalChargeUsd. Para ejecuciones largas, se lanza sin esperar y se usa un webhook para saber cuándo termina. En EveryInfra se usa la petición curl de arriba, que responde en modo síncrono; para trabajos lentos se añade "mode":"async" y se consulta el job_id. Si vienes de Apify, cambias tres cosas: el cuerpo pasa del JSON de entrada del actor a platform + action + params; los resultados salen de results en la respuesta y no de un endpoint de dataset; y las páginas usan page_token, no ajustes del actor.

Las herramientas de IA pueden usar las dos opciones. El servidor MCP de Apify está en mcp.apify.com y recomienda entrar con OAuth; una IA puede buscar en la Store, elegir un actor, lanzar una ejecución y leer los resultados. Su repositorio abierto añadió herramientas para crear actores y actualizar versiones en la v0.19.0, del 19 de octubre, y llegó a la v0.19.3 el 21 de octubre.

El servidor MCP remoto de EveryInfra es https://api.everyinfra.com/mcp. Usa el transporte Streamable HTTP de la especificación MCP 2025-11-25 con una clave de API. La IA llama primero a everyinfra_list_capabilities para encontrar las tres acciones de google_maps_reviews, después a everyinfra_call_api, y en trabajos lentos a everyinfra_get_job; los cobros son los mismos que por REST. En n8n también puedes conectar el servidor a un nodo AI Agent con el MCP Client Tool. La configuración es:

json
{
  "mcpServers": {
    "everyinfra": {
      "url": "https://api.everyinfra.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Qué trae nuestra respuesta, campo por campo

Esta tabla enumera los response_fields que el catálogo declara para las tres acciones. Los significados vienen de platform_field_meanings y de las notas de parámetros del catálogo, y la última columna es lo que vimos en esta prueba. Solo describimos nuestro lado y no ponemos los campos de Apify al lado de los nuestros.

AcciónCamposSignificadoEn esta prueba
searchplace_id, name, urlID de lugar de Google, nombre, enlace del mapa con query_place_idLas 520 filas de búsqueda de esta prueba tenían place_id; url sirve para profile y reviews
searchcategory, categoriescategoría principal y todas las categoríaslas 520 filas tenían valor
searchaddress, city, state, postal_code, country_code, lat, lngdirección y coordenadasCDMX postal_code 100/100
searchphone, websiteteléfono y webCDMX teléfono 99/100 y web 83/100
searchrating, rating_scale, review_countvaloración (sobre 5) y número de reseñasvacíos en la fila de la calle y en la del dentista por cuenta propia
searchprice, description, permanently_closed, image_url, platformnivel de precio, resumen, cierre definitivo, imagen de portada, plataformaprice y description vacíos en la muestra dental
profiletodo lo anterior, más neighborhood, plus_code, opening_hours, image_count, temporarily_closedbarrio, Plus Code, horario, número de fotos, cierre temporalhorario de 7 días, 344 fotos
reviewsid, text, rating, rating_scale, posted_at, urlID de reseña, texto, estrellas, fecha de publicación, enlace400 id únicos; 43 sin texto
reviewsreviewer_name, reviewer_review_count, is_local_guideautor, total de reseñas del autor, Local Guidedatos personales; trátalos según la ley de privacidad
reviewslike_count, owner_response, owner_response_at, detailed_rating, image_urls, place_id, place_name, platform«me gusta», respuesta del negocio y su fecha, notas por aspecto, fotos, el localCDMX: 84/100 con respuesta del negocio

¿Ya usas Apify? Cuatro cosas antes de cambiar

Primera: conserva los datos antiguos. Un Place ID es el identificador que Google da a un lugar y no pertenece a ninguna herramienta de extracción; los Place ID de tus datasets de Apify y el place_id de nuestros resultados de search apuntan a los mismos ID de Google, así que sirven como clave para unir y quitar duplicados. No cruces por nombre ni por dirección: un mismo local se escribe de formas distintas con el tiempo y en otros idiomas.

Segunda: fija un tope de gasto antes de cambiar. En Apify quizá usas maxTotalChargeUsd en cada ejecución; nuestras peticiones no tienen un tope de gasto por llamada y el coste sigue al número de peticiones. Limita maxRequests y los bucles en tu script o en n8n, y crea en la consola una clave aparte para este trabajo, para poder desactivarla cuando quieras.

Tercera: trata las fechas de las reseñas como marcas de tiempo. Nuestro posted_at es una hora ISO con zona horaria. El hilo de Reddit citado arriba advierte de un riesgo: si tus datos solo tienen fechas relativas como «hace 2 semanas» y no guardaste la hora de captura, no podrás arreglar después una serie temporal. Cuarta: prueba una o dos ciudades con las dos opciones durante una semana, compara el número de locales, de reseñas y el precio por 1000, y después decide. Las cifras de este artículo solo representan el 26 de octubre, tres ciudades y una categoría.

Cuándo conviene más Apify

En precio somos más baratos casi siempre, pero en los casos siguientes las herramientas de Google Maps de Apify encajan mejor, y lo decimos.

Primero, si necesitas todo el historial de reseñas de un local: nosotros paramos en 400 por local, mientras que Google Maps Scraper guarda hasta 5000 por elemento y sigue, y su Reviews Scraper baja las que indiques. Segundo, si necesitas contactos comerciales y no solo locales: correos y teléfonos de la web, contactos del Impressum de webs alemanas, austriacas y suizas, nombres y cargos, verificación de correos y perfiles sociales; no tenemos ninguno de esos extras. Tercero, si una sola ejecución debe cubrir una ciudad o un país entero: Apify divide la zona que le das, o un polígono GeoJSON en formato RFC 7946, en muchas pantallas de mapa, y su Orchestrator reparte varias ubicaciones en ejecuciones y luego las une y quita duplicados. Nuestra búsqueda para en 120 filas, así que las zonas grandes las divides tú.

Cuarto, si necesitas imágenes, horas punta, menús o precios de hotel, o el informe de competencia con IA de Apify. Quinto, si ya eres cliente Enterprise de Apify y tu trabajo principal es actualizar por enlace locales que ya conoces: DIAMOND cuesta 1,134 USD por 1000, menos que nuestros 1,389 USD. Sexto, si solo recoges unos cientos de locales al mes y no quieres recargar: el plan Free de Apify da 5 USD cada mes, y nuestra prueba de 1 USD dura solo 24 horas.

Los casos en los que EveryInfra encaja mejor también están claros: búsquedas masivas de locales por ciudad y categoría, descargas masivas de reseñas y vigilancia semanal de muchos locales, cuando no quieres pagar cuotas que no usas. También los trabajos en los que una sola clave tiene que cubrir otras plataformas; por ejemplo, puedes comparar reseñas de Yelp y Tripadvisor en la misma factura. Nuestra guía de un informe de reseñas para clínicas dentales usa este tipo de datos.

Tu casoEncaja mejorPor qué (dato de este artículo)
Buscar locales de una ciudad por categoríaEveryInfra0,0278 USD frente a 1,50 USD por 1000 en Business
Bajar reseñas en bloqueEveryInfra0,0139 USD frente a 0,30 USD por 1000 en Business
Historial completo de reseñas de un localApifynosotros paramos en 400 por local
Correos, contactos y perfiles socialesApifyno tenemos esos extras
Actualizar por enlace locales conocidos, con contrato EnterpriseApifyDIAMOND 1,134 USD frente a nuestros 1,389 USD
Unos cientos de locales al mes, sin recargarApify5 USD gratis cada mes frente a 1 USD durante 24 horas

Cambios de los últimos 60 días

  • 22-10-2026: el nodo comunitario de Apify para n8n publicó la v0.9.0, que rellena la entrada del actor campo a campo desde su esquema; la v0.8.0, del 22 de septiembre, añadió la acción Web Fetch. Qué significa para ti: en n8n ya no hace falta escribir a mano el JSON de entrada de Google Maps Scraper, así que montarlo es más fácil.
  • 19-10-2026 a 21-10-2026: el servidor MCP de Apify lanzó las versiones v0.19.0 a v0.19.3, con herramientas para crear actores y gestionar versiones. Qué significa para ti: las dos opciones funcionan ya como servidor MCP remoto en herramientas de IA, y la elección vuelve a depender del precio y la cobertura.
  • 23-10-2026: Google actualizó sus páginas de Text Search (New), Place ID y precios; el límite de 60 resultados por búsqueda y el consejo de renovar los Place ID cada 12 meses siguen ahí. Qué significa para ti: uses la herramienta que uses, la profundidad de búsqueda sigue limitada y los ID siguen necesitando renovación.
  • 26-10-2026: Google Maps Scraper, Reviews Scraper y Extractor de Apify cambiaron el mismo día (campo público modifiedAt), sin cambios de precio: siguen las tarifas del 30 de junio, el 13 de marzo y el 29 de abril. Qué significa para ti: nuestra tabla de precios vale para el día en que la leímos; vuelve a leer el endpoint antes de comparar.
  • 26-10-2026: n8n publicó la 2.45.4, y su informe de migración enlaza ahora con la página de cambios incompatibles de la v3. Qué significa para ti: quien autoaloja n8n debería planear pronto una actualización mayor; revisa la compatibilidad de los nodos comunitarios, porque el nodo HTTP Request integrado corre menos riesgo.
  • 06-10-2026: Crawlee, la biblioteca de extracción de código abierto de Apify, publicó la v4.0.0-rc.1. Qué significa para ti: los equipos que construyen su propio extractor de mapas también afrontan un cambio de versión mayor; suma ese mantenimiento al presupuesto de hacerlo en casa.

Preguntas frecuentes

¿Apify Google Maps Scraper es gratis?

En parte. El plan Free de Apify no pide tarjeta y da 5 USD de uso prepagado al mes; al gastarlos, la cuenta se bloquea hasta el ciclo siguiente, y lo que no uses no pasa al mes siguiente (precios de Apify). A precios de Free de Google Maps Scraper, 5 USD compran unos 1250 locales básicos, u 8333 reseñas con Reviews Scraper. EveryInfra no regala saldo mensual: una estrella en GitHub da 1 USD durante 24 horas. Origen de la pregunta: la sugerencia de búsqueda «apify google maps scraper free».

¿Cuánto cuesta Apify Google Maps Scraper?

Por cada 1000 locales: 4,00 USD en Free, 3,00 USD en Starter, 2,00 USD en Scale y 1,50 USD en Business, y 0,756 USD en el nivel DIAMOND de Enterprise. Detalle, filtros, contactos, reseñas e imágenes son eventos extra que se pagan aparte (endpoint público de precios, leído el 26-10-2026). Nosotros medimos 0,0278 USD por 1000 locales. Origen de la pregunta: la sugerencia de búsqueda «apify google maps scraper pricing».

¿Se puede usar Apify Google Maps Scraper en n8n?

Sí. Apify tiene el nodo comunitario de n8n @apify/n8n-nodes-apify, y se usan las operaciones Run Actor y Get Dataset Items (documentación de Apify). EveryInfra usa el nodo HTTP Request que trae n8n, sin nodo comunitario. Origen de la pregunta: la sugerencia de búsqueda «apify google maps scraper n8n».

¿Apify Google Maps Scraper tiene API?

Sí. Se ejecuta con la API de la plataforma de Apify, o con apify-client para Node.js o Python; el endpoint de ejecución síncrona admite un tope de gasto maxTotalChargeUsd (documentación de la API de Apify). En EveryInfra es una sola petición POST, con los resultados y el cobro en la misma respuesta. Origen de la pregunta: la sugerencia de búsqueda «apify google maps scraper api».

¿Qué alternativas hay al extractor de Google Maps de Apify?

En r/automation y en r/n8n hay un hilo titulado «Alternatives for google maps scraper Apify» (publicación). Quien lo abrió quería negocios locales por nicho y ciudad, y una respuesta decía que los planes de Apify suben en escalones de 0 a 40, 200 y 1000, algo duro para quien lo usa poco. Una API de datos que cobra por petición es una alternativa, y la segunda tabla de este artículo compara los precios medidos por cada 1000. Si necesitas correos, enriquecimiento de contactos o el historial completo de reseñas, Apify sigue encajando mejor. Origen de la pregunta: el hilo de Reddit.

¿La API de Google Maps es gratis?

En parte. Google Maps Platform cobra por SKU, y cada SKU tiene una cantidad gratuita al mes: por ejemplo, las primeras 5000 peticiones de Text Search Pro y las primeras 1000 de Text Search Enterprise. Después cuestan 32 y 35 USD por 1000 (lista de precios de Google, actualizada el 23-10-2026). Una búsqueda devuelve como mucho 60 locales y como mucho 5 reseñas por local. Origen de la pregunta: la sugerencia de búsqueda «is google maps api free».

Pruébalo en tres pasos

Primero, regístrate y obtén una clave de API; después reclama el saldo de prueba o recarga en la página de saldo de la consola (inicio rápido). Segundo, abre la página de una acción y ejecútala una vez con su botón de prueba: probar la búsqueda de locales, probar un local o probar las páginas de reseñas. Tercero, mira charged_usd y el número de results en la respuesta, calcula pagado ÷ filas × 1000 para tu caso y compáralo con tu factura actual. Todas las acciones están en la página de la API de datos de Google Maps y en el mercado de datos. Para una comparación de precios más amplia, lee nuestro resumen de alternativas a Apify.

Método y límites

Del lado de Apify, solo usamos material público: los precios del endpoint público api.apify.com/v2/acts, leídos para cuatro actores el 26-10-2026 a las 17:05 (hora de Singapur) y guardados en bruto, además de la página de precios, la documentación, las páginas de la Store y las publicaciones de Reddit. No abrimos cuenta en Apify ni ejecutamos sus actores, así que todos los precios de Apify de este artículo son precios unitarios públicos, no gasto medido; una factura real puede ser mayor por los costes de arranque, los eventos extra y la cuota del plan. Del lado de Google, solo usamos su lista de precios y su documentación.

Del lado de EveryInfra, las primeras 22 peticiones se hicieron el 26-10-2026 entre las 17:09 y las 17:19 (hora de Singapur); se cobraron 19, por 0,026391 USD en total. La comprobación tras la corrección (20:01 a 20:06) sumó 9 peticiones cobradas, 0,012501 USD. La muestra son clínicas dentales de tres ciudades, con pocas llamadas por acción: muestra el precio, la profundidad de página y la tasa de repetición de ese día y esos objetivos, no la tasa de éxito ni la velocidad a largo plazo, y no vale para todas las categorías. Calculamos cada precio por 1000 como lo pagado dividido entre las filas recibidas, y conservamos el script y las respuestas en bruto. No pudimos confirmar tres puntos: el compromiso mínimo de un contrato Enterprise de Apify más allá de los precios unitarios; si Google Maps Scraper cobra dos veces un local repetido dentro de una ejecución; y cuánto se repiten las páginas en general: probamos una sola búsqueda por ciudad.

Referencias

  1. Apify, endpoint público de precios de Google Maps Scraper (compass/crawler-google-places), leído el 26-10-2026. https://api.apify.com/v2/acts/compass~crawler-google-places
  2. Apify, endpoint público de precios de Google Maps Reviews Scraper, leído el 26-10-2026. https://api.apify.com/v2/acts/compass~Google-Maps-Reviews-Scraper
  3. Apify, endpoint público de precios de Google Maps Extractor, leído el 26-10-2026. https://api.apify.com/v2/acts/compass~google-maps-extractor
  4. Apify, endpoint público de precios de Google Maps Email Extractor, leído el 26-10-2026. https://api.apify.com/v2/acts/lukaskrivka~google-maps-with-contact-details
  5. Apify, página de Google Maps Scraper en la Store, leída el 26-10-2026. https://apify.com/compass/crawler-google-places
  6. Apify, página de Google Maps Reviews Scraper en la Store, leída el 26-10-2026. https://apify.com/compass/google-maps-reviews-scraper
  7. Apify, página de Google Maps Extractor en la Store, leída el 26-10-2026. https://apify.com/compass/google-maps-extractor
  8. Apify, Pricing, leída el 26-10-2026. https://apify.com/pricing
  9. Apify, Google Maps Scraper Orchestrator, leída el 26-10-2026. https://apify.com/lukaskrivka/google-maps-scraper-orchestrator
  10. Documentación de Apify, Pay-per-event pricing model. https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event
  11. Documentación de Apify, Actor pricing and costs. https://docs.apify.com/platform/actors/publishing/monetize/pricing-and-costs
  12. Documentación de Apify, Actors in Store. https://docs.apify.com/platform/actors/running/actors-in-store
  13. Documentación de Apify, n8n integration. https://docs.apify.com/platform/integrations/n8n
  14. Documentación de Apify, Apify MCP server. https://docs.apify.com/platform/integrations/mcp
  15. Documentación de la API de Apify, Run Actor synchronously and get dataset items. https://docs.apify.com/api/v2/act-run-sync-get-dataset-items-post
  16. Documentación de Apify, Webhooks. https://docs.apify.com/platform/integrations/webhooks
  17. GitHub, apify/n8n-nodes-apify v0.9.0, 22-10-2026. https://github.com/apify/n8n-nodes-apify/releases/tag/v0.9.0
  18. GitHub, apify/n8n-nodes-apify v0.8.1, 12-10-2026. https://github.com/apify/n8n-nodes-apify/releases/tag/v0.8.1
  19. GitHub, apify/n8n-nodes-apify v0.8.0, 22-09-2026. https://github.com/apify/n8n-nodes-apify/releases/tag/v0.8.0
  20. npm, @apify/n8n-nodes-apify. https://www.npmjs.com/package/@apify/n8n-nodes-apify
  21. GitHub, apify/apify-mcp-server v0.19.0, 19-10-2026. https://github.com/apify/apify-mcp-server/releases/tag/v0.19.0
  22. GitHub, apify/apify-mcp-server v0.19.3, 21-10-2026. https://github.com/apify/apify-mcp-server/releases/tag/v0.19.3
  23. GitHub, apify/crawlee v4.0.0-rc.1, 06-10-2026. https://github.com/apify/crawlee/releases/tag/v4.0.0-rc.1
  24. GitHub, n8n-io/n8n 2.45.4, 26-10-2026. https://github.com/n8n-io/n8n/releases/tag/n8n%402.45.4
  25. Google, Google Maps Platform pricing, actualizada el 23-10-2026. https://developers.google.com/maps/billing-and-pricing/pricing
  26. Google, SKU details. https://developers.google.com/maps/billing-and-pricing/sku-details
  27. Google, Text Search (New), actualizada el 23-10-2026. https://developers.google.com/maps/documentation/places/web-service/text-search
  28. Google, Place IDs, actualizada el 23-10-2026. https://developers.google.com/maps/documentation/places/web-service/place-id
  29. Google, REST Resource: places. https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places
  30. Google, Places API (New) release notes. https://developers.google.com/maps/documentation/places/web-service/release-notes
  31. Google, Places API usage and billing. https://developers.google.com/maps/documentation/places/web-service/usage-and-billing
  32. Google, Places API policies and attributions. https://developers.google.com/maps/documentation/places/web-service/policies
  33. Google, Google Maps Platform Terms of Service. https://cloud.google.com/maps-platform/terms
  34. Documentación de n8n, HTTP Request node. https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/
  35. Documentación de n8n, HTTP Request pagination cookbook. https://docs.n8n.io/build/code-in-n8n/cookbook/http-request-node/pagination/
  36. Documentación de n8n, Remove Duplicates. https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates/
  37. Documentación de n8n, Split Out. https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/
  38. Documentación de n8n, Community nodes GUI installation. https://docs.n8n.io/integrations/community-nodes/installation/gui-install/
  39. Documentación de n8n, MCP Client Tool. https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/
  40. Documentación de n8n, Schedule Trigger. https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/
  41. Documentación de n8n, HTTP Request credentials. https://docs.n8n.io/integrations/builtin/credentials/httprequest/
  42. Model Context Protocol, Specification 2025-11-25. https://modelcontextprotocol.io/specification/2025-11-25
  43. IETF, RFC 7946 The GeoJSON Format. https://datatracker.ietf.org/doc/html/rfc7946
  44. EveryInfra, catálogo de la API de datos (google_maps_reviews), leído el 26-10-2026. https://api.everyinfra.com/api/v1/social/catalog
  45. Reddit r/apify, «Google Maps reviews scraping is costing us $35/1k results», leído el 26-10-2026. https://www.reddit.com/r/apify/comments/1vo81i0/title_google_maps_reviews_scraping_is_costing_us/
  46. Reddit r/B2BLeadGenPro, «I ran the same search through Apify Google Maps Scraper…» (el autor fabrica otra herramienta), leído el 26-10-2026. https://www.reddit.com/r/B2BLeadGenPro/comments/1sxd1af/i_ran_the_same_search_through_apify_google_maps/
  47. Reddit r/n8n, «Alternatives for google maps scraper Apify», leído el 26-10-2026. https://www.reddit.com/r/n8n/comments/1k5jvdj/alternatives_for_google_maps_scraper_apify/

Referencia BL-52