Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

query the google play store for the version of an app?

Tags:

is there a way to query the play store for the version of an app without the need for user-credentials. I am aware of this unofficial API:

http://code.google.com/p/android-market-api/

but I don't want to rely on user credentials - I can visit the google play sites in incognito mode via chrome also - so it must be possible somehow. But I found no way and I don't want to fallback on scraping ;-)

like image 710
ligi Avatar asked Jan 23 '13 00:01

ligi


People also ask

How do I get the app version of Google Play?

Tap the app's name to open its Properties in the Google Play Store. Now, scroll down to About this app and tap that section. On the following screen, scroll all the way down again. This will take you to an App info section.

How do I find the version of an app?

The Android framework provides an API to let you query the system for version information about your app. To obtain version information, use the getPackageInfo(java. lang. String, int) method of PackageManager .

Is there any official API to get app details from the Play Store?

The App Details from PlayStore is an API that returns real-time details of any Android app. It also can be used in combination with shields.io for generating Android app related badges with realtime values for an app's README file (or) any other use case for that matter.


2 Answers

Found a suitable API via G+: this is the API: https://androidquery.appspot.com

example call: https://androidquery.appspot.com/api/market?app=org.ligi.fast

and this wrapper/code: https://github.com/androidquery/androidquery

like image 163
ligi Avatar answered Oct 08 '22 18:10

ligi


Google Play does not provide any official APIs for retrieving metadata. You could however, check the unofficial API at http://code.google.com/p/android-market-api/.

Specifically, take a look at the Wiki page HowToSearchApps. The response to the query contains version information:

Your query will be something like:

String query = "maps";
AppsRequest appsRequest = AppsRequest.newBuilder()
                                .setQuery(query)
                                .setStartIndex(0).setEntriesCount(10)
                                .setWithExtendedInfo(true)
                                .build();

session.append(appsRequest, new Callback<AppsResponse>() {
         @Override
         public void onResult(ResponseContext context, AppsResponse response) {
                  // Your code here
                  // response.getApp(0).getCreator() ...
                  // see AppsResponse class definition for more infos
         }
});

Your response will be of the format:

{
  "app": [
    {
      "rating": "4.642857142857143",
      "title": "Ruboto IRB",
      "ratingsCount": 14,
      "creator": "Jan Berkel",
      "appType": "APPLICATION",
      "id": "9089465703133677000",
      "packageName": "org.jruby.ruboto.irb",
      "version": "0.1",
      "versionCode": 1,
      "creatorId": "\"Jan Berkel\"",
      "ExtendedInfo": {
        "category": "Tools",
        "permissionId": [
...

Then of course you may use a JSON Parser or do a string search.

like image 31
Dheeraj Bhaskar Avatar answered Oct 08 '22 19:10

Dheeraj Bhaskar