pushd internal/play
go build -o ../../build/google-play-apk-downloader
popd
sign in with your Google
Account. then get authorization code (oauth_token
) cookie from
browser storage. should be valid for 10 minutes. then exchange
authorization code for refresh token (aas_et
):
play -o oauth2_4/0Adeu5B...
create a file containing X-DFE-Device-ID
(GSF ID) for future requests:
play -d
get app details:
> play -i com.google.android.youtube
details[6] = Google LLC
details[8] = 0 USD
details[13][1][4] = 19.13.36
details[13][1][16] = Apr 3, 2024
details[13][1][17] = APK APK APK APK
details[13][1][82][1][1] = 8.0 and up
downloads = 16.09 billion
name = YouTube
size = 112.04 megabyte
version code = 1545332160
acquire app. only needs to be done once per Google account:
play -i com.google.android.youtube -a
download APK. you need to specify any valid version code. the latest code is provided by the previous details command. if APK is split, all pieces will be downloaded:
play -i com.google.android.youtube -v 1540222400
non goals:
email/password login. up to Android 4.4 (2013), the login is protected with TLS fingerprinting, which is difficult but possible to bypass. since Android 5 (2014), Google uses bot-guard via JavaScript to protect the login. I do not know how to reverse that, and I did not find any implementations online.
because of repeated abuse, as of november 5 2023, I no longer offer free discussion of this software. so unless you have paid up front, do not:
software is not licensed for commercial use. if you wish to purchase a commercial license, contact me.