Documentation développeur › Référence de l'API

Endpoints Revenus et Apple Ads

Les sources connectées par app : revenus, événements d'abonnement, entonnoir de l'App Store, prix et codes d'offre, l'avant/après d'un changement, ainsi que les campagnes, mots-clés, termes de recherche et commandes Apple Ads. Scopes revenue:read et ads:read.

Authentification · Crédits · Paramètres communs · Codes d'erreur · openapi.json

GET /apps/{appId}/revenue

Revenus et téléchargements d’une app à partir des sources connectées par l’utilisateur : unités quotidiennes par pays d’App Store Connect, installations quotidiennes de Google Play, et, depuis RevenueCat, MRR, revenus sur 28 jours, abonnements actifs et essais, avec la ventilation des mouvements du MRR. connected=false signifie qu’aucune source n’est connectée ; measured=false que les sources ne contiennent aucune ligne pour cette app. Rien ici n’est estimé.

Scope
revenue:read
Crédits
1
Plan
Pro
ParamètreEmplacementTypeDescription
daysqueryintegernombre de jours de séries quotidiennes à renvoyer, 1–365 (90 par défaut)

Accepte aussi: appId (obligatoire)

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

Ouvrir dans la sandbox

Exemple de réponse

GET /apps/{appId}/subscriptions

Nombre d’événements d’abonnement d’une app issus du webhook RevenueCat / Adapty : par jour et par pays — débuts d’essai, essais convertis, premiers paiements, renouvellements, annulations, remboursements, problèmes de paiement et revenus — plus les cohortes mensuelles (utilisateurs, payeurs). Les décomptes portent sur des événements, pas sur des utilisateurs. connected=false signifie qu’aucun webhook n’est connecté.

Scope
revenue:read
Crédits
1
Plan
Pro
ParamètreEmplacementTypeDescription
daysqueryintegerfenêtre en jours, 1–365 (90 par défaut)

Accepte aussi: appId (obligatoire)

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

Ouvrir dans la sandbox

Exemple de réponse

GET /apps/{appId}/funnel

L’entonnoir de conversion App Store d’une app d’après les statistiques d’App Store Connect : impressions → vues de la page produit → téléchargements, le point du jour plus l’historique jour par jour, avec les ventilations par source de trafic et par page produit personnalisée lorsque Apple les fournit. Google Play n’a pas d’équivalent ici. connected=false signifie qu’App Store Connect n’est pas connecté.

Scope
revenue:read
Crédits
1
Plan
Pro
ParamètreEmplacementTypeDescription
daysqueryintegerfenêtre d’historique en jours, 1–365 (90 par défaut)

Accepte aussi: appId (obligatoire)

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

Ouvrir dans la sandbox

Exemple de réponse

GET /apps/{appId}/campaigns

Campagnes Apple Ads qui font la promotion d’une app (associées par l’identifiant App Store de l’app, pas par son nom) : dépenses, impressions, touchers, installations, budget et état de diffusion par campagne sur les 28 derniers jours, les totaux, et les principaux mots-clés et termes de recherche par dépenses. Les dépenses sont dans la devise du compte (currency). connected=false signifie qu’Apple Ads n’est pas connecté.

Scope
ads:read
Crédits
1
Plan
Pro

Accepte aussi: appId (obligatoire)

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

Ouvrir dans la sandbox

Exemple de réponse

GET /apps/{appId}/ads-keywords

Tous les mots-clés Apple Ads achetés pour une app dans l’ensemble de ses campagnes (28 derniers jours), par dépenses : enchère, type de correspondance, groupe d’annonces, dépenses, impressions, touchers, installations, taux de toucher, taux de conversion, coût par toucher et coût par installation, avec à côté la position organique de l’app pour le même mot dans le pays (tracked:false quand le mot n’est pas suivi). Passez campaign pour vous limiter à une campagne. connected=false signifie qu’Apple Ads n’est pas connecté.

Scope
ads:read
Crédits
1
Plan
Pro
ParamètreEmplacementTypeDescription
countryquerystringcode pays pour la colonne de position organique (par défaut, le premier pays de l’app)
campaignquerystringidentifiant de campagne pour se limiter à une campagne

Accepte aussi: appId (obligatoire)

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

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

Les recherches que les gens ont réellement tapées et qui ont déclenché les annonces Apple Ads de l’app (28 derniers jours), par dépenses : le terme de recherche, le mot-clé et le type de correspondance qui l’ont capté, dépenses, touchers, installations, coût par toucher et par installation, et en regard la position organique de l’app pour cette recherche dans le pays — la liste des recherches à ajouter comme mots-clés, à ajouter comme mots-clés à exclure, ou à cesser de payer parce que l’app y est déjà classée. Les termes qu’Apple masque pour faible volume sont additionnés sous hidden. connected=false signifie qu’Apple Ads n’est pas connecté.

Scope
ads:read
Crédits
1
Plan
Pro
ParamètreEmplacementTypeDescription
countryquerystringcode pays pour la colonne de position organique (par défaut, le premier pays de l’app)
campaignquerystringidentifiant de campagne pour se limiter à une campagne

Accepte aussi: appId (obligatoire)

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

GET /apps/{appId}/ads-commands

Commandes Apple Ads pour les campagnes d’une app — depuis le tableau de bord, les règles d’automatisation et confirm_action — de la plus récente à la plus ancienne, chacune avec son état : queued, applying, applied, failed ou unknown (l’envoi a été interrompu et a pu atteindre Apple ou non — vérifiez dans Apple Ads avant de le renvoyer), le moment où elle s’est terminée, l’erreur éventuelle et l’annulation qu’elle porte. Passez id pour une seule commande.

Scope
ads:read
Crédits
1
Plan
Pro
ParamètreEmplacementTypeDescription
idquerystringidentifiant de commande, tel que renvoyé dans la liste, pour une seule commande

Accepte aussi: appId (obligatoire)

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

GET /apps/{appId}/search-popularity

La popularité de recherche d’Apple elle-même, depuis le compte Apple Ads connecté à cet espace de travail : les termes les plus recherchés dans le pays pour la catégorie de l’app (hebdomadaire, dans l’ordre d’Apple), chacun avec son rang dans la catégorie et sa popularité 1-100 (dans la catégorie et dans tout le pays) et 1-5 (l’échelle Apple Ads), plus chaque mot-clé suivi marqué inTopTerms true ou false. Passez terms pour vérifier d’autres mots. connected=false signifie qu’Apple Ads n’est pas connecté.

Scope
ads:read
Crédits
1
Plan
Pro
ParamètreEmplacementTypeDescription
termsquerystringtermes supplémentaires à rechercher, séparés par des virgules, jusqu’à 50
limitquerynumberprincipaux termes à renvoyer, jusqu’à 200 (50 par défaut)

Accepte aussi: appId (obligatoire) · country

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

GET /apps/{appId}/pricing

Prix des produits et codes d’offre d’une app issus du webhook RevenueCat ou Adapty, sur les 365 derniers jours : par produit et par pays, le prix en vigueur (devise, prix local, depuis quand) et chaque période à prix fixe avec ses débuts d’essai, nouveaux abonnements payants, essais convertis et revenus, plus chaque code d’offre avec son premier et son dernier jour et ses utilisations. Un changement de prix apparaît comme une nouvelle période ; l’avant/après se lit donc période par période. connected=false signifie qu’aucun des deux webhooks n’est connecté.

Scope
revenue:read
Crédits
1
Plan
Pro
ParamètreEmplacementTypeDescription
countryquerystringcode pays à deux lettres pour se limiter à un pays
productquerystringidentifiant de produit du store pour se limiter à un produit

Accepte aussi: appId (obligatoire)

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

GET /apps/{appId}/country-prices

Prix par pays pour l’un des produits de l’app, lus dans App Store Connect / Google Play (Pro) : par pays, le prix local, sa valeur en USD et son indice (États-Unis = 100), s’il s’agit encore du prix automatique d’Apple (ou de Google), la médiane des concurrents qui localisent leurs prix (multiplicateur par rapport au prix automatique d’Apple, avec le nombre de concurrents) et l’écart en pourcentage, plus un prix suggéré arrondi à un palier de prix attractif avec sa raison (médiane des concurrents ou tranche de revenu). Les concurrents sont les concurrents iOS ajoutés manuellement à l’app ; un pays en nécessite au moins 3 pour être comparé. summary compte les pays dont le prix est au-dessus et au-dessous des concurrents et ceux encore au prix automatique. state vaut not_connected, pending (la première lecture n’est pas encore faite), permission (le rôle de la clé ne peut pas lire les prix), no_products ou ok. products liste les autres produits ; passez product pour en changer.

Scope
revenue:read
Crédits
1
Plan
Pro
ParamètreEmplacementTypeDescription
countryquerystringcode pays à deux lettres pour renvoyer une seule ligne
productquerystringidentifiant de produit ou SKU (par défaut, le premier produit)

Accepte aussi: appId (obligatoire)

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

GET /apps/{appId}/change-impact

Ce qu’une modification a produit : pour un jour de modification (nouvelle version, captures d’écran, sous-titre, champ de mots-clés, lancement de campagne — par défaut, la dernière modification de la chronologie de la fiche), compare côte à côte le même nombre de jours avant et après : positions des mots-clés (hausse/baisse/entrée/sortie et les plus grands mouvements), l’entonnoir App Store (impressions, vues de page, téléchargements par jour et taux de conversion), les téléchargements du rapport de ventes, et les revenus d’abonnement et débuts d’essai/premiers paiements par jour, chacun avec la variation en pourcentage. Le jour de la modification lui-même est exclu des deux fenêtres. complete=false signifie que la fenêtre d’après est encore en cours. recentChanges liste les derniers jours de modification pour en choisir un autre.

Scope
revenue:read
Crédits
1
Plan
Pro
ParamètreEmplacementTypeDescription
countryquerystringcode pays pour les positions et la chronologie de la fiche (par défaut, le premier pays de l’app)
dayquerystringjour de modification YYYY-MM-DD (par défaut, la dernière modification)
windowqueryintegerjours de chaque côté, 3–30 (7 par défaut)

Accepte aussi: appId (obligatoire)

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