Tony Wang6 min de lecturaCómo scrapear apps y rankings de Google Play en 2026 (API y Python)
Scrapea listados, rankings, búsqueda y catálogos de Google Play en 2026 — DIY Python, sin código o una API estructurada con JSON limpio.
La forma más rápida de scrapear Google Play en 2026 es llamar a una API estructurada que devuelve JSON normalizado — metadatos de apps, top-charts por categoría, búsqueda, apps similares, el catálogo completo de un desarrollador y etiquetas de data-safety — en lugar de renderizar las páginas del lado del cliente de la tienda y luchar contra su regulación anti-bot. Puedes construir un scraper propio, pero Google Play defiende los datos con fuerza y su API oficial solo cubre apps que tú posees. Esta guía cubre los tres enfoques, qué devuelve cada uno, dónde se rompe cada uno y los aspectos legales básicos.
¿Por qué scrapear Google Play?
Los datos de apps y listados de Google Play impulsan toda una categoría de trabajo de producto, marketing e investigación:
- App Store Optimization (ASO) — sigue rankings, ratings, rangos de instalaciones y presencia de keywords para tus apps y las de tus competidores.
- Investigación de competidores y mercado — mapea quién lidera una categoría, qué apps están subiendo y cómo le va al portafolio completo de un rival.
- Auditoría de privacidad y cumplimiento — recopila declaraciones de data-safety y permisos en un conjunto de apps.
- Análisis de reseñas y sentimiento — cuantifica qué elogian y critican los usuarios, por versión y país.
- Pipelines de AI / LLM — alimenta metadatos de apps y reseñas a flujos de retrieval y análisis.
¿Es legal scrapear Google Play?
Opción 1: DIY en Python (y por qué se rompe)
Google Play no tiene una API pública de datos, así que un scraper DIY parsea la página de listado del lado del cliente o se apoya en el no oficial google-play-scraper:
from google_play_scraper import app, reviews, Sort
info = app("com.openai.chatgpt", lang="en", country="us") # title, installs, score, developer
result, token = reviews("com.openai.chatgpt", lang="en", country="us",
sort=Sort.NEWEST, count=200) # capped at ~200 per request
Funciona en la demo y luego se rompe:
- Sin API pública oficial. La Google Play Developer API (Android Publisher) solo devuelve datos de apps que tú posees — inútil para investigación de competidores o mercado — así que cualquier otra app implica scraping.
- Renderizado del lado del cliente. Las páginas de listado se hidratan desde un RPC interno
batchexecute, así querequests+BeautifulSoupsolo obtiene una cáscara; tienes que hacer ingeniería inversa de los endpoints internos, que cambian sin aviso y rompen el parser. - Limitación e IP bans. Las peticiones directas activan las defensas anti-bot de Google — 503 con captcha y bans de IP de ~1 hora (aproximadamente 500–1.000 apps por IP al día sin proxies) — así que necesitas rotación de proxies residenciales.
- Topes de reseñas y rankings. Las reseñas devuelven ~200 por petición detrás de un token de cursor que tienes que iterar en bucle, y los top-charts y la búsqueda están paginados y son específicos por locale — cada país es un crawl aparte.
Opción 2: Herramientas sin código
Los extractores visuales y los actors de marketplace de "Google Play" exportan CSV/JSON y sirven para extracciones puntuales, pero resultan incómodos en un pipeline de producto con campos predecibles, y se rompen con el mismo renderizado del lado del cliente, la misma limitación y los mismos topes.
Opción 3: Una API estructurada de Google Play
Para flujos de trabajo repetibles, una API de Google Play estructurada devuelve JSON normalizado sin necesidad de correr un scraper. Encuentra una app y luego obtén su listado:
curl "https://api.crawlora.net/api/v1/googleplay/search?term=chatgpt&country=us" \
-H "x-api-key: $CRAWLORA_API_KEY"
En Python — nota cómo cada app se identifica por su nombre de paquete:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1"
# 1) Search to find an app_id (package name)
hits = requests.get(f"{base}/googleplay/search", headers=h,
params={"term": "chatgpt", "country": "us", "lang": "en"}).json()["data"]
# 2) Full listing detail for that package name
info = requests.get(f"{base}/googleplay/app", headers=h,
params={"app_id": "com.openai.chatgpt", "country": "us", "lang": "en"}).json()["data"]
La búsqueda devuelve registros de app ligeros (los campos son ilustrativos — revisa los docs):
{
"code": 200,
"msg": "OK",
"data": [
{ "app_id": "com.openai.chatgpt", "title": "ChatGPT", "developer": "OpenAI", "score": 4.8, "price_text": "FREE", "free": true }
]
}
La misma key alcanza rankings, apps similares, el catálogo completo de un desarrollador y etiquetas de privacidad:
top = requests.get(f"{base}/googleplay/list", headers=h,
params={"collection": "TOP_FREE", "category": "PRODUCTIVITY", "country": "us"}).json()["data"] # category top-chart
similar = requests.get(f"{base}/googleplay/similar", headers=h,
params={"app_id": "com.openai.chatgpt", "country": "us"}).json()["data"] # competitors
portfolio = requests.get(f"{base}/googleplay/developer/7577165439232992817", headers=h,
params={"country": "us"}).json()["data"] # every app by a developer
safety = requests.get(f"{base}/googleplay/datasafety", headers=h,
params={"app_id": "com.openai.chatgpt"}).json()["data"] # data_shared / data_collected
Las reseñas vuelven paginadas por cursor — pasa de vuelta el next_pagination_token devuelto vía paginate para recorrerlas:
reviews = requests.get(f"{base}/googleplay/reviews", headers=h,
params={"app_id": "com.openai.chatgpt", "country": "us", "sort": "newest"}).json()["data"]
# reviews["data"] -> list of { id, user_name, date, score, text, version, thumbs_up }
# reviews["next_pagination_token"] -> pass back via paginate to continue
Pasa country (y lang) en cada llamada — los rankings, precios y disponibilidad varían por país — guarda una fila por app o reseña, y vuelve a extraer los datos con un calendario para seguir rankings y sentimiento a lo largo del tiempo. Para el playbook completo de reseñas en ambas tiendas, consulta how to scrape App Store & Google Play reviews.
Qué puedes recopilar
- Listado de la app — title, description, summary, rango de instalaciones (installs, min_installs), score, developer y version.
- Rankings y descubrimiento — listas de top-chart por categoría (
list), resultados de búsqueda, sugerencias de query y categorías. - Grafo competitivo — apps similares y el catálogo completo de un desarrollador por developer id.
- Privacidad — declaraciones de data-safety (data shared / collected) y permisos solicitados.
- Reseñas — id, user_name, date, score, text, version y thumbs_up, paginadas por cursor.
Todo está delimitado por país e idioma — quédate con campos públicos y factuales.
Limitaciones y desafíos comunes
- Sin API pública para apps arbitrarias. La Play Developer API oficial solo cubre apps que tú posees, así que la investigación pública implica scraping — algo que una API estructurada resuelve detrás de una sola key.
- Todo está delimitado por locale. Rankings, disponibilidad y precios son por país; la misma app puede diferir entre mercados, así que recopila los países que te interesan.
- Las reseñas están topeadas y paginadas por cursor. Cada petición devuelve ~200 reseñas detrás de un token; el total mostrado no coincidirá con una sola extracción, así que itera hasta que el token esté vacío.
- Rate limits y bans. El scraping directo provoca 503 con captcha y bans de IP de ~1 hora; una API estructurada absorbe proxies y limitación.
- Las reseñas y los nombres son datos personales. Trata los nombres de los reseñadores y el texto de las reseñas como personales bajo GDPR/CCPA — recopila campos públicos y factuales con una base legal.
Dónde se usa esto
- App Store Optimization (ASO) — sigue rankings de competidores, ratings y el ritmo de versiones entre categorías y países.
- Análisis de reseñas de apps — extrae sentimiento y quejas de reseñas por versión. Consulta el caso de uso app review analysis.
- Monitoreo de reseñas y reputación — observa ratings y sentimiento a lo largo del tiempo. Consulta review & reputation monitoring.
Sources
Empieza a recopilar
Pruébalo primero, gratis: ejecuta cualquier URL pública en el Free Web Scraper, o comprueba si un sitio bloquea bots con el Anti-Bot Checker — sin registro.
Prueba los endpoints en el Playground, revisa el schema en los API docs y consulta el pricing. Explora el catálogo completo — 4.1M apps entre App Store y Google Play — en nuestro mobile app dataset. Consulta también how to scrape App Store & Google Play reviews para el análisis profundo de reseñas, how to scrape Steam cuando el catálogo que te interesa son videojuegos — Play y Steam son los dos extremos del mismo título en móvil y PC, con sus propios precios, ratings y culturas de reseñas — y how to scrape the Chrome Web Store para la tercera tienda, las extensiones de navegador. Para el kit de herramientas más amplio, how to choose a web scraping API, y is web scraping legal.
Parte de nuestra how-to-scrape guide series — cada plataforma que cubrimos, en un solo índice.
Preguntas frecuentes
¿Puedo scrapear Google Play sin que me bloqueen?
Google Play renderiza del lado del cliente desde un RPC interno batchexecute y limita las peticiones directas con 503, captchas y bans de IP de aproximadamente 1 hora, así que el DIY necesita rotación de proxies residenciales. Una API estructurada absorbe los proxies y la limitación detrás de una key. Recopila solo campos públicos y factuales.
¿Tiene Google Play una API oficial?
Solo para apps que tú posees. La Google Play Developer API (Android Publisher) devuelve datos de tus propios listados y reseñas — no existe una API pública oficial para apps arbitrarias — así que la investigación de competidores y mercado implica scraping, algo que una API estructurada devuelve como JSON normalizado.
¿Cómo se identifican las apps de Google Play?
Por el nombre de paquete (application id) como com.openai.chatgpt, no por un id numérico. La búsqueda devuelve el app_id, y el resto de endpoints — app, reviews, similar, datasafety, permissions — reciben ese nombre de paquete.
¿Qué datos de Google Play puedo recopilar?
Datos de catálogo público: metadatos de la app (title, description, rango de instalaciones, score, developer, version), listas de top-chart por categoría, búsqueda y sugerencias de query, apps similares, el catálogo completo de un desarrollador, declaraciones de data-safety, permisos y reseñas (id, user_name, score, text, version, thumbs_up).
¿Puedo scrapear apps de otros países o idiomas?
Sí. Pasa country y lang en cada endpoint. Los rankings, la disponibilidad y los precios varían por país, así que la misma app puede verse distinta entre mercados — recopila los países que te interesan y vuelve a extraer los datos con un calendario.
¿Cómo obtengo todas las reseñas de una app?
Las reseñas están paginadas por cursor: cada petición devuelve unas 200 reseñas más un next_pagination_token que pasas de vuelta vía paginate para continuar. Itera hasta que el token esté vacío. El total de reseñas mostrado no coincidirá con una sola petición. Consulta la guía de reseñas para el playbook completo.
¿Los datos de Google Play son datos personales?
Los metadatos de las apps y los rankings son factuales y públicos, pero los nombres de los reseñadores y el texto de las reseñas son datos personales bajo GDPR/CCPA. Recopila campos públicos y factuales con una base legal, y no vuelvas a publicar las identidades de los reseñadores.