# 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