API de Búsqueda de Google Play
Salud de la API
- Salud 24 h
- Normal
- Saludable / normal
- Disponible
- Limitada
- Casi sin servicio
Últimas 24 horas
Últimos 30 días
keyword sirve para descubrir apps; el app_id devuelto identifica después una ficha concreta. score, rating_count, review_count, installs y min_installs conservan significados distintos.
Envía POST https://api.everyinfra.com/api/v1/social con platform igual a google_play y action igual a search. Precio $1.39 por 1.000 solicitudes ($0.001389 por llamada). Las llamadas fallidas y los resultados vacíos no se cobran. Síncrona. Para tareas lentas añade "mode": "async" al cuerpo, recibe un job_id y consúltalo.
Prompt para IA
#Ayúdame a escribir un script de recopilación de datos con el endpoint de EveryInfra Google Play: Búsqueda (google_play/search).
Cómo funciona el endpoint:
- Solicitud: POST https://api.everyinfra.com/api/v1/social con la cabecera Authorization: Bearer <clave API>. Lee la clave de la variable de entorno EVERYINFRA_API_KEY y no la escribas en el código.
- En el cuerpo de la solicitud, pon platform en google_play y action en search, y los parámetros dentro de params.
- Parámetros obligatorios:
- keyword: Término de búsqueda del nombre o propósito de la aplicación en Google Play, por ejemplo note taking; no es una búsqueda exacta por el nombre del paquete de la aplicación. Para detalles y comentarios, utiliza app_id.
- Parámetros opcionales:
- country: Código de país o región de la tienda, como us o es. En search y profile determina el catálogo regional consultado.
- language: Código de idioma de la tienda, como en o es. Cambia la presentación localizada cuando está disponible, pero no traduce automáticamente el texto original de todas las reseñas.
- page_token: Token de paginación: devuelve el next_page_token de la respuesta anterior para obtener la siguiente página; omítelo para la primera. Mantén el resto de parámetros sin cambios.
- limit: Número máximo de filas que devuelve esta llamada, un entero de 1 a 100. Si no lo envías, se usa el valor predeterminado, y una llamada puede devolver menos filas. (por defecto: 20)
- Devuelve una lista de registros. Campos principales de cada registro: app_id, url, name, summary, description, developer, developer_email, developer_website, score, rating_count, review_count, installs; 29 campos en total, lista completa en https://api.everyinfra.com/api/v1/social/catalog?platform=google_play.
- Cuerpo de solicitud de ejemplo:
{
"platform": "google_play",
"action": "search",
"params": {
"keyword": "habit tracker"
}
}
- Precio: $1.39 por 1.000 solicitudes; los resultados fallidos y vacíos no se cobran.
- Para decenas o cientos de objetivos, añade "mode": "async" al cuerpo: recibes un job_id al instante y consultas GET https://api.everyinfra.com/api/v1/jobs/{job_id} para obtener el resultado.
- Ante un 422, corrige la solicitud con los nombres de parámetros y los valores admitidos que sugiere el error; ante un 429 o un 503, espera lo que indique Retry-After y vuelve a intentarlo.
Antes de escribir código, pregúntame qué objetivos necesito, cuántos, qué campos y en qué formato quiero el resultado; luego confirma conmigo el plan y el coste aproximado.Parámetros de la solicitud
#| Nombre | Ubicación | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|---|
Authorization | header | string | Sí | - | Bearer seguido de tu clave de API. Créala en la consola; nunca la pongas en una URL ni en un repositorio de código. |
platform | body | string | Sí | google_play | Identificador de la plataforma, valor fijo. |
action | body | string | Sí | search | Identificador de la capacidad, valor fijo. |
keyword | body.params | string | Sí | - | Término de búsqueda del nombre o propósito de la aplicación en Google Play, por ejemplo note taking; no es una búsqueda exacta por el nombre del paquete de la aplicación. Para detalles y comentarios, utiliza app_id. |
country | body.params | string | No | - | Código de país o región de la tienda, como us o es. En search y profile determina el catálogo regional consultado; no es el país del desarrollador ni garantiza que una aplicación esté disponible para todas las cuentas de esa región. En reviews no cambia qué reseñas se devuelven: las reseñas solo varían con language, así que us y gb devuelven las mismas reseñas con el mismo idioma. Para comparar reseñas entre mercados, cambia language, no solo country. |
language | body.params | string | No | - | Código de idioma de la tienda, como en o es. Cambia la presentación localizada cuando está disponible, pero no traduce automáticamente el texto original de todas las reseñas. |
page_token | body.params | string | No | - | Token de paginación: devuelve el next_page_token de la respuesta anterior para obtener la siguiente página; omítelo para la primera. Mantén el resto de parámetros sin cambios. Los tokens duran 24 horas y cada página es una llamada. |
limit | body.params | integer (1–100) | No | 20 | Número máximo de filas que devuelve esta llamada, un entero de 1 a 100. Si no lo envías, se usa el valor predeterminado, y una llamada puede devolver menos filas. Los valores mayores devuelven 422 antes de cualquier cobro. |
Ejemplos de código
#curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "google_play",
"action": "search",
"params": {
"keyword": "habit tracker"
}
}'Definición OpenAPI (JSON)Los ejemplos leen la clave de la variable de entorno EVERYINFRA_API_KEY; el código copiado nunca contiene tu clave.
Ejemplo de respuesta
#{ "id": "req_…", "platform": "google_play", "action": "search", "results": [ { "app_id": "org.isoron.uhabits", "url": "https://play.google.com/store/apps/details?id=org.isoron.uhabits", "name": "Loop Habit Tracker", "summary": "Create good habits and track their progress over time", "description": "Loop helps you create and maintain good habits, allowing you to achieve your long-term goals. Detailed charts and statistics show you how your habits improved over time. The app is completely ad-free, open source and it respects your privacy.\n\n\nSimple, beautiful and modern interf…", "developer": "Álinson S Xavier", "developer_email": "•••", "score": 4.7175927, "rating_count": 63336, "review_count": 3419, "installs": "5,000,000+", "min_installs": 5000000, "price": 0, "is_free": true, "currency": "USD", "category": "Productivity", "content_rating": "Everyone", "contains_ads": false, "offers_iap": false, "version": "2.3.1", "released": "Feb 22, 2016", "updated_at": "2025-09-14T22:56:06.000Z", "android_version": "9", "icon_url": "https://play-lh.googleusercontent.com/p0AgkzxC9Vus-E82psxrb7p8VtrVJMfXKcU9hNTW8tTG7G3yAGBqxCIyUmwibUyT1Mx7DAzkrJnPLo4VEYDwlbI", "header_image_url": "https://play-lh.googleusercontent.com/saJuIprQv_9zeut6372XuLUEWSSB9iAJIwFc2oASfly5r3AQaNZiVWQ9_Rc1fLe2Y4bNF6fljlze-I7yorTP", "privacy_policy": "http://loophabits.org/privacy", "platform": "google_play", "screenshots": [ "https://play-lh.googleusercontent.com/KrxN9bOtspk63xhtNJx2uyaHZ3GOYK_IJ-VRIhMlh2ChFCQuBxXLWoRJd48uFRU_Rk97Nz3gHiI0eteLn2KDFQ", "https://play-lh.googleusercontent.com/2nZZDFddPS4-wHVgPvAfeYik3vMTsrV-Mgys3g1A6s-KLCcUWsf1PlYLJfKXGyxUnUHkSKX8sESQkrEx6mQN", "https://play-lh.googleusercontent.com/8BBDln1lKgX6ErWkH-_tKlfoD2TEfpcVzrgFlzJO91wK0HiYac_W0wJV7hHhGi8aeqk-8xRI051bK6mlsOLiZw" ], "rating_histogram": { "1": 1850, "2": 871, "3": 1850, "4": 4096, "5": 54630 } }, { "app_id": "com.habitnow", "url": "https://play.google.com/store/apps/details?id=com.habitnow", "name": "HabitNow Daily Routine Planner", "summary": "To-do list, Habit Tracker, Routine Planner and Reminders. All in just one app!", "description": "Maximize Your Productivity with HabitNow: Your Ultimate Todo List and Habit Tracker! 🚀\nKeeping your life organized has never been easier! With HabitNow, efficiently manage your school schedule, house chores, work, and more, all while building strong habits. Enter your routine, re…", "developer": "HabitNow Apps", "developer_email": "•••", "score": 4.7406015, "rating_count": 92815, "review_count": 2861, "installs": "5,000,000+", "min_installs": 5000000, "price": 0, "is_free": true, "currency": "USD", "category": "Productivity", "content_rating": "Everyone", "contains_ads": false, "offers_iap": true, "version": "2.5.4a", "released": "May 17, 2019", "updated_at": "2026-07-26T22:27:33.000Z", "android_version": "6.0", "icon_url": "https://play-lh.googleusercontent.com/HsjWZ5h3QDDNPL-0xKP9j4CXG6dxaojS2PtyuRnylitzLm5huDOCMkwc8gYF1glrr1laiRNospq5uNB0HUIo", "header_image_url": "https://play-lh.googleusercontent.com/rFBjMvOr9AMlbcXyoEcCmd68k7yOPeEwbfmaZar1Anz5nfZZxQvEoWOTj914GRyunw4rCEHtbbt_mtMUivcncQ", "privacy_policy": "https://www.habitnow.app/privacy-policy", "platform": "google_play", "screenshots": [ "https://play-lh.googleusercontent.com/4_x2XH6oemmQ0_d9X_k7sRvq_yQmrb3lUB4ZA7WNZCDhn_kQ9zRzZS2XffNEbBnVcDK-fCm-NowhjTs0VdQJcO8", "https://play-lh.googleusercontent.com/58H0BAGBiSYeRYK4pixVsgYyebULGiYM2S1mBgxTWCFfGS11wbO4uo0e9eF3JmtFWJ99xgnQEh3-ufpmVztj1Q", "https://play-lh.googleusercontent.com/Nwb7e4hd53oPd6WyCGKeT-4Q4yBwe4o7oDUdD6Lbpg3RZp-fpkgXceqIs6PLL1Xon8DaxMeZxPGn6XWB6JQDwG8" ], "rating_histogram": { "1": 2315, "2": 802, "3": 2315, "4": 7666, "5": 79668 } } ], "next_page_token": …, "pagination": { … }, "count": 20, "billing": { "charged": …, "charged_usd": …, "balance_after_usd": …, … }, "quota": { … }}
Campos de la respuesta
#Los datos están en results. La tabla lista los campos que puede tener cada registro; los valores que la plataforma no muestra nunca se inventan.
| Campo | Significado |
|---|---|
app_id | Conserva el significado de la plataforma |
url | Enlace al registro en la plataforma. |
name | Nombre del propio objeto, en capacidades de cuentas, productos y negocios. |
summary | Conserva el significado de la plataforma |
description | Resumen o descripción, normalmente más breve que text. |
developer | Conserva el significado de la plataforma |
developer_email | Conserva el significado de la plataforma |
developer_website | Conserva el significado de la plataforma |
score | Conserva el significado de la plataforma |
rating_count | Número de personas que valoraron. null significa no publicado, no 0. |
review_count | Número de reseñas, en capacidades de productos y negocios. null significa no publicado, no 0. |
installs | Conserva el significado de la plataforma |
min_installs | Conserva el significado de la plataforma |
price | Precio como número, sin símbolo de moneda; ver currency. |
is_free | Si la app se descarga gratis (keywords_for_app). |
currency | Código de moneda del precio (por ejemplo CNY, USD). Si hay price pero currency es null, no supongas una moneda. |
category | Nombre de la categoría según la taxonomía propia de la plataforma, sin normalizar entre plataformas. |
content_rating | Conserva el significado de la plataforma |
contains_ads | Conserva el significado de la plataforma |
offers_iap | Conserva el significado de la plataforma |
version | Conserva el significado de la plataforma |
released | Conserva el significado de la plataforma |
updated_at | Conserva el significado de la plataforma |
android_version | Conserva el significado de la plataforma |
icon_url | Conserva el significado de la plataforma |
header_image_url | Conserva el significado de la plataforma |
privacy_policy | Conserva el significado de la plataforma |
platform | Identificador de la plataforma, igual que platform en la solicitud (por ejemplo xiaohongshu, tiktok). |
screenshots | Conserva el significado de la plataforma |
rating_histogram | Conserva el significado de la plataforma |
Errores y facturación
#- 401
- Falta la clave o no es válida.
- 402
- Saldo insuficiente. Recarga primero.
- 422
- Nombre o valor de parámetro incorrecto. Corrígelo según las opciones indicadas en el error. Sin cargo.
- 429
- Se alcanzó el límite de solicitudes por minuto. Espera el tiempo indicado en Retry-After y vuelve a intentarlo.
- 503
- No se pudo completar. El cargo retenido vuelve a tu saldo. Si el resultado es incierto, compruébalo antes de reenviar.
- 200 vacío
- Sin datos. Sin cargo.