Findify Developer Hub

Welcome to the Findify Developer Hub. Here you'll find comprehensive guides and documentation to help you start working with Findify as quickly as possible, as well as support if you get stuck. Let's jump right in!

Manual control

Findify's Merchant.JS (MJS) library exposes a simple API that you can use to manage widgets, listen and trigger different events or use external analytics, thus further customizing the look&feel of the Findify integration. The MJS iterates over window.findifyCallbacks array and injects the findify object there. You can also access window.findify when MJS is fully loaded.


To wait until Findify is loaded push you callbacks into window.findifyCallbacks array.

window.findifyCallbacks = [
  (findify) => { ...your code here }



The @findify/analytics instance. It allows triggering events from outside components and listens for them.


The immutable configuration of your store. Use findify.config.toJS() to see it as normal Javascript object.


Emit system events, such as 'show mobile facets'


Listen for system events


Invalidates modules cache[only for Devtools]


The collection of methods to create/modify already injected widgets. Read more below

Manage widgets

Attach new widget

window.findify.widgets.attach(selector, type, config)


CSS selector or DOM node where to attach the widget


The type of widget - autocomplete, recommendation, search, smart-collection


The configuration which will extend the default configuration for this type of widget eq:{ appendTo: 'body', key: 'test' }

Remove exist widget

The key is the unique name of the widget, you could provide it in HTML element by adding data-findify-key="test" or in config when attaching feature

Get widgets by key

You can get widget by its key. If it was not provided the increment number will be used.

Find widgets by type

Find all widgets with given type

Get list of widgets

This function will return an array of widgets on the page, so you can access their agents and send a request by your own.

  .find(widget => widget.type === 'autocomplete').agent
  .set('q', 'test query')
  .on('suggestions', (list) => {

Updated 2 months ago

Manual control

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.