Navigate to appstoreconnect.apple.com and sign in with your Apple ID that has the Account Holder or Admin role. API key management requires elevated privileges—standard developer accounts cannot create or manage keys.
App Store Connect
How to Create App Store Connect API Keys
Step-by-step guide to generating App Store Connect API keys. Learn how to create, download, and configure .p8 keys for automation and third-party tool integration.
Sign in to App Store Connect
Tip: If you use multiple Apple accounts, double-check you are signed into the correct organization before proceeding.
Navigate to Users and Access
From the App Store Connect homepage, click Users and Access in the left sidebar. This section manages team members, roles, and API integrations for your organization.
Open the Integrations tab
Within Users and Access, click the Integrations tab at the top of the page. You will see sub-tabs for different integration types. Select App Store Connect API to view and manage your API keys.
Generate a new API key
Click the + (plus) button to create a new key. You will be prompted to enter a Name for the key (e.g., "AppDrift Integration") and select the Access level. Choose the appropriate role:
- Admin — Full access to all resources including user management
- App Manager — Manage app metadata, pricing, and availability
- Developer — Upload builds and manage TestFlight
- Marketing — Read-only access to analytics
For tools like AppDrift that need to push metadata updates and manage screenshots, the App Manager role is recommended.
Tip: Use descriptive key names so you can identify which service uses each key later.
Download the .p8 private key file
After generating the key, a Download API Key button appears. Click it to download the .p8 file. This is your only opportunity to download this file—Apple does not store the private key and you cannot download it again. Store the file securely (e.g., in a password manager or encrypted storage).
Tip: Never commit your .p8 file to version control. Add *.p8 to your .gitignore immediately.
Note the Key ID and Issuer ID
On the same page, Apple displays the Key ID (a 10-character alphanumeric string) and the Issuer ID (a UUID shown at the top of the keys list). Copy both values—you will need them alongside the .p8 file to authenticate API requests.
Configure your integration tool
Provide your Key ID, Issuer ID, and .p8 file to the service or tool you are integrating. In AppDrift's Apple setup, paste these credentials in the dashboard to enable automated metadata publishing, screenshot management, and one-click store publishing.
Common Errors & Solutions
"Download API Key" button is gone after navigating away
Solution: Apple only lets you download the .p8 file once, immediately after creation. If you missed it, revoke the key and generate a new one.
403 Forbidden when calling the API
Solution: Verify the role assigned to the key has sufficient permissions for your API call. An App Manager key cannot manage users, and a Developer key cannot update metadata.
JWT token expired or invalid signature
Solution: API tokens are only valid for 20 minutes. Ensure your system clock is synced (NTP) and that you are regenerating the JWT before expiry. Double-check the Key ID and Issuer ID match.
Related
Related Guides
App Store Connect Screenshot Requirements for All Devices
Complete reference for App Store screenshot dimensions, formats, and counts for every supported device size. Includes iPhone, iPad, Apple Watch, and Apple TV requirements.
Read guideHow to Use the App Store 100-Character Keyword Field
Master the hidden 100-character keyword field in App Store Connect. Learn formatting rules, optimization strategies, and common mistakes that cost you rankings.
Read guideHow to Write App Store Promotional Text
Learn how to use the 170-character promotional text field in App Store Connect. Update it anytime without App Review to promote features, sales, and seasonal campaigns.
Read guideFrequently Asked Questions
Automate this with AppDrift
Skip the manual work
AppDrift connects to your App Store Connect account to automate metadata publishing, screenshot management, and localization across 40+ languages. Set up once, publish everywhere.