Using the Search and Recommendation API to create search experiences

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.

Refer to the Search and Recommendation API reference for descriptions of objects and keys, and a detailed view of the data model.

You can use the Search and Recommendation API to integrate with your website or mobile app after a Sitecore Search integration specialist sets up your domain, configures sources, and sets up the Customer Engagement Console (CEC).

The CEC and the Search and Recommendation API

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.

    Note

    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.

Note

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.

Do you have some feedback for us?

If you have suggestions for improving this article,