With the code of Market API , Apk downloader, Playframework and some other code (reverse the .proto from apk downloader), I made a google play crawler. link
Here’s the .proto used the same way as in apk downloader
package com.google; message MarketRequest { required AuthBody auth = 1; required group Pack = 2 { optional PackageName packageName = 10; // android id converted to hexadecimal } } message PackageName{ required string name = 1;; } message AuthBody{ required string authSubToken = 1; // authsub token for service 'android' required bool isSecure = 2; // is this a secure request or not required int32 version = 3; // always 1002 required string deviceId = 4; // android id converted to hexadecimal optional string deviceAndSdkVersion = 5; // ro.product.device ':' ro.build.version.sdk optional string locale = 6; // ro.product.locale.language optional string country = 7; // ro.product.locale.region optional string operatorAlpha = 8; // gsm.operator.alpha optional string simOperatorAlpha = 9; // gsm.sim.operator.alpha optional string operatorNumeric = 10; // gsm.operator.numeric optional string simOperatorNumeric = 11; // sim.gsm.operator.numeric }
package com.google; message MarketResponse { required group RespBody = 1{ required bytes header1 = 2; required AppInfo info = 9; } } message AppInfo { required group AppInfoBody = 1 { required string appId = 2; required string appName = 3; required string type = 4; required string packageName = 5; required string downloadUrl = 6; required string ParamGroup = 7; required int32 someId1 = 8; required int32 someType1 = 10; required int32 someType2 = 11; required int32 someId3 = 12; required string market = 13; required string marketDA = 14; } }