Command-line access to the App Store Connect API for iOS, macOS, tvOS, and visionOS release work
<p className="text-lg sm:text-xl text-gray-300 mb-8 max-w-2xl">
Run App Store Connect tasks from your terminal, IDE, or CI/CD pipeline. Manage TestFlight, builds, submissions, signing, analytics, and more.
</p>
<div className="flex flex-wrap gap-4">
<a href="/quickstart" className="inline-flex items-center px-6 py-3 rounded-lg font-semibold transition-colors bg-[#8c8c8d] text-white hover:bg-[#7a7a7b]">
Get Started
</a>
<a href="/commands/overview" className="inline-flex items-center px-6 py-3 rounded-lg font-semibold transition-colors border border-white/30 bg-white/10 text-white hover:bg-white/20">
Command Reference
</a>
</div>
</div>
<div className="lg:col-span-5 hidden lg:block">
<div className="dark:bg-[#1a1d27] bg-white rounded-2xl border dark:border-[#27272a] border-gray-200 p-6 shadow-2xl">
<div className="font-mono text-sm">
<div className="text-gray-400 dark:text-gray-500 mb-2">\$ asc apps list</div>
<div className="text-green-400 mb-4">OK Authenticated as MyApp</div>
<div className="space-y-2 text-gray-300 dark:text-gray-400">
<div>iOS My iOS App (123456789)</div>
<div>macOS My macOS App (987654321)</div>
<div>tvOS My tvOS App (456789123)</div>
</div>
<div className="mt-4 text-gray-400 dark:text-gray-500">\$ asc builds upload --app 123456789</div>
<div className="text-green-400 mt-2">OK Build uploaded successfully</div>
</div>
</div>
</div>
</div>
</div>
<p className="text-base dark:text-gray-400 text-gray-600 mb-8">
Get up and running with the App Store Connect CLI in minutes
</p>
<Steps>
<Step title="Install the CLI">
Install via Homebrew (recommended) or use the install script:
```bash Homebrew theme={null}
brew install asc
```
```bash Install Script theme={null}
curl -fsSL https://asccli.sh/install | bash
```
</Step>
<Step title="Authenticate with your API key">
Generate an API key from [App Store Connect](https://appstoreconnect.apple.com/access/integrations/api) and authenticate:
```bash theme={null}
asc auth login \
--name "MyApp" \
--key-id "ABC123" \
--issuer-id "DEF456" \
--private-key /path/to/AuthKey.p8
```
<Note>
Your credentials are securely stored in the system keychain with config/env fallback.
</Note>
</Step>
<Step title="Run your first command">
List your apps to verify authentication:
```bash theme={null}
asc apps list --output table
```
<Accordion title="Example output">
```
ID NAME BUNDLE ID
123456789 My iOS App com.example.myapp
987654321 My macOS App com.example.macapp
```
</Accordion>
</Step>
</Steps>
<p className="text-base dark:text-gray-400 text-gray-600 mb-8">
Guides for the main parts of shipping and maintaining your apps
</p>
<CardGroup cols={2}>
<Card title="TestFlight distribution" icon="plane" href="/guides/testflight">
Manage builds, beta testers, feedback, and crash reports
</Card>
<Card title="App Store submission" icon="rocket" href="/guides/app-store-submission">
Validate, submit, and automate your App Store release process
</Card>
<Card title="Code signing" icon="key" href="/guides/code-signing">
Manage certificates, provisioning profiles, and bundle IDs
</Card>
<Card title="Metadata management" icon="pen-to-square" href="/guides/metadata-management">
Update app info, localizations, screenshots, and preview videos
</Card>
<Card title="Analytics & reports" icon="chart-line" href="/guides/analytics-reports">
Download analytics, financial reports, and performance metrics
</Card>
<Card title="CI/CD integration" icon="code-branch" href="/cicd/overview">
Integrate with GitHub Actions, GitLab CI, Bitrise, and CircleCI
</Card>
</CardGroup>
<p className="text-base dark:text-gray-400 text-gray-600 mb-8">
Browse all available commands organized by category
</p>
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<a href="/commands/apps" className="group block rounded-2xl border dark:border-[#27272a] border-gray-200 dark:bg-[#1a1d27] bg-white p-6 transition-colors hover:dark:border-[#8c8c8d] hover:border-[#8c8c8d] no-underline">
<div className="flex items-start gap-4">
<div className="inline-flex min-w-14 justify-center rounded-full border border-[#8c8c8d]/40 px-3 py-1 text-xs font-semibold uppercase tracking-[0.2em] text-[#8c8c8d]">Apps</div>
<div>
<h3 className="text-base font-semibold dark:text-white text-gray-900 mb-2">App Management</h3>
<p className="text-sm dark:text-gray-400 text-gray-600 mb-3">Manage apps, versions, localizations, pricing, and categories</p>
<div className="flex items-center text-sm font-medium group-hover:text-[#8c8c8d] dark:text-gray-300 text-gray-700">
View commands
<svg className="ml-1 w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
</svg>
</div>
</div>
</div>
</a>
<a href="/commands/testflight" className="group block rounded-2xl border dark:border-[#27272a] border-gray-200 dark:bg-[#1a1d27] bg-white p-6 transition-colors hover:dark:border-[#8c8c8d] hover:border-[#8c8c8d] no-underline">
<div className="flex items-start gap-4">
<div className="inline-flex min-w-14 justify-center rounded-full border border-[#8c8c8d]/40 px-3 py-1 text-xs font-semibold uppercase tracking-[0.2em] text-[#8c8c8d]">Test</div>
<div>
<h3 className="text-base font-semibold dark:text-white text-gray-900 mb-2">TestFlight & Builds</h3>
<p className="text-sm dark:text-gray-400 text-gray-600 mb-3">Upload builds, manage testers, view feedback and crashes</p>
<div className="flex items-center text-sm font-medium group-hover:text-[#8c8c8d] dark:text-gray-300 text-gray-700">
View commands
<svg className="ml-1 w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
</svg>
</div>
</div>
</div>
</a>
<a href="/commands/signing" className="group block rounded-2xl border dark:border-[#27272a] border-gray-200 dark:bg-[#1a1d27] bg-white p-6 transition-colors hover:dark:border-[#8c8c8d] hover:border-[#8c8c8d] no-underline">
<div className="flex items-start gap-4">
<div className="inline-flex min-w-14 justify-center rounded-full border border-[#8c8c8d]/40 px-3 py-1 text-xs font-semibold uppercase tracking-[0.2em] text-[#8c8c8d]">Sign</div>
<div>
<h3 className="text-base font-semibold dark:text-white text-gray-900 mb-2">Code Signing</h3>
<p className="text-sm dark:text-gray-400 text-gray-600 mb-3">Manage certificates, provisioning profiles, and bundle IDs</p>
<div className="flex items-center text-sm font-medium group-hover:text-[#8c8c8d] dark:text-gray-300 text-gray-700">
View commands
<svg className="ml-1 w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
</svg>
</div>
</div>
</div>
</a>
<a href="/commands/workflow" className="group block rounded-2xl border dark:border-[#27272a] border-gray-200 dark:bg-[#1a1d27] bg-white p-6 transition-colors hover:dark:border-[#8c8c8d] hover:border-[#8c8c8d] no-underline">
<div className="flex items-start gap-4">
<div className="inline-flex min-w-14 justify-center rounded-full border border-[#8c8c8d]/40 px-3 py-1 text-xs font-semibold uppercase tracking-[0.2em] text-[#8c8c8d]">Auto</div>
<div>
<h3 className="text-base font-semibold dark:text-white text-gray-900 mb-2">Automation</h3>
<p className="text-sm dark:text-gray-400 text-gray-600 mb-3">Run workflows, webhooks, Xcode Cloud, and notifications</p>
<div className="flex items-center text-sm font-medium group-hover:text-[#8c8c8d] dark:text-gray-300 text-gray-700">
View commands
<svg className="ml-1 w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
</svg>
</div>
</div>
</div>
</a>
</div>
<p className="text-base dark:text-gray-400 text-gray-600 mb-8">
Reference pages, troubleshooting notes, and project docs
</p>
<CardGroup cols={3}>
<Card title="Troubleshooting" icon="wrench" href="/resources/troubleshooting">
Common issues and solutions
</Card>
<Card title="FAQ" icon="circle-question" href="/resources/faq">
Frequently asked questions
</Card>
<Card title="Contributing" icon="code-pull-request" href="/resources/contributing">
Contribute to the project
</Card>
</CardGroup>
<p className="text-base dark:text-gray-400 text-gray-600 mb-8 max-w-2xl mx-auto">
Set up the CLI and run your first App Store Connect command.
</p>
<a href="/quickstart" className="inline-flex items-center px-6 py-3 rounded-lg font-semibold transition-colors bg-[#8c8c8d] text-white hover:bg-[#7a7a7b]">
Get Started
</a>
</div>