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:

image

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:

image

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.

http://apps.microsoft.com/windows/app/presenters-assistant/99f7a452-cf2a-4af0-b69b-79aea1efe94e

To try this, download the App, then type the following into your browsers address bar:

scroll://This is an example of some text to scroll

(Watch out for my next blog post about how to do this)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>