Skip to content

yext/search-core

Repository files navigation

Search Core


Search Core is a networking library for interacting with the Yext Search API.

Full Documentation

Features

  • Works in both the browser and Node.js
  • 100% TypeScript, with detailed request and response models
  • Compatible with both CommonJS and ES6 imports
  • Offers a ponyfilled ES5 bundle which doesn't pollute the global namespace

Getting Started

For a full getting started walk through, view our official Hitchhiker Guide.

First, install Search-core via npm:

npm install @yext/search-core

Next, import and initialize the core library in your application.

The apiKey and experienceKey will come from your Search experience on yext.com. You can signup for a free trial at https://www.yext.com/free-trial/.

import { provideCore } from '@yext/search-core';

const core = provideCore({
  apiKey: '<your api key>',
  experienceKey: '<one of your experience keys>',
  locale: 'en',
  experienceVersion: 'PRODUCTION',
});

To use the library with Node, use the following import instead:

const { provideCore } = require('@yext/search-core');

Now that the core is initialized, let's run a search on an "FAQs" vertical.

core.verticalSearch({
  verticalKey: 'FAQs',
  query: 'What is Yext Search?',
}).then(results => {
  // Do something with the search results
}).catch(err => {
  // Handle errors thrown by the core library
});

Explanation of Builds

  • The ESM (ES6) build will be used automatically by module bundlers that support it (e.g. Webpack). It can be specified directly by importing @yext/search-core/lib/esm
  • The CommonJS build will be used automatically by Node, but it can be specified directly by importing @yext/search-core/lib/commonjs
  • The Legacy (UMD) bundle should be used for supporting IE11 out of the box. It is compiled to ES5 and it contains the necessary ponyfills for IE11. If your application already contains polyfills, we recommend bundling one of the other builds in order to prevent your application from including duplicate polyfills. This bundle can be specified by importing @yext/search-core/legacy

And that's it! See our documentation for a full list of supported API calls.

License

Yext Search-core is an open-sourced library licensed under the BSD-3 License.

Third Party Licenses

The licenses of our 3rd party dependencies are collected here: THIRD-PARTY-NOTICES.