Using the search-ms Protocol

The search-ms protocol is a convention for querying the Windows Search index, or any other application that is registered for the protocol. The search-ms protocol uses the following standard URL-encoded syntax:


The syntax begins by identifying the protocol itself (search-ms:). The forward slashes (//) are optional and do not affect execution of the query. The parameter/value pairs are arguments passed to the Search engine, as described in the following table.

Parameter Value Description Version
query URL-encoded text The query text entered by the user. Both
inputlocale Any valid LCID The LCID that identifies the input language for the query. Both
keywordlocale Any valid LCID The LCID that identifies the language of the international version of the Indexer. The default is 1033 (en-us). Both
crumb AQS statement This argument restricts the scope being searched. In Vista, search-ms supports full AQS, except for a special implementation of location. In XP, search-ms also supports full AQS, except for a special implementation of kind and store. Both
syntax NQS, AQS (not case sensitive) The query syntax to use to search the index: either Natural Query Syntax or Advanced Query Syntax. AQS is the default and is always assumed parsed and supported. Vista
stackedby Any valid property from the property system A property that specifies the column to stack results by. Vista
subquery A fully specified path for a Saved Search file (*.search-ms) The results of the subquery are used as the source for the query. That is, the query terms are searched for against the results of the subquery. Vista
displayname URL-encoded string The name of the current search. Vista