IPATool is a tool to download IPA files from iOS App Store

Kuba Pawlakqbap | Research
IPATool

When you log in to App Store on your device, and you decide to install an app, there is no option to get the IPA file. IPATool connects to iTunes and the App Store with your Apple ID, making it possible to download IPA files directly from the App Store.

What is IPATool?

IPATool is a command line tool that allows you to search for iOS apps on the App Store and download a copy of the app package, known as an IPA file. Once an app is detected, the tool downloads an encrypted IPA file on your Desktop. IPATool works on Windows, Linux, & macOS.

Unlike Panda Helper Lite or iOSGods App, IPATool can only download apps that you own. This tool was not designed for piracy purposes, and your account must have a license for the app you are trying to download. IPATool also requires your Apple ID credentials to log in to App Store.

IPATool comes with four main commands such as auth for authenticating with the App Store, search for finding iOS apps available on the App Store, purchase to obtain a license for the app from the App Store, and download (encrypted) iOS app packages from the App Store.

Screenshot of IPATool command line tool running on macOS in the Terminal app.

IPATool auth is used to log in into the App Store or revoke your App Store credentials. The tool does not store your credentials on any remote server and only communicates with Apple servers directly. On top of that, IPATool communicates with iTunes and the App Store directly.

IPATool search command can not only search for iOS app names but also offers additional features such as setting codes for the iTunes Store (default: US),show app versions, defining device family to limit the search query, and limiting search results to retrieve.

Once you will find the desired app, use the command IPATool download to save the IPA file. It's required to provide the bundle identifier of the target iOS app displayed when using the search command. With the purchase command, you can also obtain a license for the app if needed.

Recently, IPATool command line tool is also used to get an encrypted IPA package that can be repacked as a placeholder for a permanently installed app on iOS 15.0 up to iOS 15.5b5 for A12-A15 devices. This is, e.g., one of the tools used to install TrollStore or Fugu15 on iOS 15.

The latest version of, IPATool 2.0 adds a lot of features and most importantly long awaited support for Windows and Linux. What's more, this version can also run on iOS devices. Other changes include new auth info command, and overall software improvements.

IPATool was released as an open source tool through GitHub Repository under MIT License. The source code was mostly written in Swift language, but you can also find some parts written in Shell, and Makefile. The latest release of IPATool was updated in December to version 2.0.0.

If you run a jailbroken environment, you can decrypt App Store apps and generate decrypted IPA files with tools like DumpDecrypter or CrackerXI+. Those tools can decrypt iOS apps on your device. Decrypted IPA files can be shared or used to modify the app code and inject dylibs.

How to use and install IPATool

IPATool can be installed on macOS 10.11 or later using Homebrew. The installation process is simple. Before starting the tool, you must provide your Apple ID credentials. Next, you can search for packages or download encrypted IPA files of apps released through the App Store.

$ brew tap majd/repo
$ brew install ipatool

% ipatool auth login --email [email protected] --password mypassword
% ipatool search --limit 1 TestFlight
% ipatool download -b com.apple.TestFlight

Note: All releases compiled for Linux and Windows are available for download from the GitHub Releases page. The app was compiled for ARM and AMD CPUs.

IPATool was released as an open-source app and thanks to that, @MiscMisty ported the tool to Python, making it possible to download IPA files from App Store on Windows and Linux. Python version of IPATool offers four commands: lookup, historyver, purchase, and download.

$ git clone https://github.com/NyaMisty/ipatool-py & cd ipatool-py
$ pip3 install -r requirements.txt

$ python3 main.py lookup -b com.touchingapp.potatsolite -c US download -e [email protected] -p mypassword

On top of that, IPATool-Python script can also download old IPA versions via iTunes Server. This requires you to download an old version of iTunes for Windows and patch it using a script.

What's new

  • Updated IPATool to version 2.0.0.
  • Added support for Windows.
  • Added support for Linux.
  • Implemented new auth info command.
  • Overall improvements and bug fixes.
  • Patch old code signature revisions as a fallback.
  • Fix keychain access on iOS.
  • Improve the error message for expired tokens.
  • Disable print buffering and output errors to stderr.
  • Build releases for iOS.
  • Upload iOS releases to GitHub.
  • Add backward compatibility for macOS 10.11+.

Post a comment