Is there any web API for Software Center available?

Solution 1:

Well, yes. Keep in mind that

  1. The only acknowledged consumer of this API is the Software Center project. The syntax can and probably will be viciously deprecated in the future, with no regard for third parties.
  2. In the future, the Software Center may come to multiplex applications from other source APIs, such as those of Mozilla Marketplace and Appstream. As such this API may not be comprehensive.
  3. If you abuse this API you will be blocked.

With all those caveats aside

Applications

https://software-center.ubuntu.com/api/2.0/applications/$LANG/ubuntu/$SERIES/$ARCH/

will return a JSON document detailing third party applications currently installable for a given language code, release name prefix, and architecture. For example, here are the Software Center items currently provided for Ubuntu 12.04.

For technical reasons that would be constitutionally painful to explain, applications available from the Ubuntu archives (eg the Universe) are handled by a data package: app-install-data. You can get the list with apt-get source -t $SERIES app-install-data and handle it on your server locally; it doesn't change very often.

Reviews

http://reviews.ubuntu.com/reviews/api/1.0/reviews/filter/$LANG/ubuntu/$SERIES/$VERSION/$PACKAGE/

Will get you reviews for a package. Note that most fields here can be replaced with any. For example, here are reviews of Warsaw written for 11.10.

Ratings

http://reviews.ubuntu.com/reviews/api/1.0/review-stats/ubuntu/$SERIES/

Will get you all ratings for all packages.

Images

http://screenshots.ubuntu.com/thumbnail-with-version/$PACKAGE/$VERSION
http://screenshots.ubuntu.com/screenshot-with-version/$PACKAGE/$VERSION

Will get you the thumbnail and screenshot for an application. For example, here is VLC's latest screenshot.

Other minor metadata

/usr/share/software-center/softwarecenter/distro/Ubuntu.py
/usr/share/software-center/softwarecenter/backend/piston/

For more API fun, visit these paths in your file browser. It's all in very readable Python. There's a lot of miscellanea for things like pagination, filtering, licensing text, review statistics, etcetera that you might be interested in: