Integrating using Search Data Package

Sitecore Search is a headless search engine that can be personalized for visitors. It offers entity-based searches by indexing searchable content and storing the indexes as entities. Entities are distinct, search-indexable object types with unique structures that represent different categories of content.

All JavaScript projects, irrespective of framework or flavor, can use Search JS Data package to create search experiences configured in Sitecore Search.


The Customer Engagement Console (CEC) is an important part of your implementation because it contains all the configuration for your domain, including authentication, entities, attributes, sources, and features.

Content strategists configure widgets or search experience configurations in the CEC. Developers create widget components or UI elements to display search results in an application.

We recommend you familiarize yourself with the console. You might need to access various settings from the console during integration.

A typical search experience

The following describes a user's typical search experience and their interactions with widget components in your application:

  1. The user submits a keyphrase to search.

  2. The user views search results.

  3. The user clicks Sort to trigger a sorted search.

  4. User views search results.

  5. The user clicks an item to view, download, or bookmark it, or another conversion action.

To personalize search results, visitor and webpage information is included in data requests as well as the required entity type. This guarantees that only those entities required to populate the widget are searched and received.

Integration architecture

Your application, integrated using the JS Data package, communicates with Search services through DataProvider, the singleton instance. At runtime, it relays requests built using the various methods, objects, and types, and receives responses in predefined types.

Requests traveling from a component to Search API and back.

The data package is JS framework agnostic and includes objects and methods you can use to build requests and parse responses. Among the many use cases covered are:

You can also find key reference documentation for response objects and methods to track user interactions.

Getting started

You can begin integration using JS Data package at any point in the development process. The model used in your UI components must match or map with the entity in a request. Mismatches can cause missing data or errors.

Before you begin integration, you need to:

  • Create an inventory of widgets and their respective UI in your application.

  • Make sure the widgets are published.

  • Fix mismatches between the CEC entities and front-end models.

Make your first search query

Making your first search query using the JS Data package is a walkthrough that covers installation of the package and creation of query and widget objects.

Do you have some feedback for us?

If you have suggestions for improving this article,