App Store Connect integration · Beta

App Store MRR and churn, straight from Apple, for every iOS app

Not every app runs through RevenueCat. SoulStack reads Apple's daily subscription reports for each app, works out MRR and churn, and puts your iOS apps next to the rest of your stack.

This connector is in beta. It follows App Store Connect's documentation and is new, so if a number looks off, tell us and we'll fix it fast.

What SoulStack reads from App Store Connect

  • MRR from Apple's daily Subscription report: paying subscriptions at the price the customer pays, before Apple's cut. Weekly plans count as 52 weeks over 12 months, yearly plans as a twelfth
  • Free trials don't count. Pay up front and pay as you go offers count once they move to the standard price, since Apple's report doesn't give their offer price
  • Prices in other currencies are converted to US dollars at that day's European Central Bank rate. A currency without a rate is left out, and the connection says what share that was
  • Churn rate over the last 30 days, from the Subscription Event report: paid subscriptions that ended, over those paying now plus those that ended
  • Only the app you name by its Apple ID, even when one account holds several apps

How it feeds your health score and alerts

MRR growth and churn make up more than half of each app's health score, and an MRR drop or churn above your limit opens an alert. If the app also has RevenueCat connected, App Store MRR isn't added again, since RevenueCat already counts it. Churn still comes from Apple, since RevenueCat doesn't give it.

Access it needs

A Team API key with the Sales role (Finance works too), its issuer ID, key ID and .p8 file, your vendor number, and the app's Apple ID. SoulStack only downloads sales reports with it.

Connect App Store Connect in a few minutes

  1. In App Store Connect, open Users and Access → Integrations → App Store Connect API, and make a Team key with the Sales role.
  2. Download the .p8 file. Apple only lets you download it once.
  3. Copy the issuer ID and key ID from the same page, your vendor number from Payments and Financial Reports, and the app's Apple ID from App Information.
  4. Paste them into SoulStack when you connect App Store Connect to an app. SoulStack then reads the last 90 days of reports.

Syncs every 6 hours, plus whenever you press Sync now. Apple publishes each day's report the next day, usually by 8 a.m. Pacific time, so figures run a day behind.

Questions

Should I connect App Store Connect if I use RevenueCat?
You don't need to. RevenueCat already counts App Store sales, so when both are connected SoulStack uses RevenueCat's MRR and leaves Apple's out rather than adding it twice. Connecting both still adds churn from Apple.
Does it read my customers' details?
No. Apple's summary reports hold counts and prices per subscription, not people.
Why is today missing?
Apple only publishes a day's report the next day. SoulStack reads up to yesterday, Pacific time, and fills in each day once Apple has it.

Works well with

Stripe, RevenueCat, Google Play, PostHog, Sentry, OpenAI, Anthropic, OpenRouter, Vercel and Supabase. Each one adds another part of the health score, so the more you connect, the more of the picture SoulStack can see.

See which app needs you first.

Free for 1 app. No card needed.

Start free
PACHIFUNK OÜ · Tornimäe tn 5, Tallinn, Harju maakond, 10145, Estonia