Documentación para desarrolladores › Referencia de la API

Endpoints de ingresos y Apple Ads

Las fuentes conectadas de cada app: ingresos, eventos de suscripción, el embudo del App Store, precios y códigos de oferta, el antes y el después de un cambio, y las campañas, palabras clave, términos de búsqueda y comandos de Apple Ads. Scopes revenue:read y ads:read.

Autenticación · Créditos · Parámetros comunes · Códigos de error · openapi.json

GET /apps/{appId}/revenue

Ingresos y descargas de una app procedentes de las fuentes que conectó el usuario: unidades diarias por país de App Store Connect, instalaciones diarias de Google Play y, de RevenueCat, MRR, ingresos de 28 días, suscripciones activas y pruebas, con el desglose del movimiento del MRR. connected=false significa que no hay ninguna fuente conectada; measured=false significa que las fuentes no tienen filas para esta app. Aquí nada es una estimación.

Scope
revenue:read
Créditos
1
Plan
Pro
ParámetroUbicaciónTipoDescripción
daysqueryintegercuántos días de series diarias devolver, 1–365 (90 por defecto)

También admite: appId (obligatorio)

curl "https://storelift.net/v1/apps/sbx-lumen/revenue" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir en el sandbox

Respuesta de ejemplo

GET /apps/{appId}/subscriptions

Recuentos de eventos de suscripción de una app procedentes del webhook de RevenueCat / Adapty: por día y por país — inicios de prueba, conversiones de prueba, inicios de pago, renovaciones, cancelaciones, reembolsos, problemas de facturación e ingresos —, además de cohortes mensuales (usuarios, pagadores). Los recuentos son eventos, no usuarios. connected=false significa que no hay ningún webhook conectado.

Scope
revenue:read
Créditos
1
Plan
Pro
ParámetroUbicaciónTipoDescripción
daysqueryintegerperiodo en días, 1–365 (90 por defecto)

También admite: appId (obligatorio)

curl "https://storelift.net/v1/apps/sbx-lumen/subscriptions" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir en el sandbox

Respuesta de ejemplo

GET /apps/{appId}/funnel

El embudo de conversión de App Store de una app según las analíticas de App Store Connect: impresiones → visitas a la página de producto → descargas, con el dato de hoy y el historial día a día, y los desgloses por fuente de tráfico y por página de producto personalizada cuando Apple los facilita. Google Play no tiene equivalente aquí. connected=false significa que App Store Connect no está conectado.

Scope
revenue:read
Créditos
1
Plan
Pro
ParámetroUbicaciónTipoDescripción
daysqueryintegerperiodo del historial en días, 1–365 (90 por defecto)

También admite: appId (obligatorio)

curl "https://storelift.net/v1/apps/sbx-lumen/funnel" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir en el sandbox

Respuesta de ejemplo

GET /apps/{appId}/campaigns

Campañas de Apple Ads que promocionan una app (identificadas por el id de App Store de la app, no por el nombre): gasto, impresiones, toques, instalaciones, presupuesto y estado de publicación por campaña en los últimos 28 días, los totales y las palabras clave y los términos de búsqueda con más gasto. El gasto está en la moneda de la cuenta (currency). connected=false significa que Apple Ads no está conectado.

Scope
ads:read
Créditos
1
Plan
Pro

También admite: appId (obligatorio)

curl "https://storelift.net/v1/apps/sbx-lumen/campaigns" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir en el sandbox

Respuesta de ejemplo

GET /apps/{appId}/ads-keywords

Todas las palabras clave de Apple Ads compradas para una app en sus campañas (últimos 28 días), por gasto: puja, tipo de concordancia, grupo de anuncios, gasto, impresiones, toques, instalaciones, tasa de toques, tasa de conversión, coste por toque y coste por instalación, junto a la posición orgánica de la app para la misma palabra en el país (tracked:false cuando la palabra no se sigue). Envíe campaign para limitarlo a una campaña. connected=false significa que Apple Ads no está conectado.

Scope
ads:read
Créditos
1
Plan
Pro
ParámetroUbicaciónTipoDescripción
countryquerystringcódigo de país para la columna de posición orgánica (por defecto, el primer país de la app)
campaignquerystringid de campaña para limitarlo a una campaña

También admite: appId (obligatorio)

curl "https://storelift.net/v1/apps/sbx-lumen/ads-keywords?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/ads-search-terms

Las búsquedas que la gente escribió realmente y que activaron los anuncios de Apple Ads de la app (últimos 28 días), por gasto: el término de búsqueda, la palabra clave y el tipo de concordancia que lo captaron, gasto, toques, instalaciones, coste por toque y por instalación, y al lado la posición orgánica de la app para esa búsqueda en el país. Es la lista de búsquedas que añadir como palabras clave, que añadir como negativas o por las que dejar de pagar porque la app ya posiciona ahí. Los términos que Apple oculta por bajo volumen se suman en hidden. connected=false significa que Apple Ads no está conectado.

Scope
ads:read
Créditos
1
Plan
Pro
ParámetroUbicaciónTipoDescripción
countryquerystringcódigo de país para la columna de posición orgánica (por defecto, el primer país de la app)
campaignquerystringid de campaña para limitarlo a una campaña

También admite: appId (obligatorio)

curl "https://storelift.net/v1/apps/sbx-lumen/ads-search-terms?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/ads-commands

Comandos de Apple Ads para las campañas de una app — desde el panel, desde las reglas de automatización y desde confirm_action —, del más reciente al más antiguo, cada uno con su estado: queued, applying, applied, failed o unknown (el envío se interrumpió y puede que haya llegado a Apple o no; compruébelo en Apple Ads antes de volver a enviarlo), cuándo terminó, el error si lo hubo y la acción de deshacer que lleva. Envíe id para un solo comando.

Scope
ads:read
Créditos
1
Plan
Pro
ParámetroUbicaciónTipoDescripción
idquerystringid del comando, tal como aparece en la lista, para un solo comando

También admite: appId (obligatorio)

curl "https://storelift.net/v1/apps/sbx-lumen/ads-commands" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/search-popularity

La popularidad de búsqueda de Apple, desde la cuenta de Apple Ads conectada a este espacio de trabajo: los términos más buscados del país en la categoría de la app (semanal, en el orden de Apple), cada uno con su puesto en la categoría y su popularidad de 1-100 (en la categoría y en todo el país) y de 1-5 (la escala de Apple Ads), además de cada palabra clave seguida marcada con inTopTerms true o false. Envíe terms para comprobar más palabras. connected=false significa que Apple Ads no está conectado.

Scope
ads:read
Créditos
1
Plan
Pro
ParámetroUbicaciónTipoDescripción
termsquerystringtérminos adicionales que consultar, separados por comas, hasta 50
limitquerynumbertérminos principales que devolver, hasta 200 (50 por defecto)

También admite: appId (obligatorio) · country

curl "https://storelift.net/v1/apps/sbx-lumen/search-popularity?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/pricing

Precios de producto y códigos de oferta de una app procedentes del webhook de RevenueCat o Adapty, en los últimos 365 días: por producto y país, el precio vigente (moneda, precio local, desde cuándo) y cada periodo de precio fijo con sus inicios de prueba, nuevas suscripciones de pago, conversiones de prueba e ingresos, además de cada código de oferta con su primer y último día y sus canjes. Un cambio de precio aparece como un periodo nuevo, así que el antes y el después se leen periodo a periodo. connected=false significa que ninguno de los dos webhooks está conectado.

Scope
revenue:read
Créditos
1
Plan
Pro
ParámetroUbicaciónTipoDescripción
countryquerystringcódigo de país de dos letras para limitarlo a una tienda
productquerystringid de producto de la tienda para limitarlo a un producto

También admite: appId (obligatorio)

curl "https://storelift.net/v1/apps/sbx-lumen/pricing?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/country-prices

Precios por país de uno de los productos de la app, leídos de App Store Connect / Google Play (Pro): por país, el precio local, su valor en USD y su índice (EE. UU. = 100), si sigue siendo el precio automático de Apple (o de Google), la mediana de los competidores que localizan sus precios (multiplicador frente al precio automático de Apple, con el número de competidores) y la diferencia en porcentaje, además de un precio sugerido redondeado a un precio atractivo con su motivo (mediana de competidores o tramo de renta). Los competidores son los competidores manuales de iOS de la app; un país necesita al menos 3 para compararse. summary cuenta los países con precio por encima y por debajo de los competidores y los que siguen con el precio automático. state es not_connected, pending (la primera lectura aún no ha terminado), permission (el rol de la clave no puede leer precios), no_products u ok. products enumera los demás productos; envíe product para cambiar.

Scope
revenue:read
Créditos
1
Plan
Pro
ParámetroUbicaciónTipoDescripción
countryquerystringcódigo de país de dos letras para devolver una sola fila
productquerystringid de producto o SKU (por defecto, el primer producto)

También admite: appId (obligatorio)

curl "https://storelift.net/v1/apps/sbx-lumen/country-prices?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/change-impact

Qué efecto tuvo un cambio: para un día de cambio (una nueva versión, capturas de pantalla, subtítulo, campo de palabras clave, el inicio de una campaña; por defecto, el último cambio en la cronología de la ficha) compara el mismo número de días antes y después, lado a lado: posiciones de palabras clave (subieron/bajaron/entraron/salieron y los movimientos más grandes), el embudo de App Store (impresiones, visitas a la página, descargas por día y tasas de conversión), las descargas del informe de ventas, y los ingresos por suscripciones y los inicios de prueba y de pago por día, cada uno con la variación en porcentaje. El día del cambio queda fuera de ambos periodos. complete=false significa que el periodo posterior sigue en curso. recentChanges enumera los últimos días de cambio para elegir otro.

Scope
revenue:read
Créditos
1
Plan
Pro
ParámetroUbicaciónTipoDescripción
countryquerystringcódigo de país para las posiciones y la cronología de la ficha (por defecto, el primer país de la app)
dayquerystringdía del cambio YYYY-MM-DD (por defecto, el último cambio)
windowqueryintegerdías a cada lado, 3–30 (7 por defecto)

También admite: appId (obligatorio)

curl "https://storelift.net/v1/apps/sbx-lumen/change-impact?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"