1. A method for receiving and processing a search query with respect to a plurality of search providers the method comprising: receiving a registration request from each search provider, wherein the registration request invokes at least one registration function via an API (“Application Programming Interface”), wherein a respective registration request includes a plurality of query properties of an associated search provider, the plurality of query properties including a list of at least one data property name, query comparison operators, a number of operands for each of the query comparison operators, syntactic data value types for each operand and localization information about display strings; receiving an initial request to perform a search from a user; configuring a user interface based on the query properties of each respective search provider; displaying the user interface for the search providers to the user based upon the query properties of each respective search provider; receiving a query from the user; forming a parse tree representation of the query; marshaling the parse tree representation to a selected number of search providers using a call by value protocol, wherein each search provider is associated with a specific type of content and respective search functionality for that content, the associated content for each of the search providers being mutually exclusive.