> ## Documentation Index
> Fetch the complete documentation index at: https://algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# autocomplete-js

> Autocomplete JS creates a virtual DOM-based autocomplete experience.

<Tip>
  Autocomplete is also available as an experimental widget in InstantSearch,
  making it easier to integrate into your search experience.
  For more information,
  see the API reference for [InstantSearch.js](/doc/api-reference/widgets/autocomplete/js) or
  [React InstantSearch](/doc/api-reference/widgets/autocomplete/react).
</Tip>

The [`autocomplete-js`](/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete)
package is an agnostic virtual DOM renderer.
You can use it in JavaScript, Preact, React, or Vue projects.
Renderers [provide a UI](/doc/ui-libraries/autocomplete/guides/creating-a-renderer)
to headless autocomplete experiences built with [`autocomplete-core`](/doc/ui-libraries/autocomplete/api-reference/autocomplete-core).

**Custom renderers are an advanced pattern that you should only use when hitting the limits of [`autocomplete-js`](/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete)**.
For instance, you might need your own renderer when working with a JavaScript library that doesn't use a virtual DOM or when the layout structure of [`autocomplete-js`](/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete)
is too constraining for your use case.

[See demos](/doc/ui-libraries/autocomplete/introduction/sandboxes)

## Functions

* [`autocomplete`](/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete)
* [`getAlgoliaResults`](/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/getAlgoliaResults)
* [`getAlgoliaFacets`](/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/getAlgoliaFacets)
