Google Places API alternative: cuánto cuestan 1000 lugares con reseñas en Google y en EveryInfra

Google Places API alternative: 1000 lugares con reseñas cuestan de 2 a 25 USD en Google, o 0 USD con el cupo gratis. Nuestra prueba: 1,42 USD.

Ilustración. A la izquierda, una máquina plateada con forma de pin de mapa guarda tarjetas tras una ventana de vidrio y deja caer una fila corta de tarjetas por su ranura. A la derecha, un cajón de archivo de madera abierto y muy largo guarda cientos de tarjetas iguales en filas ordenadas, y una fila tiene los bordes verde azulado. La máquina representa unas pocas reseñas por solicitud; el cajón, un lote completo de reseñas.

Para obtener los detalles y las reseñas de 1000 lugares, Google Places API (New) marca un precio de lista de 2,00 a 25,00 USD. Todo depende de la ruta: Text Search o Place Details. Si es el único uso de tu cuenta de facturación ese mes, esos 1000 lugares caben en el cupo gratuito y Google cobra 0 USD. El 9 de noviembre de 2026 hicimos la misma tarea con llamadas reales a EveryInfra: 1,42 USD, con 100 reseñas por lugar. Google entrega como máximo 5 reseñas por lugar.

Este artículo es para quien ya usa Places API o busca una "google places api alternative". En el sitio ya tenemos una guía larga sobre tres formas de reunir reseñas de Google Maps en lote y un caso práctico sobre un informe semanal de reseñas de Google para clínicas dentales. Aquí no repetimos nada de eso. Respondemos una sola pregunta: qué cambia si dejas la Places API (New) oficial. Hablamos de la factura, de los nombres de campos y de los casos en los que conviene quedarse con Google.

Del lado de Google solo leímos documentación pública, listas de precios y términos. Abrimos y guardamos cada página entre las 00:14 y las 00:18 SGT (hora de Singapur) del 9 de noviembre de 2026. No llamamos a Google con una clave propia. De nuestro lado, cada cifra sale de llamadas reales hechas ese mismo día, entre las 00:19 y las 00:30 SGT. Todas las cifras del texto se pueden rastrear hasta una respuesta original que guardamos.

Ilustración. Tres puertas de peaje de tamaño creciente están en fila sobre una cinta transportadora, y una cesta de alambre entra en la más grande. La cesta lleva varias cajas grises pequeñas y una caja grande que brilla en verde azulado. Por esa única caja, toda la cesta pasa por la puerta mayor y las puertas pequeña y mediana quedan vacías. Junto a cada puerta hay una pila de monedas, y la pila de la puerta grande es la más alta.
La facturación por máscara de campos en una imagen: un solo campo del nivel más caro lleva toda la solicitud a ese precio.

La respuesta corta: qué google places api alternative conviene según tu volumen

Primero, la conclusión. Quienes usan Places API suelen estar en uno de tres grupos. Unos muestran datos de lugares a sus usuarios dentro de una app. Otros reúnen lugares y reseñas en lote para analizarlos. Otros dan a un agente de IA una herramienta para buscar lugares.

Cada grupo necesita algo distinto. La tabla indica qué lado sale más barato según el volumen mensual y según si necesitas reseñas. Los precios son la lista pública de Google y nuestro catálogo, leídos el 9 de noviembre de 2026. La columna de Google ya descuenta el cupo gratuito y supone que es el único uso de la cuenta de facturación.

Tu usoRuta más barata en GoogleGoogle al mesEveryInfra al mesMás barato
1000 lugares al mes, hasta 5 reseñasText Search con reviews, 50 solicitudes0 USD1,42 USDGoogle
10.000 lugares al mes, hasta 5 reseñasText Search con reviews, 500 solicitudes0 USD14,17 USDGoogle
100.000 lugares al mes, con reseñasText Search con reviews, 5000 solicitudes160,00 USD141,68 USDEveryInfra
1.000.000 de lugares al mes, con reseñasText Search con reviews, 50.000 solicitudes1960,00 USD1416,78 USDEveryInfra
100.000 lugares al mes, solo valoración, teléfono y webText Search Enterprise, 5000 solicitudes140,00 USD2,78 USDEveryInfra
100 reseñas o más por lugar, las más recientesNo se puede (5 por lugar, por relevancia)—0,001389 USD por lugarSolo EveryInfra
Fichas de lugares sobre un mapa de GooglePlaces UI Kit o Place DetailsSegún usoNo disponibleGoogle

El cupo gratuito de Google es generoso. Con poco volumen, o si muestras los lugares a tus usuarios, no hay motivo para cambiar. Cambiar ahorra dinero en dos casos. El primero: un lote grande de lugares en el que necesitas valoración y datos de contacto, pero no reseñas. Devolvemos 50 lugares por llamada, es decir, 0,0278 USD por cada 1000 lugares, unas cien veces menos que Google.

El segundo caso: necesitas más de 5 reseñas por lugar, o las más recientes. La API de Google no lo permite por diseño, y pagar más no lo cambia. Las secciones siguientes desarman cada cifra de esta tabla.

Cómo cobra Google Places API (New): la máscara de campos decide el SKU

La unidad de cobro de Places API (New) no es "un lugar", sino "una solicitud". El precio depende de los campos que pongas en la cabecera X-Goog-FieldMask. La página de SKU de Places (New) lo dice sin rodeos: si los campos de la máscara pertenecen a varios SKU, Google cobra la solicitud completa al SKU más alto.

Un ejemplo. Solo quieres el nombre y la dirección, pero agregas rating. La solicitud sube del nivel Pro al nivel Enterprise. Si agregas reviews, sube al nivel más alto, Enterprise + Atmosphere. Capturamos el texto original el 9 de noviembre de 2026; el pie de la página indica una última actualización del 4 de noviembre de 2026.

Captura de pantalla de la página de SKU de Places (New) en Google for Developers, sección Field mask billing. Un recuadro verde azulado marca el párrafo completo, en inglés. Dice que Place Details, Nearby Search y Text Search se cobran según los campos de la máscara. Si todos los campos son de un solo SKU, se cobra ese SKU. Si son de varios, la solicitud se cobra al SKU más alto, por ejemplo Enterprise cuando se piden campos Essentials y Enterprise a la vez.
El texto de Google: un solo campo caro fija el precio de toda la solicitud. Captura del 9 de noviembre de 2026. Captura de Google for Developers

Si pones esa regla junto a la lista de precios, se entiende por qué las reseñas salen caras. La guía de Place Details (New) tiene un apartado sobre valoraciones y reseñas. rating y userRatingCount activan el SKU Place Details Enterprise. reviews y reviewSummary activan Enterprise + Atmosphere, que devuelve hasta cinco reseñas de usuarios.

La propia Google da un consejo de ahorro en ese apartado: si solo necesitas la puntuación y el número de reseñas, no pidas reviews, y la solicitud se queda en Enterprise. La tabla resume los SKU que usamos en este artículo. La unidad es por cada 1000 solicitudes, en el primer tramo de volumen de la lista (después del cupo gratuito y hasta 100.000 solicitudes al mes).

SKUCampos típicosGratis al mesPor cada 1000 solicitudesLugares por solicitud
Text Search Essentials (IDs Only)places.id, places.nameSin límite0 USD20
Text Search ProNombre, dirección, ubicación, tipos500032,00 USD20
Text Search EnterpriseValoración, n.º de reseñas, teléfono, web, horario100035,00 USD20
Text Search Enterprise + Atmospherereviews, reviewSummary y otros100040,00 USD20
Place Details Essentials (IDs Only)id, metadatos de fotosSin límite0 USD1
Place Details ProNombre, estado del negocio, enlace al mapa500017,00 USD1
Place Details EnterpriseValoración, teléfono, web, horario100020,00 USD1
Place Details Enterprise + Atmospherereviews, reviewSummary y otros100025,00 USD1
Place Details PhotosFotos del lugar10007,00 USD1

La última columna es la clave de todos los cálculos. Text Search (New) devuelve como máximo 20 lugares por página. La guía de Text Search explica que pageSize vale 20 por defecto y que un valor mayor sigue devolviendo 20. Sumando páginas, una consulta da como mucho 60 lugares. Place Details consulta un solo lugar por solicitud.

Así que, en el mismo nivel Enterprise + Atmosphere, Text Search da hasta 20.000 lugares por 40 USD, mientras que Place Details da 1000 lugares por 25 USD. Por lugar, Text Search es 12,5 veces más barato. Muchos tutoriales enseñan a "buscar primero los place ID y luego pedir Place Details de cada uno". Para reseñas, es la ruta más cara.

El cupo gratuito cambió el 1 de marzo de 2025. La página de cambios de marzo de 2025 lo explica: desapareció el crédito mensual de 200 USD y cada SKU principal tiene ahora un volumen gratuito fijo al mes. Son 10.000 llamadas en Essentials, 5000 en Pro y 1000 en Enterprise. El cupo es por SKU y por cuenta de facturación, no por proyecto, así que todos los proyectos de una cuenta lo comparten.

En r/googlecloud alguien preguntó si de verdad 10.000 solicitudes al mes son gratis. Las respuestas avisan de que los informes de facturación van unas horas por detrás del panel de uso y recomiendan fijar una cuota antes de probar.

Los mismos 1000 lugares: cuatro rutas de Google y nuestro precio

Ahora aplicamos esos precios a 1000 lugares. Google tiene cuatro rutas habituales y nosotros, tres combinaciones. La tabla usa precios de lista sin cupo gratuito, para que se vea el costo unitario con volumen alto. Para Google contamos 20 lugares por página. Nuestra búsqueda devuelve hasta 50 lugares por llamada (el max_limit del catálogo es 50) y nuestra llamada de reseñas, hasta 100 reseñas.

RutaSolicitudesPrecio de listaCon cupo gratuitoReseñas por lugar
Google: Text Search solo IDs y luego Place Details con reviews para cada uno50 + 100025,00 USD0 USD5
Google: Place Details para cada uno, sin reseñas100020,00 USD0 USD0
Google: Text Search con places.reviews en la máscara502,00 USD0 USD5
Google: Text Search Enterprise, sin reseñas501,75 USD0 USD0
EveryInfra: 20 × google_maps_reviews/search + 1000 × google_maps_reviews/reviews10201,42 USDSin cupo gratuito100 (hasta 400 paginando)
EveryInfra: más 1 × google_maps_reviews/profile por lugar20202,81 USDSin cupo gratuito100
EveryInfra: solo lugares, 20 × google_maps_reviews/search200,0278 USDSin cupo gratuito0
Gráfico de barras horizontales en escala logarítmica. Precio de lista para 1000 lugares. Google Place Details con reseñas 25,00 USD. Place Details sin reseñas 20,00 USD. Text Search con reseñas 2,00 USD. Text Search sin reseñas 1,75 USD. EveryInfra búsqueda más una llamada de reseñas por lugar 1,42 USD. EveryInfra solo lugares 0,0278 USD.

Fíjate en las dos barras del medio. Mucha gente cree que las reseñas de Google cuestan 25 USD por cada 1000 lugares. Pero si pones places.reviews en la máscara de Text Search, el precio baja a 2,00 USD por cada 1000 lugares, cerca de nuestros 1,42 USD. Quedan dos diferencias. La primera: Google sigue dando 5 reseñas por lugar, elegidas por relevancia, mientras que nuestros 1,42 USD incluyen 100 reseñas por lugar.

La segunda: una consulta de Text Search devuelve como mucho 60 lugares. Para llegar a 1000 lugares necesitas al menos 17 consultas o ubicaciones distintas, y más si se solapan. Con nuestra búsqueda pasa lo mismo: una consulta da hasta 120 filas (lo vemos más abajo).

Por cada 1000 reseñas la diferencia crece. La ruta Place Details paga 0,025 USD por 5 reseñas, es decir, 5,00 USD por cada 1000 reseñas. La ruta Text Search paga 0,04 USD por 20 lugares × 5 reseñas, o sea, 0,40 USD por cada 1000. Nosotros cobramos 0,001389 USD por 100 reseñas: 0,0139 USD por cada 1000, unas 29 veces menos que la ruta más barata de Google.

Si solo necesitas datos del lugar, sin reseñas, Text Search Enterprise cuesta 1,75 USD por cada 1000 lugares. Nuestro google_maps_reviews/search cuesta 0,0278 USD por cada 1000, unas 63 veces menos. Las dos relaciones comparan precio de lista con precio de lista y no tienen en cuenta el cupo gratuito. La siguiente sección lo añade.

El cupo gratuito: hasta cuántos lugares al mes Google sale a 0 USD

Comparar solo precios unitarios no es justo con Google, porque cada SKU tiene un cupo gratuito mensual y nosotros no. La tabla muestra la factura mensual según el número de lugares. Del lado de Google descuenta el cupo gratuito y aplica los tramos de volumen (el precio unitario baja por encima de 100.000 solicitudes), suponiendo que ese SKU es el único uso de la cuenta. Del nuestro, es el precio del catálogo por el número de llamadas.

Lugares al mesGoogle Text Search con reseñasGoogle Place Details con reseñasGoogle Text Search sin reseñasEveryInfra búsqueda + reseñasEveryInfra solo lugares
10000 USD0 USD0 USD1,42 USD0,0278 USD
10.0000 USD225,00 USD0 USD14,17 USD0,2778 USD
50.00060,00 USD1225,00 USD52,50 USD70,84 USD1,39 USD
100.000160,00 USD2475,00 USD140,00 USD141,68 USD2,78 USD
500.000960,00 USD10.475,00 USD840,00 USD708,39 USD13,89 USD
1.000.0001960,00 USD17.975,00 USD1715,00 USD1416,78 USD27,78 USD
Gráfico de líneas con eje vertical logarítmico. Factura mensual de 1000 a 1 millón de lugares. Google Text Search con reseñas cuesta 0 USD con 1000 y 10.000 lugares, 60 USD con 50.000, 160 USD con 100.000 y 1960 USD con 1 millón. Google Place Details con reseñas cuesta 225 USD con 10.000 y 17.975 USD con 1 millón. EveryInfra búsqueda más reseñas va de 1,42 USD a 1416,78 USD. EveryInfra solo lugares va de 0,0278 USD a 27,78 USD.

Hay dos puntos de cruce. Con reseñas, las primeras 1000 solicitudes de Text Search (20.000 lugares) son gratis y cada lugar adicional cuesta 0,002 USD. A nosotros cada lugar nos cuesta 0,0014168 USD (una llamada de reseñas más 1/50 de una búsqueda).

CasoPunto de cruce al mesPor debajo, más baratoPor encima, más barato
Con reseñas (Text Search frente a búsqueda + reseñas)Unos 68.585 lugaresGoogleEveryInfra
Solo datos del lugar (Text Search Enterprise frente a búsqueda)Unos 20.323 lugaresGoogleEveryInfra

Las dos líneas se cruzan en unos 68.585 lugares al mes. Por debajo, Google es más barato; por encima, lo somos nosotros. Con 1 millón de lugares al mes, Google cuesta 1960 USD y nosotros 1416,78 USD. Solo con datos del lugar, el cupo de Google cubre unos 20.000 lugares al mes. Desde unos 20.323 lugares somos más baratos, y la distancia crece con el volumen: con 100.000 lugares al mes, Google cuesta 140 USD y nosotros 2,78 USD.

Esta sección tiene tres límites. Primero, el cupo gratuito de Google se comparte entre todos los proyectos de la cuenta de facturación, por SKU. Si tu cuenta también usa Place Details, cargas de mapas o Autocomplete, el punto de cruce se mueve a la izquierda.

Segundo, no tenemos cupo gratuito mensual. Solo hay una prueba única de 1 USD: das estrella a dos repositorios de GitHub y la activas en la consola. Dura 24 horas. Para un proyecto muy pequeño, Google es la opción correcta.

Tercero, los precios de Google de arriba son la lista global. Las cuentas de facturación de la India usan una lista de precios propia, con 7000 llamadas gratis al mes en los niveles Enterprise + Atmosphere y precios más bajos después. Si facturas desde la India, recalcula el punto de cruce con esa lista.

El límite de 5 reseñas: qué significa en 150 lugares de salud

En la referencia del recurso Place, el campo reviews se describe como una lista de reseñas del lugar, ordenadas por relevancia, con un máximo de 5. Aquí nos preguntamos: en un lote real de lugares, ¿qué parte del total de reseñas cubren 5 reseñas?

Entre las 00:19 y las 00:22 SGT del 9 de noviembre de 2026 buscamos en tres ciudades, cada una con una categoría de salud pública y 50 lugares. Sumamos el campo review_count de los resultados para obtener el total de reseñas. Luego comparamos "5 por lugar" con "una llamada de hasta 100 por lugar".

Ciudad y categoríaLugaresReseñas totalesMediana por lugarVisibles con 5 por lugarVisibles con 1 llamada (100) por lugar
Madrid, farmacia508833137250, 2,83 %4510, 51,06 %
Chicago, urgent care5040.322606,5250, 0,62 %4674, 11,59 %
Singapur, clínica5025.368146,5235, 0,93 %3689, 14,54 %
Gráfico de barras horizontales agrupadas. Parte del total de reseñas que se ve en una solicitud, 50 lugares por ciudad. Farmacias de Madrid: Google 5 por lugar 2,83 %, EveryInfra una llamada por lugar 51,06 %. Centros de urgencias de Chicago: 0,62 % frente a 11,59 %. Clínicas de Singapur: 0,93 % frente a 14,54 %.

Las farmacias de Madrid tienen menos reseñas que los otros dos grupos: una mediana de 137 y un máximo de 463. Por eso una llamada de 100 por lugar ya muestra más de la mitad del total. Los centros de urgencias de Chicago son lo contrario: una mediana de 606,5 reseñas y 3235 en el lugar con más. Con el límite de 5, solo ves el 0,62 % del total. Las clínicas de Singapur quedan en medio.

¿Por qué importa esta proporción? Supón que tu pregunta es "qué opinan los pacientes de las farmacias de guardia del centro de Madrid" o "qué farmacia recibe quejas por las colas este mes". Cinco reseñas por lugar no son una muestra estadística. Son un resumen para mostrar en pantalla.

Nuestro endpoint de reseñas también tiene límites. El catálogo indica que google_maps_reviews/reviews devuelve hasta 100 reseñas por llamada y que se pagina con page_token. En modo síncrono llega a 200 reseñas y en modo asíncrono, a 400. Cada página es una llamada con cargo.

Así que, de una clínica con 3235 reseñas, podemos devolver las 400 más recientes, alrededor del 12 %, pero no todas. Para la mayoría de los análisis, las últimas cientos de reseñas sirven más que el historial completo, porque reflejan el servicio actual.

Antes de los detalles, este es el resumen de las pruebas reales por ciudad. Todas las horas son del 9 de noviembre de 2026, SGT, y cada cargo sale de billing.charged_usd en la respuesta original.

PruebaHora (SGT)EndpointFilasSegundosCargo
Búsqueda de farmacias en Madrid00:22:05google_maps_reviews/search5011,120,001389 USD
Reseñas en español de una farmacia de Madrid00:24:50google_maps_reviews/reviews10012,810,001389 USD
Farmacia pequeña, since sin reseñas nuevas00:25:10google_maps_reviews/reviews036,760 USD
Búsqueda de urgencias en Chicago00:21:48google_maps_reviews/search5010,460,001389 USD
Clínica de Chicago, reseñas recientes, página 100:24:24google_maps_reviews/reviews1005,450,001389 USD
Clínica de Chicago, página 200:27:28google_maps_reviews/reviews1006,970,001389 USD
Búsqueda de clínicas en Singapur00:19:31google_maps_reviews/search5010,060,001389 USD

Prueba 1: farmacias de Madrid, reseñas en español y un reembolso por resultado vacío

Empezamos por Madrid. A las 00:22:05 SGT buscamos farmacia con language=es. Las 50 filas tenían Farmacia como categoría principal; 49 tenían teléfono, 37 tenían web y la valoración mediana era 4,0. El cargo fue de 0,001389 USD, igual que el precio del catálogo.

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":"farmacia","location":"Madrid","country":"es","language":"es","limit":50}}'

Este lote tenía una fila rara. Una farmacia en línea no tenía dirección y sus coordenadas eran 35,67 N y 6,81 O: un punto en Marruecos, a cientos de kilómetros de Madrid. Basta con comprobar que las coordenadas caen dentro del área de la ciudad para descartarla.

A las 00:24:50 SGT pedimos las 100 reseñas más recientes en español de una farmacia de 24 horas (FARMACIA MAYOR 13, con 463 reseñas y 3,7 de valoración), con lang=es. A los 12,81 segundos llegaron 100 filas. 29 tenían 1 o 2 estrellas y 55 tenían 5. 71 incluían texto, 32 tenían respuesta de la farmacia y 62 venían de Local Guides. La más reciente era del 31 de octubre de 2026.

Indicador (FARMACIA MAYOR 13, 100 reseñas más recientes)Valor
Reseñas de 1 o 2 estrellas29
Reseñas de 5 estrellas55
Con texto71
Con respuesta de la farmacia32
De Local Guides62
Fecha de la más reciente31 oct 2026

A las 00:25:10 SGT llamamos a una farmacia pequeña, con 39 reseñas, y pusimos since=2026-11-08 para pedir solo reseñas posteriores al día anterior. A los 36,76 segundos recibimos 0 filas. La respuesta indicaba refund.status: succeeded y no pagamos nada.

No cobrar por un resultado vacío es una diferencia clara con Google. En la página de SKU de Google, el evento de cobro de cada SKU es una "solicitud correcta". La página no aclara si una solicitud que devuelve 0 lugares cuenta como correcta. Nuestro catálogo y nuestra página de precios indican que los fallos y los resultados vacíos no se cobran, y la prueba lo confirmó.

Prueba 2: urgencias en Chicago, 200 reseñas en dos páginas

La segunda prueba fue en Chicago. A las 00:21:48 SGT buscamos urgent care. Las 50 filas estaban dentro del área de Chicago; 47 tenían Urgent care center como categoría principal y las 50 tenían teléfono y web. El cargo fue de 0,001389 USD.

El lugar con más reseñas era CLEAR Immediate Care, con 3235 reseñas y 4,6 de valoración. A las 00:23:27 SGT llamamos a google_maps_reviews/profile para ese lugar. A los 13,68 segundos recibimos 25 campos, entre ellos el horario semanal, el barrio, el Plus Code y un indicador de cierre temporal. El cargo fue de 0,001389 USD.

A las 00:24:24 SGT llamamos a google_maps_reviews/reviews con las más recientes primero y 100 reseñas. A los 5,45 segundos llegaron 100 filas por 0,001389 USD. A las 00:27:28 SGT usamos el next_page_token de la primera página para pedir la segunda. A los 6,97 segundos llegaron otras 100 filas.

Quitamos duplicados por el id de la reseña y quedaron 200 reseñas únicas. La captura muestra la primera página: dejamos 2 reseñas, recortamos el texto y ocultamos los nombres de los autores. Los recuadros verde azulado marcan el número de filas y el cargo.

Captura de pantalla de una respuesta de la API, en inglés. Arriba, el cuerpo de la solicitud: plataforma google_maps_reviews, acción reviews, un enlace de Google Maps a una clínica de urgencias de Chicago, orden newest y límite 100. Abajo, la respuesta con dos reseñas, una de 5 estrellas y otra de 1, con los nombres de los autores ocultos. Dos recuadros verde azulado marcan count 100 y charged_usd 0.001389.
Una llamada, 100 reseñas, 0,001389 USD. Nombres de autores ocultos. 9 de noviembre de 2026, 00:24 SGT. Captura de una respuesta real de la API de EveryInfra
json
{"platform": "google_maps_reviews", "action": "reviews",
 "params": {"url": "https://www.google.com/maps/search/?api=1&query=CLEAR%20Immediate%20Care&query_place_id=ChIJLfMv0s0tDogRmyUtaRGOqlI",
            "sort": "newest", "limit": 100, "page_token": "<next_page_token de la página anterior>"}}

De esas 100 reseñas más recientes, 25 tenían 1 estrella y 68 tenían 5; las otras 7 tenían entre 2 y 4. La media era de 3,85 estrellas, aunque el lugar muestra 4,6 en el mapa. 60 reseñas incluían texto, 10 tenían respuesta del negocio y 26 venían de Local Guides. La más reciente era del 7 de noviembre de 2026.

Para este lugar, Places API devuelve como mucho las 5 reseñas "más relevantes". No verías que 28 de los últimos 100 visitantes pusieron 1 o 2 estrellas. La primera página tampoco iba en orden estricto de fecha: había algunas reseñas antiguas entre las nuevas. Nuestra guía de reseñas de Google Maps lo analizó a fondo. La solución es sencilla: ordena por posted_at cuando recibas los datos.

Prueba 3: clínicas de Singapur, 50 lugares en una búsqueda

La tercera prueba fue la primera en el tiempo: a las 00:19:31 SGT llamamos a google_maps_reviews/search con keyword=clinic, location=Singapore, country=sg y limit=50. A los 10,06 segundos llegaron 50 filas con 50 valores de place_id distintos, por 0,001389 USD. 47 filas tenían valoración, 49 teléfono, 41 web y 49 código postal. La valoración mediana era 4,4.

Los datos no estaban del todo limpios, y lo contamos. La primera fila era un servicio de astrología con categorías de acupuntura y medicina ayurvédica, pero con dirección en Chennai, India. Tres filas, incluida esa, tenían las mismas coordenadas: 1,352083 y 103,819836, el centro geográfico de Singapur. Esos lugares no tienen una posición exacta en el mapa, así que el resultado usa el centro de la ciudad.

Una palabra amplia como clinic trae cualquier lugar que la lleve en el nombre o la categoría. Para un análisis de salud pública, filtra con una lista de valores de category permitidos y marca las filas que comparten coordenadas. Text Search de Google también ordena por relevancia; no lo probamos con una clave de Google, así que no sabemos si mezcla el mismo ruido.

Cada fila de búsqueda tiene hasta 19 campos; los principales son place_id, name, category, address, lat, lng, phone, website, rating y review_count. En Google, esos campos pertenecen a dos niveles: nombre, dirección, ubicación y tipos son Pro; valoración, número de reseñas, teléfono y web son Enterprise. Para tenerlos todos en una solicitud pagas Text Search Enterprise, 35 USD por cada 1000. Nuestros 0,001389 USD por 50 filas equivalen a 0,0278 USD por cada 1000 lugares.

100 reseñas cuentan otra historia que 5

Separamos por estrellas las 100 reseñas de cada lugar y las comparamos con "las 5 primeras por relevancia". Así se ve hacia dónde se inclinan las 5 reseñas de Google. Para la clínica de Singapur pedimos 100 reseñas por relevancia: 98 tenían 5 estrellas, 1 tenía 1 estrella y 1 tenía 4. 89 tenían respuesta de la clínica y las 5 primeras eran todas de 5 estrellas. En las 100 más recientes de Madrid y Chicago, las de 1 y 2 estrellas eran el 29 % y el 28 %.

Gráfico de barras horizontales apiladas en porcentaje. Reparto de estrellas de 100 reseñas del mismo lugar. Chicago, 100 más recientes: 1 a 2 estrellas 28 %, 5 estrellas 68 %. Madrid, 100 más recientes: 1 a 2 estrellas 29 %, 4 estrellas 13 %, 5 estrellas 55 %. Singapur, 100 por relevancia: 5 estrellas 98 %. Singapur, 5 primeras por relevancia: 5 estrellas 100 %.

Esto no demuestra que la relevancia de Google elija a propósito las reseñas buenas: son tres lugares y Google no publica sus reglas de orden. Lo que sí podemos decir es que las reseñas mejor colocadas suelen ser largas, con "me gusta" y con respuesta del negocio. En esta clínica de Singapur, todas eran de 5 estrellas. Para ver de qué se queja la gente esta semana, hay que ordenar por fecha.

El campo reviews de Places API (New) tiene un solo orden, por relevancia, y no se puede cambiar. El endpoint antiguo Place Details tiene el parámetro reviews_sort=newest, que sigue en la documentación antigua. Pero el límite sigue siendo de 5 reseñas, y esa API está en estado Legacy; Google no la recomienda para proyectos nuevos.

Tabla de campos: Places API frente a nuestros nombres

Los nombres de campos suelen llevar más tiempo que cualquier otra parte del cambio. La columna izquierda es el campo de Places API (New); en Text Search lleva el prefijo places.. La del medio es el SKU que activa. Las de la derecha son nuestro campo y el endpoint. Donde no hay equivalente, la tabla dice "No hay".

Campo de Places API (New)SKU que activaCampo de EveryInfraEndpoint
idIDs Only (gratis)place_id (el mismo place ID de Google)search, profile, reviews
displayNamePronamesearch, profile
formattedAddressProaddress, más city, state, postal_code, country_codesearch, profile
locationProlat, lngsearch, profile
primaryType, typesProcategory, categoriessearch, profile
businessStatusPropermanently_closed, temporarily_closedprofile (search solo el primero)
googleMapsUriProurl (enlace al mapa con query_place_id)search, profile
plusCodeProplus_codeprofile
rating, userRatingCountEnterpriserating, review_count, rating_scalesearch, profile
nationalPhoneNumber, internationalPhoneNumberEnterprisephone (un solo campo, como aparece en el mapa)search, profile
websiteUriEnterprisewebsitesearch, profile
regularOpeningHoursEnterpriseopening_hours (franjas por día de la semana)profile
priceLevel, priceRangeEnterpriseprice (a menudo vacío)search, profile
reviews[].text, originalTextEnterprise + Atmospheretext (solo original, sin traducción)reviews
reviews[].rating, publishTimeEnterprise + Atmosphererating, posted_atreviews
reviews[].authorAttributionEnterprise + Atmospherereviewer_name, reviewer_id, reviewer_review_count, is_local_guidereviews
reviews[].visitDateEnterprise + AtmosphereNo hay—
No hay—owner_response, owner_response_at (respuesta del negocio)reviews
No hay—like_count, image_urls (fotos de la reseña)reviews
reviewSummary, generativeSummaryEnterprise + AtmosphereNo hay (haz tu propio resumen con IA)—
photosPro / Photosimage_url (una imagen de portada)search, profile
Campos de servicios como paymentOptions, parkingOptions, servesBeerEnterprise + AtmosphereNo hay—

Nuestro lado tiene campos de reseñas que Google no devuelve: la respuesta del negocio y su fecha, el número de reseñas del autor, la marca de Local Guide, los "me gusta" y las fotos de la reseña. Son útiles para analizar reputación.

Google tiene tres grupos de campos que nosotros no tenemos. El primero es la traducción automática de reseñas (text y originalText van por separado). El segundo, el mes de visita visitDate y los resúmenes de reseñas que genera Google. El tercero, muchos campos de servicios para restaurantes, aparcamiento, formas de pago y más. Si tu producto filtra por esos servicios, por ejemplo "restaurantes con terraza que admiten perros", Places API es la mejor fuente.

Páginas y límites de resultados: 60 y 120

Ningún lado da lugares ilimitados por consulta. Text Search (New) de Google devuelve como mucho 60 lugares por consulta (3 páginas × 20). Nuestro catálogo indica que google_maps_reviews/search devuelve hasta 120 filas por consulta. Las llamadas síncronas llegan hasta la fila 60; más allá hay que usar el modo asíncrono.

A las 00:23:20 SGT pedimos en modo síncrono la página 2 de la búsqueda de Chicago (filas 51 a 100). A los 0,12 segundos recibimos un 422 con el código async_required, que indicaba usar "mode":"async". No hubo cargo. A las 00:29:41 SGT enviamos lo mismo en modo asíncrono: a los 2,31 segundos teníamos un job_id, y unos 42 segundos después, a las 00:30:23, leímos el resultado. Esa lectura tardó 0,15 segundos y no se cobró. Para páginas profundas en lote, conviene enviar primero un grupo de trabajos y leer todos los resultados un minuto después.

Solo 1 de las 50 filas de la página 2 estaba también en la página 1, así que las dos páginas dieron 99 lugares únicos. Pero la proporción de Urgent care center bajó del 94 % en la página 1 al 66 % en la página 2.

Esto muestra dos cosas. Primera: cuanto más hondo paginas, más se aleja el resultado de la consulta. Para cubrir una ciudad, usa más palabras de categoría y más barrios o códigos postales, y quita duplicados por place_id. Nuestra guía de deduplicación por place ID explica cómo unir sucursales de una cadena y negocios que se mudaron.

Segunda: una solicitud asíncrona se cobra al enviarla (0,001389 USD). El resultado se lee en GET /api/v1/jobs/{job_id} y esa lectura es gratis. Si el trabajo falla, se reembolsa el mismo cargo.

Los place ID cambian: hay que refrescarlos en los dos lados

Muchos equipos tratan el place ID como una clave primaria permanente, y no lo es. La página de place ID de Google dice que un lugar puede tener varios place ID y que pueden cambiar con el tiempo. Un negocio puede cerrar o mudarse, y una actualización de la base de datos también puede cambiar el ID. Entonces el ID antiguo devuelve NOT_FOUND y el lugar quizá tenga otro.

Google recomienda refrescar los ID con más de 12 meses. Se hace con una solicitud de Place Details que solo pide el campo id; usa el SKU Essentials IDs Only, que es gratis.

El efecto es distinto en cada lado. En Google, refrescar no cuesta nada, así que puedes revisar cada mes todos los ID guardados. En nuestro lado, place_id es el mismo place ID de Google, pero no hay una llamada gratuita para refrescarlo. Para comprobar un ID hay que llamar a google_maps_reviews/profile o al endpoint de reseñas.

La buena noticia: un ID muerto no cuesta nada con nosotros. En la prueba del enlace roto, a las 00:26:53 SGT, enviamos un query_place_id inexistente. Recibimos 0 filas, reason: empty_result_refunded y un cargo de 0 USD. La mala: la llamada tardó 23,68 segundos en confirmar que no había datos. No medimos cuánto tarda un NOT_FOUND de Google, así que no comparamos. Esta comprobación sirve en un trabajo en lote, pero es demasiado lenta para una pantalla en la que el usuario espera.

Por eso proponemos repartir el trabajo. Mantén el place ID de Google como clave en tu base de datos y deja el refresco de ID en Google, con solicitudes IDs Only gratuitas cada mes o cada trimestre. Une los registros que reciban un ID nuevo. Pasa a nuestro lado la recogida en lote de reseñas y detalles. Marca además las filas con coordenadas en el centro de la ciudad, como las 3 de Singapur. No comprobamos si su ID cambia más a menudo, pero conviene poder revisarlas a mano más adelante.

Fallos, resultados vacíos y errores: qué se cobra

De nuestras 21 solicitudes, 13 tuvieron cargo y 8 costaron 0 USD. Siete de las gratuitas son errores o resultados vacíos de la tabla. La octava fue la lectura de un resultado asíncrono con GET /api/v1/jobs/{job_id} a las 00:30:23; no es un fallo y no está en la tabla. La tabla incluye también, para comparar, una fila con cargo: la búsqueda con letras al azar. Todas las horas son del 9 de noviembre de 2026, SGT.

Hora (SGT)CasoHTTPQué devolvimosCargo
00:19:17Sin clave de API401Sin autenticar, sin detalles de parámetros0 USD
00:19:20Parámetros de Google textQuery, fieldMask, pageSize422missing_param: pide keyword, aclara que fieldMask no existe aquí y da un ejemplo que funciona0 USD
00:19:25Orden de reseñas con el valor antiguo most_relevant422invalid_value: lista newest y relevance y sugiere relevance0 USD
00:22:23Letras al azar más "clinic" como palabra clave20020 clínicas (coincidencia con "clinic"), con cargo normal0,001389 USD
00:23:20Solicitud síncrona de las filas 51 a 100422async_required0 USD
00:25:10Sin reseñas nuevas después de since2000 filas, refund.status: succeeded0 USD
00:26:53Place ID inexistente2000 filas, empty_result_refunded0 USD
00:27:42limit=100 en una búsqueda asíncrona422limit debe estar entre 1 y 500 USD

La fila de letras al azar merece una nota. Queríamos probar un resultado vacío, pero el endpoint encontró la palabra "clinic", devolvió 20 clínicas reales y cobró como siempre. Una palabra clave mal escrita no siempre da un resultado vacío. No juzgues una consulta por si devuelve filas: comprueba que name y category son lo que esperas. Text Search de Google también busca de forma aproximada; sus páginas no explican cómo se cobra este caso, pero con la regla de "solicitud correcta" lo normal es que se cobre.

Las cuatro respuestas 422 traen dos campos útiles para la migración: retryable y next_steps. Con los parámetros copiados de Google, next_steps pide keyword, aclara que fieldMask no es un parámetro aquí y dice que no hubo cargo. El orden mal escrito trajo además las listas allowed y did_you_mean. Las cuatro tenían retryable: false: un parámetro mal puesto da 422 cada vez que lo reenvías. Haz que tu script de migración lea retryable y no reintente con espera los errores de parámetros.

Gráfico de puntos con el tiempo total por llamada, en segundos. Cuatro errores 422 de parámetros, mediana 0,1 segundos. Cuatro búsquedas de lugares, mediana de unos 10,3 segundos. Tres llamadas de detalles, mediana 11,4 segundos. Cinco llamadas de reseñas, mediana 6,6 segundos. Dos reembolsos por resultado vacío, 23,7 y 36,8 segundos, mediana 30,2 segundos.

La velocidad también cuenta, y somos más lentos. Una búsqueda o una llamada de detalles tardó entre 10 y 14 segundos; una de reseñas, entre 5 y 13. Los resultados vacíos fueron los más lentos (24 y 37 segundos), porque el endpoint confirma que no hay datos antes de reembolsar. No medimos los tiempos de Google, porque no lo llamamos con una clave, así que aquí no comparamos. Con nuestros números (de 5 a 14 segundos por llamada y de 24 a 37 con resultado vacío), nuestros endpoints sirven para trabajos en lote en segundo plano, no para una pantalla en la que el usuario toca y espera.

Frenar una factura descontrolada: una alerta de presupuesto no detiene el uso

La queja más común sobre Places API no es el precio unitario, sino la factura que se dispara. En r/webdevelopment, un desarrollador pidió ayuda tras una factura de 6k USD por Places API y, en una respuesta, dijo que la causa podía ser un bucle en su código. Alguien contestó que Google suele perdonar como mucho el 50 %. Otra respuesta daba cuatro pasos: abrir un ticket con el soporte de facturación; buscar en las métricas de la API qué endpoint se disparó, que a menudo es Autocomplete o Place Details; fijar ya cuotas diarias y alertas de presupuesto; y añadir debounce y caché en las cajas de búsqueda y el front-end. Un hilo anterior en r/webdev, de antes del cambio de marzo de 2025, se preguntaba si el precio deja espacio para algún producto: el autor contaba que solo las pruebas y el desarrollo ya habían gastado 75 de los 200 USD de crédito mensual. Otro desarrollador recibió un correo de Google con los precios nuevos, calculó un costo «insoportable» y se pasó a datos de mapas abiertos. Una tercera respuesta citaba los términos: no se puede precargar, indexar, almacenar ni guardar en caché el contenido, salvo en las condiciones limitadas que fijan los términos.

Una alerta de presupuesto no detiene los servicios de Google. La página de presupuestos aclara que un presupuesto con alertas no limita el uso ni el costo de Google Cloud ni de Google Maps Platform: solo avisa. Lo que sí detiene el uso es la cuota de cada API. La página para limitar el uso de APIs explica cómo fijar límites por día y por minuto. En Places API (New) las cuotas van por método y por proyecto, así que Text Search y Place Details se limitan por separado.

ControlGoogle Places APIEveryInfra
Alerta de presupuestoAvisa, no detiene el usoNo hace falta, es prepago
Freno realCuota por método de API, por día o por minutoEl saldo llega a cero, HTTP 402
Posible deudaSí, se factura después del usoNo
Riesgo que hay que preverUna factura altaUn trabajo detenido

Nosotros usamos saldo prepago y cobramos por llamada. Cuando el saldo no alcanza, la API devuelve un 402 con quota_exhausted. No puedes acumular deuda: en el peor caso gastas el dinero que cargaste. Esto encaja con equipos pequeños que no quieren vigilar la factura, pero obliga a mantener saldo suficiente o una tarea programada se detendrá de madrugada. Elige según lo que más te preocupe: una factura alta o un trabajo parado.

Cambio de código: una función en Python, antes y después

Abajo tienes una llamada típica a Places API (New): Text Search para una categoría, con valoración, teléfono, web y reseñas en la máscara de campos. La escribimos a partir de la documentación de Google como ejemplo de configuración. No la ejecutamos con una clave de Google.

python
# Antes: Google Places API (New) Text Search (ejemplo de configuración, no ejecutado)
import os, requests

def google_places(query: str, page_token: str | None = None):
    body = {"textQuery": query, "pageSize": 20}
    if page_token:
        body["pageToken"] = page_token
    r = requests.post(
        "https://places.googleapis.com/v1/places:searchText",
        json=body,
        headers={
            "X-Goog-Api-Key": os.environ["GOOGLE_MAPS_API_KEY"],
            # places.reviews lleva toda la solicitud a Text Search Enterprise + Atmosphere
            "X-Goog-FieldMask": "places.id,places.displayName,places.formattedAddress,"
                                "places.rating,places.userRatingCount,places.nationalPhoneNumber,"
                                "places.websiteUri,places.reviews,nextPageToken",
        },
        timeout=30,
    )
    r.raise_for_status()
    return r.json()

En nuestro lado, la búsqueda y las reseñas son dos endpoints. La búsqueda devuelve 50 lugares con los campos básicos y después pides reseñas solo de los lugares que te interesan. Cambia los nombres de campos con la tabla de arriba. Ejecutamos este código mientras escribíamos el artículo, con los mismos parámetros de las pruebas.

python
# Después: EveryInfra
import os, requests
API = "https://api.everyinfra.com/api/v1/social"
HEAD = {"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"}

def call(action: str, params: dict) -> dict:
    r = requests.post(API, headers=HEAD, timeout=120,
                      json={"platform": "google_maps_reviews", "action": action, "params": params})
    r.raise_for_status()          # 401/422 no se cobran; se lanzan como error
    return r.json()

def places(keyword: str, city: str, country: str, limit: int = 50) -> list[dict]:
    return call("search", {"keyword": keyword, "location": city, "country": country, "limit": limit})["results"]

def reviews(place_url: str, since: str | None = None, pages: int = 1) -> list[dict]:
    out, token = [], None
    for _ in range(pages):            # modo síncrono: hasta dos páginas (200 reseñas)
        p = {"url": place_url, "sort": "newest", "limit": 100}
        if since: p["since"] = since
        if token: p["page_token"] = token
        j = call("reviews", p)
        out += j["results"]
        token = j.get("next_page_token")
        if not token: break
    return sorted(out, key=lambda x: x.get("posted_at") or "", reverse=True)

Ten en cuenta tres puntos. Primero, el endpoint de reseñas necesita el enlace al mapa del lugar, no un place ID suelto; el campo url de la búsqueda ya incluye query_place_id, así que pásalo tal cual. Segundo, sort solo acepta newest y relevance; el valor antiguo most_relevant devuelve un 422. Tercero, cada respuesta trae billing.charged_usd. Guárdalo en tus registros y súmalo por id a fin de mes, como en nuestra guía de conciliación de fallos y reembolsos.

Agentes de IA: el servidor MCP de Google y el nuestro

Google ya tiene su propio servidor MCP. Maps Experience agent tools (antes Maps Grounding Lite) es un servicio remoto compatible con el Model Context Protocol. Sus herramientas buscan lugares, consultan el tiempo, calculan rutas y convierten nombres y enlaces de mapas en place ID. Tiene dos SKU. Essentials devuelve hasta 5 lugares por búsqueda, sin contenido de reseñas. Pro devuelve hasta 10 lugares con "lo más destacado de las reseñas", pero solo para clientes en lista de acceso a través de ventas.

En la lista de precios, Maps Grounding Essentials tiene 10.000 llamadas gratis al mes y luego cuesta 7,00 USD por cada 1000. Otra vía es Grounding with Google Maps en la API de Gemini: para Gemini 3 y modelos posteriores hay 5000 llamadas gratis compartidas al mes y luego 14 USD por cada 1000.

Google Maps Experience agent tools (Essentials)Grounding with Google MapsMCP de EveryInfra
DóndeServidor MCP de GoogleSolo dentro de modelos Geminihttps://api.everyinfra.com/mcp
Lugares por búsquedaHasta 5Los decide el modeloHasta 50
Texto de reseñasNoNo da texto original, da una respuesta con citasHasta 100 por llamada
Gratis al mes10.000 llamadas5000 llamadas (Gemini 3 en adelante)Ninguna, prueba única de 1 USD
Después, por cada 10007,00 USD14,00 USD0,001389 USD por llamada, 1,389 USD por cada 1000
Elección de modeloCualquier cliente MCPSolo GeminiCualquier cliente MCP

Nuestra dirección MCP es https://api.everyinfra.com/mcp. El 9 de noviembre de 2026, a las 00:23 SGT, llamamos a tools/list sin clave y recibimos 12 herramientas. Para reseñas de mapas la herramienta es everyinfra_call_api, con los mismos argumentos platform, action y params del cuerpo REST. Para un cliente que admite MCP remoto, como Claude Code, la configuración es esta:

json
{
  "mcpServers": {
    "everyinfra": {
      "type": "http",
      "url": "https://api.everyinfra.com/mcp",
      "headers": { "Authorization": "Bearer ${EVERYINFRA_API_KEY}" }
    }
  }
}

A las 00:30:30 SGT llamamos a everyinfra_call_api por MCP para pedir las 5 reseñas más recientes en español de la farmacia de Madrid (limit=5). A los 5,36 segundos llegaron 5 filas por 0,001389 USD, el mismo precio que por REST. Ojo: cobramos por llamada, así que 5 reseñas cuestan lo mismo que 100. Cuando un agente pida reseñas, pon limit en 100.

Los dos servidores MCP persiguen cosas distintas. Las herramientas de Google ayudan a un modelo a responder una pregunta: devuelven un resumen y place ID para mostrar sobre un mapa de Google. La nuestra ayuda a un modelo a obtener datos en bruto: devuelve páginas completas de reseñas para que el modelo las cuente y las clasifique. Nuestra página del servidor MCP explica la configuración de cada cliente, y el protocolo está en la especificación de MCP.

Cuándo conviene más la Places API oficial

Los precios y las pruebas favorecen los trabajos de datos en lote. En los casos de la tabla, te recomendamos seguir con Google Places API, o al menos conservar una parte.

CasoPor qué gana GoogleQué nos falta
Volumen dentro del cupo gratuitoUnos 20.000 lugares al mes cuestan 0 USDNo hay cupo mensual, solo prueba de 1 USD
Mostrar datos a usuarios en vivoComponentes listos como Places UI KitNuestras llamadas tardan de 5 a 14 segundos
Autocomplete, validación de direcciones, Nearby SearchGoogle tiene esos endpointsNo tenemos ninguno
Rutas, geocodificación, marcadoresUn place ID sirve en todas las API de GoogleMismo place ID, pero sin rutas ni mapas
Términos de licencia clarosTus derechos están en los términos de GoogleRevisas tú el uso de datos públicos
Base de lugares a largo plazoRefresco de ID gratis con el SKU IDs OnlyComprobar un ID cuesta una llamada y más de 20 segundos

Sobre el volumen: los puntos de equilibrio con poco volumen ya están en la sección del cupo gratuito, así que no los repetimos.

Sobre mostrar datos en vivo: nuestras llamadas tardan de 5 a 14 segundos (no medimos a Google), y Google tiene componentes listos como Places UI Kit. Una entrada del blog de Google Maps Platform del 27 de octubre de 2026 añade más: el Places UI Kit de iOS ya muestra horas punta y afluencia en tiempo real.

Sobre funciones: no tenemos Autocomplete (New) para cajas de búsqueda, ni validación de direcciones, ni Nearby Search por radio. Tampoco filtros de servicios, fotos a tamaño completo ni resúmenes de reseñas con IA. Si buscas una "google places autocomplete api alternative", este artículo no te sirve.

Sobre licencias: con la API de Google, los Términos del Servicio fijan lo que puedes hacer. Con datos públicos obtenidos con nosotros, debes revisar tú mismo tu uso según la ley local y los términos de la plataforma. Nuestra guía de reseñas recoge algunos puntos a vigilar. No damos asesoría legal.

Los términos de Google: qué puedes guardar y cómo mostrarlo

Muchos equipos dejan Places API por sus términos, no por el precio: los términos no permiten lo que quieren hacer. La página de políticas de Places API de Google (actualizada el 6 de noviembre de 2026) es clara en su apartado de restricciones de caché y extracción. Capturamos el texto, que está en inglés:

Captura de pantalla de la página de políticas de Places API en Google for Developers, en inglés. Un recuadro verde azulado marca el apartado Caching and scraping restrictions. Dice que solo se puede guardar en caché o almacenar contenido de Google Maps según lo permitan los términos específicos del servicio, y que no se puede exportar, extraer ni copiar contenido de Google Maps para usarlo fuera de los servicios. Ejemplos: no precargar, indexar, almacenar ni redistribuir fuera de los servicios, no descargar en lote mosaicos de mapa, imágenes de Street View, geocódigos, rutas ni información de lugares, y no copiar ni guardar nombres de negocios, direcciones ni reseñas de usuarios.
El texto de Google prohíbe copiar o guardar nombres de negocios, direcciones o reseñas de usuarios. Captura del 9 de noviembre de 2026. Captura de Google for Developers

Los términos solo permiten guardar dos cosas. El place ID no tiene límite de caché, así que puedes guardarlo sin fecha de fin; la página de place ID sugiere refrescarlo gratis tras 12 meses. La latitud y la longitud se pueden guardar en caché hasta 30 días seguidos y luego hay que borrarlas. Esa regla está en la sección 14.3 de los Términos específicos del servicio, revisados el 28 de octubre de 2026.

La sección 14.2 de esos términos prohíbe usar contenido de Places API con un mapa que no sea de Google. Al mostrar contenido, la página de políticas pide la atribución de Google Maps, y las reseñas necesitan la atribución del autor y un enlace.

Así que, si tu necesidad es "guardar un conjunto de farmacias y sus reseñas en una base de datos y analizarlas cada semana", los términos de Places API no lo permiten, sea cual sea el precio. En cambio, si muestras la valoración y 5 reseñas de un lugar en tu app, junto a un mapa de Google, Places API cumple las reglas y es la opción más sencilla.

Si tu cuenta factura en el Espacio Económico Europeo

Para equipos de España y del resto de Europa hay otro conjunto de términos. Las preguntas frecuentes para el EEE de Google explican que, desde el 8 de julio de 2025, los proyectos con dirección de facturación en el Espacio Económico Europeo usan términos propios del EEE. En proyectos nuevos, el contenido de Places API (New) y de la API antigua no puede mostrarse sobre ningún mapa, tampoco sobre uno de Google. Para mostrar contenido de lugares sobre un mapa hay que usar Places UI Kit.

Los términos del EEE también eliminan tres límites, entre ellos "no usar con un mapa que no sea de Google". La guía de Nearby Search incluye un aviso sobre estos términos. Para una cadena de farmacias de Madrid o Barcelona que quiera mostrar sus locales con la API, la decisión pasa primero por esta versión de los términos, antes que por el precio.

Para el análisis en lote, el cambio no altera la conclusión anterior: los términos siguen sin permitir guardar reseñas para analizarlas. En nuestro lado, el uso de datos públicos lo debes revisar con tu propio asesor según la normativa de tu país, incluido el RGPD si tratas nombres de autores. Por eso nuestras capturas y tablas ocultan los nombres de los autores de las reseñas.

Lista para el cambio: seis pasos

Si los números indican que conviene cambiar, este es el orden que proponemos. En la animación, un recuadro verde azulado recorre seis pasos. El paso 5, una semana en paralelo con los mismos place ID, es el más importante.

Animación de proceso con seis cajas en dos filas. Un recuadro verde azulado las recorre en orden. 01 Revisar la factura: solicitudes mensuales por SKU. 02 Mapear campos: cambiar fieldMask por nuestros nombres. 03 Pasar la búsqueda de lugares: 50 por llamada, modo asíncrono para páginas profundas. 04 Pasar las reseñas: 100 por llamada, con sort y since. 05 Una semana en paralelo: comparar con los mismos place_id. 06 Conservar la parte de Google: la visualización en mapa sigue sus términos.
PasoQué hacerHerramienta o campo
1Lista las solicitudes mensuales por SKU de los últimos tres meses, sobre todo los dos niveles Enterprise.Informes de uso de Maps
2Cambia la máscara de campos por nuestros nombres y anota los campos sin equivalente.Tabla de campos de arriba
3Pasa la búsqueda en lote, 50 lugares por llamada, con varias categorías y barrios; quita duplicados.google_maps_reviews/search, place_id
4Pasa las reseñas; usa since para el seguimiento diario. Sin reseñas nuevas no hay cargo.google_maps_reviews/reviews
5Ejecuta los dos lados una semana con los mismos place ID y compara valoración, reseñas y estado.Tu propio script de comparación
6Deja en Google todo lo que los usuarios ven sobre un mapa.Términos de visualización de Google

El paso 5 es el decisivo: revisa a mano cada lugar cuya valoración o número de reseñas difiera mucho. La mayoría de los equipos acaba usando los dos lados: Google para la interfaz de usuario y nosotros para el análisis en segundo plano.

Cambios recientes (octubre y noviembre de 2026)

Google cambió varias páginas en los 30 días anteriores a este artículo. La tabla recoge las que afectan a un cambio de proveedor. Todos los precios de Google de este texto usan la versión del 3 de noviembre de 2026 de la lista de precios global; revisa la fecha antes de usar un precio de un artículo antiguo.

FechaCambioQué significa para ti
4 nov 2026La página de SKU incluye Maps Experience agent tools; Resolution API usa el SKU gratuito IDs OnlyConvertir un nombre en place ID con el MCP de Google es gratis; los datos del lugar no
28 oct 2026Revisión de los Términos específicos del servicio; las reglas de caché de Places no cambianGuardar lugares y reseñas a largo plazo sigue fuera de los términos
27 oct 2026Places UI Kit Pro para iOS, disponible para todos, con horas punta y afluencia en vivoMás motivos para quedarse en Google al mostrar lugares en una app
22 oct 2026Se actualiza la Maps Demo Key: sin tarjeta, con límites diarios, sin reseñas ni fotosNo puedes probar reseñas gratis con una clave de demostración

El cambio de la Demo Key es el que más se pasa por alto. La clave detiene el uso del día cuando alcanzas el límite diario, sin cargo. Pero la página aclara que el contenido generado por usuarios, es decir, fotos y reseñas, no está disponible con ella. Para probar reseñas gratis en Google sigues necesitando una cuenta de facturación.

Primeros pasos: pasa lugares y reseñas en tres pasos

Paso 1: regístrate en el inicio rápido y consigue una clave de API. Las cuentas nuevas pueden dar estrella a los repositorios everyinfra/everyinfra-agent-plugins y everyinfra/seo-skills en GitHub y activar en la consola una prueba de 1 USD, válida durante 24 horas. Paso 2: ejecuta el ejemplo curl de este artículo con tu categoría y tu ciudad habituales, y revisa results y billing.charged_usd.

Paso 3: sustituye tu código por las funciones de Python de arriba o añade la configuración MCP a tu agente. La página de la API de reseñas de Google Maps da una visión general, y cada endpoint tiene su página: búsqueda de lugares, detalles del lugar y reseñas. Para "los 20 lugares con más reseñas" de una categoría y ciudad, google_maps_reviews/business_listings devuelve 20 lugares por 0,015361 USD.

Para comparar los mismos lugares con otro sitio de reseñas, mira la API de Yelp. Puedes probar cada endpoint en el mercado.

Preguntas frecuentes

¿Google Places API es gratis?

En parte. Desde el 1 de marzo de 2025, cada SKU principal tiene un volumen gratuito al mes: 10.000 llamadas en Essentials, 5000 en Pro y 1000 en los dos niveles Enterprise. Después se aplica la lista de precios. Text Search y Place Details solo con IDs son gratis sin límite. También existe una clave de demostración sin tarjeta, pero no devuelve reseñas.

¿Cómo obtengo más de 5 reseñas con Google Places API?

No se puede. El campo reviews de Places API (New) devuelve como máximo 5 reseñas por relevancia y no tiene parámetro de página. El antiguo reviews_sort=newest solo cambia el orden; el límite sigue en 5. Para más reseñas necesitas otra fuente, como google_maps_reviews/reviews de este artículo: 100 por llamada y hasta 400 paginando.

¿Google Places API puede ordenar las reseñas por fecha?

En la API nueva no: solo hay orden por relevancia. La versión antigua de Place Details tiene reviews_sort=newest, pero está en estado Legacy. Nuestro endpoint de reseñas admite sort con newest y relevance, y since para pedir reseñas a partir de una fecha.

¿Cuánto cuesta la API de reseñas de Google Places?

Con el campo reviews, Place Details usa Enterprise + Atmosphere a 25 USD por cada 1000 solicitudes, y Text Search usa el mismo nivel a 40 USD por cada 1000 (hasta 20 lugares por solicitud). Las primeras 1000 solicitudes de cada mes son gratis. Por cada 1000 reseñas, la ruta Place Details cuesta 5,00 USD y la ruta Text Search, 0,40 USD.

¿Hay una google places api alternative gratis?

No encontramos ninguna que sea del todo gratis y devuelva reseñas de Google Maps en lote. Con poco volumen, el cupo gratuito de Google es la mejor opción gratuita. Los conjuntos de datos abiertos de lugares dan nombres y coordenadas sin costo, pero no valoraciones ni reseñas de Google Maps. Nosotros solo tenemos una prueba única de 1 USD y después cobramos por llamada.

¿Por qué subió de golpe mi factura de Places API?

La causa más común es un campo del nivel más alto (como reviews) en la máscara, que cobra toda la solicitud a ese nivel. La siguiente es un front-end sin debounce que llama una y otra vez a Autocomplete o Place Details. En el hilo de Reddit sobre la factura de 6k USD, las respuestas recomendaban localizar primero en las métricas de la API el endpoint que se disparó y luego fijar una cuota diaria. Una alerta de presupuesto de Google no detiene el uso; una cuota sí.

Método y límites

Todas las cifras de Google salen de páginas oficiales leídas el 9 de noviembre de 2026; no llamamos a la API de Google. Por eso, "Text Search con reseñas devuelve 20 lugares con 5 reseñas cada uno" es el mejor caso según la documentación. Tu factura mostrará el número real de reseñas por lugar y cómo cobra Google los resultados vacíos. La factura mensual supone que todo el cupo gratuito va a un solo SKU y no incluye precios de contrato ni planes de suscripción para grandes clientes de Google.

Nuestro lado es una muestra de 21 solicitudes en un solo día, en tres ciudades, con una categoría cada una. El reparto de estrellas vale solo para esos tres lugares, no para toda la categoría. Medimos la velocidad una vez por llamada, desde Singapur; otras regiones y horas pueden dar otros tiempos.

Hay cosas que no probamos. Nearby Search de Google (por coordenadas y radio), las fotos de lugares y Autocomplete no tienen equivalente en nuestro lado, así que no los comparamos. De google_maps_reviews/business_listings citamos solo el precio del catálogo, sin llamada real. Las tres muestras son de categorías de salud; en restaurantes y hoteles, con más reseñas y más fotos, 5 reseñas muestran una parte aún menor, y una llamada de 100 también cubre menos. Prueba un lote pequeño con tu categoría principal antes de decidir.

Referencias

  1. Google Maps Platform core services pricing list, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  2. Places (New) SKU details, Google for Developers, actualizado el 2026-11-04, leído el 2026-11-09.
  3. Place Details (New), Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  4. REST Resource: places, Google for Developers, actualizado el 2026-10-27, leído el 2026-11-09.
  5. Text Search (New), Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  6. Nearby Search (New), Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  7. Place Data Fields (New), Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  8. Places API usage and billing, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  9. Policies and attributions for Places API, Google for Developers, actualizado el 2026-11-06, leído el 2026-11-09.
  10. Place IDs, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  11. Google Maps Platform Service Specific Terms, Google, revisado el 2026-10-28, leído el 2026-11-09.
  12. Google Maps Platform Terms of Service, Google, revisado el 2026-08-26, leído el 2026-11-09.
  13. Google Maps Platform March 2025 changes, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  14. Billing and pricing FAQ, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  15. Billing and pricing overview, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  16. Pricing categories, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  17. Pay-as-you-go pricing, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  18. Google Maps Platform core services pricing list, India, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  19. Place Details (Legacy), Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  20. Migrate to Places API (New), Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  21. Places API (New) release notes, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  22. Choose fields to return, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  23. Place Photos (New), Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  24. Autocomplete (New), Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  25. Places UI Kit overview, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  26. Places Aggregate API overview, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  27. Place Types (New), Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  28. Places API (New) overview, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  29. Maps Experience agent tools, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  30. Resolution API, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  31. Google Maps Platform Code Assist toolkit (MCP), Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  32. Grounding with Google Maps, Google AI for Developers, leído el 2026-11-09.
  33. Gemini Developer API pricing, Google AI for Developers, leído el 2026-11-09.
  34. Maps Demo Key, Google for Developers, actualizado el 2026-10-22, leído el 2026-11-09.
  35. Get a Maps Demo Key with no credit card, Google Maps Platform, leído el 2026-11-09.
  36. Important changes for EEA customers: FAQ, Google for Developers, actualizado el 2026-11-03, leído el 2026-11-09.
  37. Create, edit, or delete budgets and budget alerts, Google Cloud, actualizado el 2026-11-04, leído el 2026-11-09.
  38. Capping API usage, Google Cloud, actualizado el 2026-10-26, leído el 2026-11-09.
  39. Reporting and monitoring, Google for Developers, actualizado el 2026-10-27, leído el 2026-11-09.
  40. Drive confident place decisions with immersive maps, live crowd signals, and responsive map styling, blog de Google Maps Platform, 2026-10-27, leído el 2026-11-09.
  41. Moving from the Google Earth desktop app to the web, blog de Google Maps Platform, 2026-10-29, leído el 2026-11-09.
  42. Neurun makes sure no fan gets lost in the crowd using Google Maps Platform, blog de Google Maps Platform, 2026-10-20, leído el 2026-11-09.
  43. Powering the next era of agentic experiences: announcing new grounding capabilities, blog de Google Maps Platform, 2026-04-22, leído el 2026-11-09.
  44. Model Context Protocol specification 2025-11-25, Model Context Protocol, leído el 2026-11-09.
  45. PLEASE HELP!!!! I got a bill of $6k using Google Places API, Reddit r/webdevelopment, leído el 2026-11-09.
  46. New to Google Maps Places New API: Is 10k Requests per month really free?, Reddit r/googlecloud, leído el 2026-11-09.
  47. Google Maps & Places API pricing. Not to beat a dead horse, Reddit r/webdev, leído el 2026-11-09.
  48. Google Maps API Pricing Change After March 1, 2025, Reddit r/googlecloud, leído el 2026-11-09.
  49. Open Source Google Maps API Alternative (vídeo sobre mapas propios con datos abiertos de lugares), YouTube, 2024-06-26, transcripción leída el 2026-11-09.
  50. Google Maps API Is INSANE: Build Real-World Apps with Places API (vídeo sobre la facturación y la máscara de campos), YouTube, 2026-09-15, transcripción leída el 2026-11-09.
  51. Catálogo de datos de EveryInfra (precios, parámetros y campos de google_maps_reviews), EveryInfra, leído el 2026-11-09 a las 00:14 SGT.

Referencia BL-120

Nuestras estadísticas siempre están activas. Google Analytics, solo con «Permitir analítica». Política de privacidad