Download App Store app packages from the command line for analysis, archiving, or device-side research.

11,974
1,048
Go
MIT
5 years old

ipatool is worth a look if you specifically need App Store package files on a machine, not on a phone. It is a narrow utility: useful, but built around an Apple Account and Apple's licensing flow.

The problem

A developer, security researcher, or archival-minded user wants the actual .ipa or macOS .pkg for an app. The normal path runs through a device: install the app, then hunt for a decrypted or cached package, which is awkward on a laptop or in a headless environment. ipatool changes the step by making search, purchase, version listing, and download terminal commands that produce package files directly. The result is a repeatable way to obtain and inspect app artifacts without a phone in the loop.

What's different

Rather than wrapping an unofficial app-index website, ipatool talks to the App Store using an authenticated Apple Account. You sign in once, search for the app, obtain a license if you do not already own it, choose a version, and download the package. Individual subcommands keep each step visible, and --format json makes the output suitable for scripts rather than only interactive use. The README also exposes an MCP server mode, so an MCP-capable client can call the same App Store tools over stdio after a terminal login.

The practical benefit is that the same tool covers discovery, entitlement, version history, and retrieval. The trade-off is that it inherits App Store constraints instead of avoiding them: an account configured for the App Store is mandatory, licensing rules still apply, and automation requires the --non-interactive flag. The keychain passphrase option and the interactive default are reminders that credentials are part of the workflow rather than an afterthought. This is a package-fetching tool, not a way to strip protections from app binaries.

Who should try it

Good fit: someone who needs to fetch a specific version of an app they are entitled to, or who wants to script package retrieval in a build or research environment. A close second is an MCP user who wants an assistant to search the App Store and list versions, then hand off the actual download to a human. Poor fit: anyone expecting to download apps they do not own, anyone uncomfortable placing Apple Account credentials in a command-line tool, and anyone who wants a graphical app browser.

Apple's own platforms are supported for running the tool, but the account requirement is what really determines fit. A user without a functioning App Store account, or who cannot complete interactive sign-in, gets little from the project even though installation itself is simple.

Requirements and limitations

An Apple Account already configured for the App Store is required, and the tool runs on macOS, Linux, Windows, or iOS. Installation is a release download, Homebrew on macOS, or a Go build. In practice, the credentials and keychain handling are the main operational consideration: interactive mode is the default, and unattended use needs --non-interactive and careful handling of the passphrase and stored session.

Downloads are limited by what the App Store permits for that account, and the project does not present itself as bypassing App Store authorization. Version metadata is available, but there is no promise of obtaining versions Apple no longer serves. The README is also terse about the MCP server's tool surface, so users considering that path should check the help output rather than assume parity with every CLI command.

HotRepo's take

HotRepo recorded 10,077 stars on 2026-08-30 and 11,974 on 2026-10-26, a gap of roughly two months with only four board observations. That is not enough comparable history to judge whether interest is rising, fading, or sustained; treat these as dated snapshots only. Before investing, verify that your Apple Account can authenticate and that the app you need is downloadable through the App Store for that account, since that, not installation, is the real gate.

Project source and documentation

Hacker News

Written by AI from the project's README, updated October 26, 2026. The project's own docs are the source of truth.