01Dirección base y autenticación
La base es https://storelift.net/v1. Cree una clave en Settings → API; se muestra una sola vez y solo se guarda como hash, así que una clave perdida se sustituye, no se recupera.
Envíela como x-api-key, o como token bearer si su cliente solo maneja cabeceras Authorization:
curl -s https://storelift.net/v1/apps \
-H "x-api-key: sl_live_..."02Los 9 endpoints
| Endpoint | Qué devuelve |
|---|---|
GET /v1/apps | Las apps que sigue esta cuenta. Todas las demás llamadas empiezan aquí: el id sale de esta. |
GET /v1/apps/{id} | Una app más la instantánea de la última ejecución. |
GET /v1/apps/{id}/keywords | Posición actual por palabra clave seguida en un storefront, con el estado de medición y la profundidad buscada. |
GET /v1/apps/{id}/rivals | Las apps que tiene por encima, cada una con los términos en que le supera y ambas posiciones. |
GET /v1/apps/{id}/ai | Si un asistente menciona su app para su categoría, con la serie almacenada. Studio lo mide. |
GET /v1/apps/{id}/history | La serie de posiciones por palabra clave, recortada a la ventana de historial del plan. |
GET /v1/apps/{id}/page | Su propia ficha tal como la sirve la tienda, en ambas plataformas, más los cambios fechados detectados en ella. |
GET /v1/apps/{id}/reviews | Reseñas recientes con el resumen de estrellas, cuántas son nuevas en esta ejecución y la parte de Play cuando se mide. |
GET /v1/apps/{id}/charts | Posición en la lista top del género y el storefront de la app, con la serie. |
Los endpoints por debajo de /apps/{id} aceptan country (un código de storefront como us; por defecto, el primero de la app) y, donde se miden ambas tiendas, platform=ios|android.
03Los tres estados de medición se conservan al cruzar el límite
Esta es la parte que vale la pena leer antes de escribir la integración. Un campo de posición puede ser un número, pero la ausencia de un número son dos cosas distintas y la API las mantiene separadas:
measured: true,rank: 7: la app se encontró en la posición 7.measured: true,rank: null: la búsqueda se ejecutó y la app no estaba en los resultados hasta la profundidad que leemos.measured: false: la búsqueda no pudo ejecutarse ese día. No se sabe nada de la posición.
{
"country": "de",
"platform": "ios",
"live": true,
"measuredAt": "2026-09-19T02:14:08.921Z",
"keywords": [
{ "term": "traumdeutung", "measured": true, "rank": 7, "demand": 6, "searchDepth": 200 },
{ "term": "traumsymbole", "measured": true, "rank": null, "demand": 3, "searchDepth": 200 },
{ "term": "traumtagebuch", "measured": false, "rank": null, "demand": null, "searchDepth": null }
]
}Juntar los dos últimos en un cero describiría un desplome que nunca ocurrió, y cualquier promedio construido encima sería erróneo. Si su código necesita un solo número, trate measured: false como un hueco en la serie, no como un valor.
04Lo que no hace
- No escribe. Todos los endpoints son
GET; cualquier otra cosa devuelvemethod_not_allowed. No hay camino desde la API hasta su ficha, sus palabras clave seguidas o su facturación. - No mide bajo demanda. Los endpoints leen lo que recogió la ejecución nocturna. Preguntar dos veces no envía una segunda consulta a las tiendas.
- No incluye la capa de ingresos. Las cuentas conectadas (App Store Connect, Apple Ads, RevenueCat, GA4) se quedan en el panel: una línea deliberada, no un descuido.
- El historial se recorta según el plan.
historyychartscortan ambos en la ventana del plan, así que la misma clave no puede llegar más lejos por un endpoint que por el otro.
05Errores
| Estado | error | Cuándo |
|---|---|---|
| 401 | missing_api_key | No hay clave en la solicitud. |
| 401 | invalid_api_key | La clave es desconocida o se revocó. |
| 401 | account_deleted | La cuenta asociada a la clave ya no existe. |
| 403 | plan_required | El plan no incluye acceso a la API. La respuesta indica el plan actual. |
| 405 | method_not_allowed | Todos los endpoints son GET. Nada escribe. |
| 404 | not_found | Ese id de app no está en esta cuenta. |
| 404 | unknown_endpoint | No existe esa ruta bajo /v1. |
Todos los errores son JSON con un campo error. plan_required devuelve además plan, para que un cliente pueda decir en qué plan está la clave en lugar de adivinarlo.
Preguntas frecuentes
¿Hay un límite de solicitudes?
No hay cuota por clave. El gateway que está delante de la API tiene un techo para toda la cuenta, y cada llamada actualiza un contador de uso en la clave para que pueda ver en Settings si una clave antigua sigue en uso.
¿Puedo usarla en el plan gratuito?
No: el acceso a la API empieza en Pro. Las herramientas gratuitas de este sitio no necesitan cuenta, y el plan gratuito sigue midiendo una app a diario.
¿API o servidor MCP?
Un script quiere la API: formas fijas, una llamada, ningún modelo de por medio. Un asistente quiere el servidor MCP, porque las herramientas llevan sus propias descripciones y puede elegir la llamada correcta sin que usted escriba la integración. Ambos leen las mismas mediciones.
Compruébalo con tu propia app
Pega el enlace de tu app y añade tus palabras clave. Cada día se miden la posición, las apps por encima de ti y la demanda.
Plan gratuito: 1 app, 25 palabras clave en cada uno de 2 storefronts, 30 días de historial, sin tarjeta y sin fecha de fin. Pro cuesta $20/mes.
Empezar gratis →