App Store Connect API Key Setup
Follow these steps to generate an App Store Connect API key (.p8) for PricePush
Open App Store Connect
Go to Users and Access
Sign in with the Apple account that has access to your App Store Connect team.
Enable API access (one time)
- Go to: Users and Access → Integrations (top tab) → App Store Connect API
- If you see "Request Access", click it, accept the terms, and submit.
- If you already see "Keys", API access is already enabled.
Create the API key (.p8)
- Users and Access → Integrations (top tab) → Keys (left menu) → App Store Connect API
- Click the "+" button to create a new key
- Enter a name (e.g. "pricepush-api-key")
- Set access level to App Manager (sufficient for managing pricing)
- Click "Generate"
- Find the new key in the list and click "Download" (you can only download it once).
App Manager is the lowest access level Apple offers that can reach the pricing API. Apple does not offer a pricing-only key, so this is the floor rather than a preference.
Collect these four values
PricePush asks for these on the connect screen. Here is where each one lives:
- The .p8 file contentsDownloaded when you generate the key. Apple only lets you download it once.
- Key IDShown next to the key in the Keys list.
- Issuer IDShown at the top of the Keys page.
- Bundle IDApps → select your app → App Information.
Not the Account Holder?
Send this to whoever holds the account. It walks them through the same steps and lists exactly what to send back.
Hi! Could you help me connect PricePush to our App Store Connect account? We need App Store Connect API access enabled and an API key (.p8) generated. Open App Store Connect (Users and Access): https://appstoreconnect.apple.com/access/users 1) Enable API access (Account Holder only): Users and Access → Integrations (top tab) → App Store Connect API - If you see "Request Access", click it, accept the terms, and submit. - If you already see the "Keys" section, API access is already enabled. 2) Create and share an API key (.p8): Users and Access → Integrations (top tab) → Keys (left menu) → App Store Connect API - Create a new key with the App Manager access level. - Download the .p8 file (Apple only lets you download it once). Please share with me: - The .p8 contents (private key) - Key ID - Issuer ID - Our app Bundle ID Thanks!
PricePush can draft this for you inside the app too, with a copy button and a pre-filled email.
Troubleshooting
Permission error (403)
The API key does not have sufficient permissions. In App Store Connect, go to Users and Access → Integrations → Keys, and check the key has the App Manager access level.
Note: Only the Account Holder can enable API access in the first place. If that is not you, step 5 above has an email you can send.
Authentication error (401)
The .p8 key is invalid, expired, or revoked. Check the key still exists in App Store Connect under Users and Access → Integrations → Keys. If it is gone, generate a new one.
API access not enabled
App Store Connect API access has to be switched on before any key works. Go to Users and Access → Integrations → App Store Connect API. If you see "Request Access", click it and follow the prompts.
Note: This is Account Holder only, and it is a one-time step.
Invalid .p8 key
The key contents are incomplete. Copy the whole file, including the -----BEGIN PRIVATE KEY----- header, all the encoded content, and the -----END PRIVATE KEY----- footer.
Note: Apple only lets you download the .p8 once. If you lost it, generate a new key rather than hunting for the old file.
Key ID or Issuer ID mismatch
Under Users and Access → Integrations → Keys, the Key ID is shown next to the key name and the Issuer ID is at the top of the page. Check for extra spaces picked up while copying.
Bundle ID not found
The Bundle ID does not match any app on your account. It is case-sensitive, and it has to match exactly what is under Apps → your app → App Information.
Still stuck? PricePush shows the exact error from Apple on the connect screen, and the same troubleshooting list is built into it.
Got your key? Put it to work.
Paste it into PricePush and it reads your products with their current per-country prices. From there a price update is two clicks: one to localize, one to push.
Setting up Google Play instead? Follow the Google Play guide.