{"id":13438239,"url":"https://github.com/Akdeniz/google-play-crawler","last_synced_at":"2025-03-19T18:32:33.503Z","repository":{"id":5568833,"uuid":"6774306","full_name":"Akdeniz/google-play-crawler","owner":"Akdeniz","description":"Play with Google Play API :)","archived":false,"fork":false,"pushed_at":"2023-08-15T00:53:28.000Z","size":26814,"stargazers_count":561,"open_issues_count":61,"forks_count":204,"subscribers_count":70,"default_branch":"master","last_synced_at":"2024-08-01T03:25:59.463Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Akdeniz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2012-11-20T08:07:48.000Z","updated_at":"2024-07-26T14:06:22.000Z","dependencies_parsed_at":"2022-07-14T05:10:35.409Z","dependency_job_id":"504847f8-acd7-412e-841e-3cf40fce2e86","html_url":"https://github.com/Akdeniz/google-play-crawler","commit_stats":{"total_commits":39,"total_committers":4,"mean_commits":9.75,"dds":0.3076923076923077,"last_synced_commit":"e87ef771ac0e2d199c1660f5ba073696f4f878a8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akdeniz%2Fgoogle-play-crawler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akdeniz%2Fgoogle-play-crawler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akdeniz%2Fgoogle-play-crawler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akdeniz%2Fgoogle-play-crawler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akdeniz","download_url":"https://codeload.github.com/Akdeniz/google-play-crawler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221729827,"owners_count":16871119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:01:03.920Z","updated_at":"2025-03-19T18:32:33.498Z","avatar_url":"https://github.com/Akdeniz.png","language":"Java","funding_links":[],"categories":["Android Security","Java","Tools"],"sub_categories":["Market Crawlers"],"readme":"Google Play Crawler JAVA API\n===================\n\ngoogle-play-crawler is simply for searching android applications on GooglePlay, and also downloading them.\n\nNow you can dowload applications with single click from web to your desktop. \n\nIt also has checkin ability to generate ANDROID-ID for you. \n\nWhile doing checkin with your account, it uses Galaxy S3 properties. So only Galaxy S3 compatible applications will be retrieved.\nIf you try to download incompatible application for Galaxy S3, you will get an exception like this : \n```java\n\"The item you were attempting to purchase could not be found.\"\n```\n\nMotivated users can add other device properties from here : http://www.glbenchmark.com/phonedetails.jsp?benchmark=glpro25\u0026D=Samsung+GT-I9300+Galaxy+S+III\u0026testgroup=system\n\n\nThis project is available thanks to this project : https://github.com/egirault/googleplay-api. \n\n\nTake a look at code, it is not that sophisticated..\n\n## Building and running\n\n###SBT\n\nMake sure you hava protoc installed (version 2.5!).\nOn OSX:\n```\nbrew install protobuf\n```\n\nUbuntu/Debian:\n```\nsudo apt-get install protobuf-compiler libprotobuf-java\n```\n\nInstall SBT:\nhttp://www.scala-sbt.org/release/docs/Getting-Started/Setup.html\n\nTo build:\n```\nsbt assembly\n```\nNote: This will generate the protobuf java files and compile them as part of the project.\n\n###Maven\n\nInstall Maven 3 \u0026 protobuf compiler (version 2.5!)\n```\nsudo apt-get install maven protobuf-compiler libprotobuf-java\n```\nAnd build:\n```\nmvn package -Dmaven.test.skip=true\n```\n\nThis will ignore the tests and pack for you. If you want to run tests, you need to edit login.conf with your google account credentials.\n\n\n## Usage\n\n### Maven Reference\n```\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.akdeniz\u003c/groupId\u003e\n\t\u003cartifactId\u003egoogleplaycrawler\u003c/artifactId\u003e\n\t\u003cversion\u003e0.2\u003c/version\u003e\n\u003c/dependency\u003e\n\n\u003crepository\u003e\n\t\u003cid\u003egithub.release.repo\u003c/id\u003e\n\t\u003curl\u003ehttps://raw.github.com/Akdeniz/akdeniz-repo/master/repo/releases/\u003c/url\u003e\n\u003c/repository\u003e\n```\n\n### General\n\n    java -jar googleplay.jar --help\n    usage: googleplay [-h] [-f [CONF]] [-i [ANDROIDID]] [-e [EMAIL]]\n                      [-p [PASSWORD]] [-t [SECURITYTOKEN]] [-a [HOST]] \n                      [-l [PORT]]\n                      {download,checkin,list,categories,search,permissions,reviews,register,usegcm}\n                      ...\n\n    Play with Google Play API :)\n    \n    optional arguments:\n      -h, --help             show this help message and exit\n      -f [CONF], --conf [CONF]\n                             Configuration file to used for login! If any of\n                             androidid, email and password is supplied, it\n                             will be ignored!\n      -i [ANDROIDID], --androidid [ANDROIDID]\n                             ANDROID-ID to be used! You can use \"Checkin\"\n                             mechanism, if you don't have one!\n      -e [EMAIL], --email [EMAIL]\n                             Email address to be used for login.\n      -p [PASSWORD], --password [PASSWORD]\n                             Password to be used for login.\n      -t [SECURITYTOKEN], --securitytoken [SECURITYTOKEN]\n                            Security token that was generated at checkin. It\n                            is only required for \"usegcm\" option\n      -a [HOST], --host [HOST]\n                             Proxy host\n      -l [PORT], --port [PORT]\n                             Proxy port\n    \n    subcommands:\n      Command to be executed.\n    \n      {download,checkin,list,categories,search,permissions,reviews,register, usegcm}\n\n### Sub-commands\n\nYou can get usage of sub-commands like this :\n\n    java -jar googleplay.jar list --help\n    usage: googleplay list [-h] [-s SUBCATEGORY] [-o OFFSET] [-n NUMBER]\n                      category\n    \n    Lists sub-categories and applications within them!\n    \n    positional arguments:\n      category               defines category\n    \n    optional arguments:\n      -h, --help             show this help message and exit\n      -s SUBCATEGORY, --subcategory SUBCATEGORY\n                             defines sub-category\n      -o OFFSET, --offset OFFSET\n                             offset to define where list begins\n      -n NUMBER, --number NUMBER\n                             how many app will be listed\n\n### About Login \u0026 Proxy Arguments\n\nLogin \u0026 Proxy arguments (androidid, email, password, host, port) can be defined in a configuration file not to pass them every time in command line. \nIf you don't want to use proxy, just comment proxy host and port!\n\n    # Login Information\n    email = xxxxxxxxx@gmail.com\n    password = xxxxxxxxx\n    androidid = xxxxxxxxxxxxxxxx\n    # security token only needed for \"usegcm\" option\n    securitytoken = xxxxxxxx\n    \n    # Proxy Information\n    host=localhost\n    port=8888\n    \nYou can use this file like this:\n\n    java -jar googleplay.jar --conf crawler.conf ...\n\nNote that \"usegcm\" option does not operate on HTTP, so it won't be proxified by this configuration.  \n    \n### About Account Page Registration\n\nTo see your chekined device at your account page(https://play.google.com/store/account), you should register it like this:\n\n    java -jar googleplay.jar -f crawler.conf register\n\nand **download a few application after registration!**(same behaviour of android market application!)\n\n~~Of course this does not allow you to click and download from web page! It is just for information right now!~~\n\n~~But I will see if I can simulate Android GCM(Google Cloud Messaging) push-in mechanism when I have time! So stay tuned.. ;)~~\n\n### About \"usegcm\" Option\n\nYou can use ``usegcm`` option to download applications from web to your desktop like installing to your phone.\n\nAll you have to do register your checkined device as described above and execute google-play-crawler like this:\n\n    java -jar googleplay.jar -f crawler.conf usegcm\n\nNow you can login to your account from web browser and try to install any application.\n\n\nTODO\n----\nAdd other device properties to use with checkin.. (Tablet,.. etc.)\n\n~~Simulate Android GCM Push-in mechanism to allow download from web!~~\n\nLicense\n----\n    Copyright (c) 2012, Akdeniz\n    All rights reserved.\n    \n    Redistribution and use in source and binary forms, with or without\n    modification, are permitted provided that the following conditions are met: \n    \n    1. Redistributions of source code must retain the above copyright notice, this\n    list of conditions and the following disclaimer. \n    2. Redistributions in binary form must reproduce the above copyright notice,\n    this list of conditions and the following disclaimer in the documentation\n    and/or other materials provided with the distribution. \n\n    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\n    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n    \n    The views and conclusions contained in the software and documentation are those\n    of the authors and should not be interpreted as representing official policies, \n    either expressed or implied, of the FreeBSD Project.\n    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAkdeniz%2Fgoogle-play-crawler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAkdeniz%2Fgoogle-play-crawler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAkdeniz%2Fgoogle-play-crawler/lists"}