Storelift

Storelift › Guías › La API de Storelift

Capa de IA

La API de Storelift

Todo lo que muestra el panel es también un endpoint JSON. Son 9, todos GET, todos sobre sus propias apps seguidas, así que un script, una tarea de hoja de cálculo o un paso de CI pueden leer los mismos números sin hacer scraping de una página. La API está incluida en Pro y Studio; un asistente que lee los mismos datos normalmente prefiere el servidor MCP.

Empezar gratis →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.

Por Traducido del original en inglés con ayuda de IAActualizado: 5 secciones

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_..."
El acceso a la API está en los planes Pro y Studio: desde $20 al mes, $60 en Studio. Si se baja de plan, la clave deja de funcionar pero no se elimina, así que al volver a subir de plan se reactiva la misma integración.

02Los 9 endpoints

EndpointQué devuelve
GET /v1/appsLas 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}/keywordsPosición actual por palabra clave seguida en un storefront, con el estado de medición y la profundidad buscada.
GET /v1/apps/{id}/rivalsLas apps que tiene por encima, cada una con los términos en que le supera y ambas posiciones.
GET /v1/apps/{id}/aiSi un asistente menciona su app para su categoría, con la serie almacenada. Studio lo mide.
GET /v1/apps/{id}/historyLa serie de posiciones por palabra clave, recortada a la ventana de historial del plan.
GET /v1/apps/{id}/pageSu propia ficha tal como la sirve la tienda, en ambas plataformas, más los cambios fechados detectados en ella.
GET /v1/apps/{id}/reviewsReseñ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}/chartsPosició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 devuelve method_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. history y charts cortan 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

EstadoerrorCuándo
401missing_api_keyNo hay clave en la solicitud.
401invalid_api_keyLa clave es desconocida o se revocó.
401account_deletedLa cuenta asociada a la clave ya no existe.
403plan_requiredEl plan no incluye acceso a la API. La respuesta indica el plan actual.
405method_not_allowedTodos los endpoints son GET. Nada escribe.
404not_foundEse id de app no está en esta cuenta.
404unknown_endpointNo 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 →

Sigue leyendo