Skip to main content

Creating search experiences


A brief introduction to the Search and Recommendation API for Sitecore Search.

Use the Search and Recommendation API to create best-in-class search experiences for your visitors. The API has one endpoint and many objects and keys that you can use to get search results, predictive suggestions, personalized similar items, facets, filters, and more. You can also perform fine-grained configuration of how you want to rank and sort results.

You can use the Search and Recommendation API after a Sitecore Search integration specialist sets up your domain, configures sources, and sets up the Customer Engagement Console (CEC).

To learn how to integrate with this API, see how to call the API, browse the data model, and review the sample use cases.

The CEC and the Search and Recommendation API work together. You use the CEC to do two things that relate to making API calls:

  • Perform initial setup. That is, configure widgets, pages, attributes, and options like sorting, filtering, textual relevance, and other features that you want to use. You must do this before you can make any API call.


    Usually, a Sitecore Search integration specialist sets this up for you when you first create an account with us.

  • Configure settings that do not change at run time. For example, you can configure which facets you want Sitecore Search to return when you request all facets in an API call. This is because when you request all facets, you do not depend on a runtime visitor query to determine which facets to show.

To request items and set configurations that you can only pass at runtime, you must use the Search and Recommendation API. For example, if you want to get facets at the filter level or send user context, you must do this through the API. This is because the facets available depend on the visitor query, and you only know user context when a specific visitor's action triggers an API call.


There is an overlap between what you can do in the CEC and what you can do through the API. If there is a conflict, the settings you request through the API always override what you define in the CEC.