Connect App Store Connect
Create an App Store Connect API key, add it to RevenueHog, run the first sync, wire Apple server notifications and verify it, with every field and error.
RevenueHog authenticates to Apple with an App Store Connect API key. One key runs everything: app import, revenue reports and server-notification auto-wiring. No SDK is required.
Create the key
Generate it
In App Store Connect, open Users and Access → Integrations → App Store Connect API and generate a key. Sales or Finance is enough to read every revenue number. Broader roles unlock more; API key roles maps each one, and RevenueHog detects what your key can do automatically.
Download the .p8
Download the .p8 private key file. Apple lets you download it once, so keep it somewhere safe.
Note the IDs
The Issuer ID is at the top of the Integrations page. The Key ID is next to the key you created.
Find your Vendor Number
App Store Connect → Payments and Financial Reports. It is the number Apple files your sales reports under. Without it, revenue and subscription history cannot be pulled at all; everything else still works.
Save in RevenueHog
Open Settings → Connections → APP STORE CONNECT (or the setup wizard), fill in the four values and press Save & sync →. Saving immediately starts a sync.
Read-only works. Write is optional.
A read-only sales key powers revenue, subscribers, trials, the funnel and the live feed. The single thing it cannot do is set your server-notification URL for you. Give the key the App Manager role and RevenueHog wires each app in one step; keep it read-only and you paste one URL per app into App Store Connect instead, losing nothing but the shortcut. If a read-only key is used, auto-wiring reports that specifically rather than failing as a bad key.
Fields
| Field | Format | Hint shown |
|---|---|---|
| issuer id | UUID | "The UUID shown at the top of the API keys page." |
| key id | 10 letters and numbers | "The 10-character ID listed next to your key." |
| vendor number | Digits | "Required for sales and revenue reports: App Store Connect → Payments and Financial Reports." |
.p8 | PKCS#8 ES256 private key | "Role needed: Sales or Finance is enough to read revenue." |
The key is stored encrypted with AES-256-GCM, scoped to your workspace, and never shown again. Once saved, the card shows key id, added and issuer id, and the vendor number can be changed on its own with Save vendor number. To edit IDs without re-uploading, save without a file; the stored key is kept.
Errors
| Message | Fix |
|---|---|
| That doesn't look like an Issuer ID. It should be a UUID. | Copy the Issuer ID from the top of the Integrations page. |
| Key IDs are 10 characters (letters and numbers). | Copy the Key ID column, not the key name. |
| Vendor numbers are digits only. | Remove spaces or letters. |
| That isn't a .p8 file. Download the API key from App Store Connect. | Choose the downloaded AuthKey_XXXX.p8. |
| That file is too large to be a .p8 key. | You picked another file. |
| That file isn't a valid .p8 private key (PKCS#8 ES256). | The file is damaged or not an App Store Connect key. |
| Upload your .p8 private key file. | No key is stored yet, so a file is required. |
| Issuer ID and Key ID are required. | Fill both fields. |
Run your first sync
Saving starts a sync that discovers your apps and pulls 14 days of daily sales, developer proceeds and subscription reports. The first sync can take a minute. When it finishes, your apps, net revenue and unit counts appear on the overview. A sync then runs every day; saving credentials again also starts one. Older history is pulled on demand when you pick an older date range.
Non-USD revenue is converted to USD with daily ECB reference rates for each sale's date; a row is flagged estimated only when no published rate is available. See Currency conversion.
Wire server notifications
Daily syncs cover revenue. To see subscription lifecycle events (new subscriptions, renewals, cancellations, billing issues) the moment they happen, point Apple's App Store Server Notifications V2 at RevenueHog. Each app has its own ingest URL on its app page.
Copy the ingest URL
Open Apps → your app and copy the APPLE INGEST URL with Copy ingest URL.
Set it in App Store Connect
Set that URL as the App Store Server Notifications V2 endpoint for both the Production and Sandbox environments.
Keep your own server
If you already send notifications to your own server, add that endpoint under FORWARDING ENDPOINTS. RevenueHog verifies each notification and forwards Apple's verbatim signed payload to you.
Or let RevenueHog do it: S2S CONFIGURATION on the app page reads what App Store Connect currently posts to and re-points it, saving your existing endpoint as a forward. This is free for every app. Full details are in Server notifications.
Verify the connection
Open the app page and check recent activity: each notification Apple sends shows up with its type and environment, and forwards show their delivery status. S2S CONFIGURATION reports whether App Store Connect points at RevenueHog. Live events stream into the live feed, and subscription activity rolls up on metrics.
No events yet?
Apple only sends notifications when something happens. To force one, make a Sandbox purchase in your app, or press Send sandbox test or Send production test on the app page.
Remove the key
Press remove on the card, then Confirm remove. The stored copy is deleted. Imported data stays. If removal fails you see "Couldn't remove the key. Try again in a moment."
Auto-connect new apps
AUTO-CONNECT NEW APPS controls what happens when a sync finds an app you did not have before. On, it is wired automatically (Apple's notifications point at RevenueHog, the previous URL kept as a forward). Off, you get a notification asking first and nothing is touched until you confirm. The very first import never announces your back catalog.
Related
Last updated on
Data sources
Every source RevenueHog reads: App Store Connect, Apple server notifications, Google Play, Stripe and Apple Ads, with what each one needs and provides.
API key roles
What each App Store Connect API key role unlocks in RevenueHog, how the capability sweep detects it, and how to read the KEY CAPABILITIES matrix in Settings.