# Algolia Search API Client for JavaScript [Algolia Search](https://www.algolia.com) is a hosted full-text, numerical, and faceted search engine capable of delivering realtime results from the first keystroke. The **Algolia Search API Client for JavaScript** lets you easily use the [Algolia Search REST API](https://www.algolia.com/doc/rest-api/search) from your JavaScript code. [![Version][version-svg]][package-url] [![Build Status][travis-svg]][travis-url] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url] [![jsDelivr Hits][jsdelivr-badge]][jsdelivr-hits] [![Browser tests][browser-test-matrix]][browser-test-url] [travis-svg]: https://img.shields.io/travis/algolia/algoliasearch-client-javascript/master.svg?style=flat-square [travis-url]: https://travis-ci.org/algolia/algoliasearch-client-javascript [jsdelivr-badge]: https://data.jsdelivr.com/v1/package/npm/algoliasearch/badge [jsdelivr-hits]: https://www.jsdelivr.com/package/npm/algoliasearch [license-image]: https://img.shields.io/badge/license-MIT-green.svg?style=flat-square [license-url]: LICENSE.txt [downloads-image]: https://img.shields.io/npm/dm/algoliasearch.svg?style=flat-square [downloads-url]: http://npm-stat.com/charts.html?package=algoliasearch [browser-test-matrix]: https://saucelabs.com/browser-matrix/algoliasearch-js.svg [browser-test-url]: https://saucelabs.com/u/algoliasearch-js [version-svg]: https://img.shields.io/npm/v/algoliasearch.svg?style=flat-square [package-url]: https://npmjs.org/package/algoliasearch The JavaScript client works both on the frontend (browsers) or on the backend (Node.js) with the same API. The backend (Node.js) API can be used to index your data using your Algolia admin API keys. Our JavaScript library is [UMD](https://github.com/umdjs/umd) compatible, you can use it with any module loader. When not using any module loader, it will export an `algoliasearch` function in the `window` object. ## API Documentation You can find the full reference on [Algolia's website](https://www.algolia.com/doc/api-client/javascript/). ## Table of Contents 1. **[Install](#install)** * [Frontend](#frontend) * [Node.js / React Native / Browserify / webpack](#nodejs--react-native--browserify--webpack) * [TypeScript typings](#typescript-typings) * [NativeScript](#nativescript) * [Bower](#bower) * [<script> tag using CDNs](#script-tag-using-cdns) * [Search only/lite client](#search-onlylite-client) 1. **[Quick Start](#quick-start)** * [Initialize the client](#initialize-the-client) * [Push data](#push-data) * [Search](#search) * [Configure](#configure) * [Client options](#client-options) * [Callback convention](#callback-convention) * [Promises](#promises) * [Request strategy](#request-strategy) * [Cache](#cache) * [Proxy support](#proxy-support) * [Keep-alive](#keep-alive) * [Debugging](#debugging) 1. **[Getting Help](#getting-help)** # Getting Started ## Install #### Frontend You can either use a package manager like npm or include a ` ``` ##### Other CDNS We recommend using jsDelivr, but `algoliasearch` is also available at: - [CDNJS](https://cdnjs.com/libraries/algoliasearch) - [unpkg](https://unpkg.com): https://unpkg.com/algoliasearch@3/dist/algoliasearch.min.js #### Search only/lite client We have a lightweight build available that can only do searches. Use it when filesize is important to you or if you like to include only what you need. Find it on jsDelivr: ```html ``` ## Quick Start In 30 seconds, this quick start tutorial will show you how to index and search objects. ### Initialize the client You first need to initialize the client. For that you need your **Application ID** and **API Key**. You can find both of them on [your Algolia account](https://www.algolia.com/api-keys). ```js // var algoliasearch = require('algoliasearch'); // var algoliasearch = require('algoliasearch/reactnative'); // var algoliasearch = require('algoliasearch/lite'); // or just use algoliasearch if you are using a