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é.
| Paramètre | Emplacement | Type | Description |
|---|---|---|---|
days | query | integer | nombre 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"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é.
| Paramètre | Emplacement | Type | Description |
|---|---|---|---|
days | query | integer | fenê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"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é.
| Paramètre | Emplacement | Type | Description |
|---|---|---|---|
days | query | integer | fenê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"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é.
Accepte aussi: appId (obligatoire)
curl "https://storelift.net/v1/apps/sbx-lumen/campaigns" \
-H "Authorization: Bearer $STORELIFT_API_KEY"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é.
| Paramètre | Emplacement | Type | Description |
|---|---|---|---|
country | query | string | code pays pour la colonne de position organique (par défaut, le premier pays de l’app) |
campaign | query | string | identifiant 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é.
| Paramètre | Emplacement | Type | Description |
|---|---|---|---|
country | query | string | code pays pour la colonne de position organique (par défaut, le premier pays de l’app) |
campaign | query | string | identifiant 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.
| Paramètre | Emplacement | Type | Description |
|---|---|---|---|
id | query | string | identifiant 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é.
| Paramètre | Emplacement | Type | Description |
|---|---|---|---|
terms | query | string | termes supplémentaires à rechercher, séparés par des virgules, jusqu’à 50 |
limit | query | number | principaux 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é.
| Paramètre | Emplacement | Type | Description |
|---|---|---|---|
country | query | string | code pays à deux lettres pour se limiter à un pays |
product | query | string | identifiant 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.
| Paramètre | Emplacement | Type | Description |
|---|---|---|---|
country | query | string | code pays à deux lettres pour renvoyer une seule ligne |
product | query | string | identifiant 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.
| Paramètre | Emplacement | Type | Description |
|---|---|---|---|
country | query | string | code pays pour les positions et la chronologie de la fiche (par défaut, le premier pays de l’app) |
day | query | string | jour de modification YYYY-MM-DD (par défaut, la dernière modification) |
window | query | integer | jours 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"