Skip to content
Switch branches/tags
Go to file


Failed to load latest commit information.
Latest commit message
Commit time

typesense-js NPM version CircleCI downloads

Javascript client library for accessing the Typesense HTTP API. Follows the API spec here.

This library can be used both on the server-side and on the client-side. The library's source is in ES6 and during build time, we transpile it to ES5 and generate two artifacts - one that can be used on the server-side and another that uses Browserify and can be used on the client side.


Install via npm

npm install --save typesense

Install peer dependencies:

npm install --save @babel/runtime

Include the minified JS file for use in the browser directly

<script src="dist/typesense.min.js"></script>


Read the documentation here:

Tests are also a good place to know how the library works internally: test

Note: When using this library in a browser, please be sure to use an API Key that only allows search operations instead of the master API key. See doc/examples/server/keys.js for an example of how to generate a search only API key.


Here are some examples with inline comments that walk you through how to use the client: doc/examples

To run the examples, from the repo root:

npm run typesenseServer
node doc/examples/server/bulkImport.js

GatsbyJS Integration

If you use GatsbyJS for a framework, we have a plugin (that uses typesense-js behind the scenes) to automatically push your site data to Typesense when you build your site. Learn more here.

Building UI components

Checkout the Typesense-InstantSearch.js (which uses typesense-js) for UI components you can use to quickly build powerful instant search experiences.


Typesense Server typesense-js
>= v0.19.0 >= v0.11.0
>= v0.18.0 >= v0.10.0
>= v0.17.0 >= v0.9.0
>= v0.16.0 >= v0.8.0
>= v0.15.0 >= v0.7.0
>= v0.12.1 >= v0.5.0
>= v0.12.0 >= v0.4.7
<= v0.11 <= v0.3.0


After checking out the repo, run npm install to install dependencies. Then run npm test to run the linter and tests.

To release a new version, we use the np package:

$ npm install --global np
$ np

# Follow instructions that np shows you


Bug reports and pull requests are welcome on GitHub at