How to fetch Android Market data when there is no API?

android, java

Solution

There is a Java project on Google code which attempts to build an open source api for the market: http://code.google.com/p/android-market-api/

There're also some JRuby bindings for it: http://github.com/jberkel/supermarket.

However they both require a Google/Market account, and the API is only partially implemented (searching, comments and images at the moment). Also, the reconstructed protocol buffer descriptor (market.proto) could be used to generate bindings for languages other than Java.

Problem

As far as I can tell, there is no API (official or unofficial) to access information about Apps on the Android Market (info such as Title, Icon, Description, Downloads, Comments, etc..) However, there are a few websites that have managed to compile this information anyway. My question is: How is this being done? A couple of guesses. - Manually (not likely, due to volume) - Implemented the protocol used by the official app (by decompiling or observing packets) - Running some kind of debugger with the official app to extract the live data - Using some kind of automation + screen shots + text recognition (seems complicated) - Modifying the (open) source to write a log file I'm just curious how this was done because I sure can't figure it out. Thanks.

Original source

Related problems