Programmatically Searching the Windows Store

Although to my knowledge there isn’t a publically available API for the Windows store there is a little known method to invoke the store from any machine running Windows 8.

The basis for this method is the intrinsic support for the stores own HTTP protocols on Windows 8. At the moment this seems to work on al the major browsers (ie, Chrome, Firefox and Safari.

Example 1: Search for a Publisher

Type the following into your browsers address bar to find all the aps I currently have published in the store:

ms-windows-store:Search?Query=Web Surfaces

Example 2: Search for a Subject

Lets say that I am a sailor and want to learn the rudiments of how to tie various sailing related knots (humour me):

ms-windows-store:Search?Query=Knots

(Who knew?)

Example 3: Bringing up a specific App

Lets say I am a developer and want to bring up the store with my own apps page. I have already checked the Browser’s user agent to ensure the user is running on Windows 8 (useragent string contains ‘Windows NT 6.2’)

I also know my apps own unique GUID which I can get by logging in to http://appdev.microsoft.com and checking the GUID used in a standard http link:

ms-windows-store:PDP?PFN=6e0e338a-00e2-4920-ac0c-a89fc2d80b54

Example 4 Checking the store for updates:

ms-windows-store:UPDATES

Here is a list of the parameters presently supported by this protocol:

NB There is also some rudimentary documentation for this protocol from Microsoft here

Using protocols in your own Apps

You can use http protocols in your own apps. For example my own App ‘Presenters Assistant’ uses it to invoke itself after someone shares some text with it.