LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

apkeep

Download APKs from app stores

TLDR

Download an APK from the default source (APKPure)
$ apkeep -a [com.example.app] .
copy
Download a specific version
$ apkeep -a [com.example.app]@[version] .
copy
Download from Google Play using an account email and AAS token
$ apkeep -a [com.example.app] -d google-play -e [user@gmail.com] -t [aas_token] .
copy
Download from F-Droid
$ apkeep -a [com.example.app] -d f-droid .
copy
List available versions
$ apkeep -a [com.example.app] -l
copy
Download many apps listed in a CSV file
$ apkeep -c [apps.csv] .
copy

SYNOPSIS

apkeep <-a appid[@version] | **-c** csv> [options] OUTPATH_

DESCRIPTION

apkeep downloads APK files from several Android app sources. It can fetch current or specific historical versions of applications, useful for security research, app archival, or accessing apps without a device.By default it downloads from APKPure, which requires no credentials. Downloading from Google Play requires an account email and an AAS token. Apps can be specified individually with -a or in bulk from a CSV file with -c.

PARAMETERS

-a, --app appid[@version]_

App ID, optionally with @version (e.g. com.instagram.android).
-c, --csv file
CSV file listing app IDs to download in bulk.
-f, --field n
CSV field (column) containing app IDs. Default is 1.
-v, --version-field n
CSV field containing versions.
-d, --download-source source
Where to download from: apk-pure (default), google-play, f-droid, huawei-app-gallery.
-l, --list-versions
List the available versions of an app instead of downloading.
-e, --email email
Google account email address (required for google-play).
-t, --aas-token token
Google AAS token (required for google-play).
-o, --options opts
Comma-separated extra options for the download source (e.g. arch=arm64-v8a).
-r, --parallel n
Number of parallel APK fetches to run at a time. Default is 4.
-s, --sleep-duration ms
Sleep duration in milliseconds before each download request. Default is 0.

CAVEATS

Google Play downloads require a valid account email and AAS token; see the project documentation for how to obtain one. Servers may rate-limit or block excessive downloads, so use -s to throttle. Downloaded APKs remain subject to their original license.

HISTORY

apkeep was developed by the EFF Threat Lab and first released in 2021, written in Rust, providing command-line access to multiple Android app sources for archival and security research.

SEE ALSO

adb(1), apktool(1), aapt(1)

RESOURCES

Copied to clipboard
Kai