Skip to main content
To get started with InstantSearch.js, see What is InstantSearch?

Basics

instantsearchThe root wrapper component for all widgets.
indexThis widget lets you apply widgets to a specific Algolia index.
searchBoxA widget to let users perform a text-based query.
configureThe widget lets you provide raw search parameters to the Algolia API without rendering anything.
panelA widget that wraps other widgets in a consistent panel design. It also reacts when the widget can no longer refine.
autocompleteA connector that provides the logic to create a connected component that renders results from Algolia.
voiceSearchA widget to let users perform a voice-based query.
insightsA middleware to help set the user token for insights purposes, and send events from built-in and custom widgets.
middlewareWith the middleware API, you can inject logic into InstantSearch.js.
renderStateThe renderState provides access to all the data to render the widgets, including the methods to refine the search.

Results

hitsA widget to display a list of results.
infiniteHitsA widget to display a list of results with a “Show more” button.
HighlightHighlighting visually emphasizes matching terms in your search results to help them stand out.
ReverseHighlightA function that returns any attribute from a hit into its highlighted form, when relevant.
SnippetA function that displays attributes in your search results in a shorter form (a snippet).
ReverseSnippetA function that returns any attribute from a hit into its snippeted form, when relevant.

Recommendations

frequentlyBoughtTogetherA widget to display a list of frequently bought together items.
relatedProductsA widget to display a list of related products and related content.
trendingItemsA widget to display a list of trending items.
trendingFacetsA widget to display a list of trending facets.
lookingSimilarA widget to display a list of visually similar products.

Refinements

refinementListOne of the most common widgets you can find in a search UI. With this widget, users can filter the dataset based on facets.
colorRefinementListA widget that filters results based on color facet values. It helps users quickly visualize the kind of color that products have.
dynamicWidgetsWidget to conditionally render other widgets based on the facet merchandising settings of the index.
hierarchicalMenuWidget that displays a hierarchical menu.
rangeSliderA widget that provides a user-friendly way to filter the results, based on a single numeric range.
menuA widget that displays a menu that lets users choose a single value for a specific attribute.
currentRefinementsA widget that displays a list of refinements applied to the search.
rangeInputA widget that allows a user to select a numeric range using a minimum and maximum input.
menuSelectA widget that allows a user to select a single value to refine in a drop-down menu.
toggleRefinementA widget that provides an on/off filtering feature based on an attribute value.
numericMenuA widget that displays a list of numeric filters in a list. Those numeric filters are pre-configured with creating the widget.
ratingMenuA widget that lets users refine search results by clicking on stars.
clearRefinementsA widget that displays a button that lets users clean every refinement applied to the search.

Pagination

paginationA widget that displays a pagination system which lets users change the current page of search results.
hitsPerPageA widget that displays a drop-down menu to let users change the number of displayed hits.

Metadata

breadcrumbThe breadcrumb widget is a secondary navigation scheme that lets users see where the current page is in relation to the facet’s hierarchy.
statsA widget that displays the total number of matching hits and the time it took to get them.
poweredByA widget to display the Algolia logo to redirect to our website.
analyticsA widget that pushes the current state of the search to the analytics platform of your choice.
queryRuleCustomDataA widget to display custom data from Rules.
queryRuleContextA widget to set Rule contexts without rendering anything.

Sorting

sortByA widget that displays a list of indices, allowing a user to change the way hits are sorted with replica indices.
relevantSortA widget that displays the current search mode when searching in a virtual replica index, and allows users to switch between Relevant and regular sorting, which is more exhaustive and can return less relevant results.
geoSearchA widget that displays search results on a Google Map.

Routing

simpleA state mapping used by default routing.
singleIndexA state mapping that enables backward compatibility with version 3.x.
historyA router used by default routing.
uiStateAn object that represents a search UI state.
I