# @coveo/headless

> A headless library for building search experiences on the Coveo platform

Latest version **3.57.2** (published 2026-10-06) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @coveo/headless
pnpm add @coveo/headless
yarn add @coveo/headless
bun add @coveo/headless
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads; large bundle.

## Facts

| | |
|---|---|
| Version | 3.57.2 |
| Published | 2026-10-06 |
| First published | 2020-07-23 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | ^20.9.0 \|\| ^22.11.0 \|\| ^24.11.0 |
| Dependencies | 15 |
| Unpacked size | 37.8 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 70 |
| Maintainers | oa-npmcoveo |

## Links

- npm: https://www.npmjs.com/package/@coveo/headless
- Repository: https://github.com/coveo/ui-kit
- Homepage: https://docs.coveo.com/en/headless/latest/
- npm.io page: https://npm.io/package/@coveo/headless

## Dependencies (15)

- [pino](https://npm.io/package/pino.md) 10.3.1
- [dayjs](https://npm.io/package/dayjs.md) 1.11.23
- [reselect](https://npm.io/package/reselect.md) 5.3.0
- [fast-equals](https://npm.io/package/fast-equals.md) 6.0.3
- [redux-thunk](https://npm.io/package/redux-thunk.md) 3.1.0
- [@coveo/bueno](https://npm.io/package/@coveo/bueno.md) 1.1.9
- [@coveo/relay](https://npm.io/package/@coveo/relay.md) 2.1.3
- [@ag-ui/client](https://npm.io/package/@ag-ui/client.md) 0.0.59
- [coveo.analytics](https://npm.io/package/coveo.analytics.md) 2.33.1
- [@reduxjs/toolkit](https://npm.io/package/@reduxjs/toolkit.md) 2.12.0
- [headers-polyfill](https://npm.io/package/headers-polyfill.md) 5.0.1
- [exponential-backoff](https://npm.io/package/exponential-backoff.md) 3.1.3
- [navigator.sendbeacon](https://npm.io/package/navigator.sendbeacon.md) 0.0.20
- [@coveo/relay-event-types](https://npm.io/package/@coveo/relay-event-types.md) 20.7.1
- [abortcontroller-polyfill](https://npm.io/package/abortcontroller-polyfill.md) 1.7.8

## Recent versions

- 3.57.2 (latest) — 2026-10-06
- 2.80.7 (v2-latest) — 2025-08-12
- 3.57.1 — 2026-09-30
- 3.57.0 — 2026-09-23
- 3.56.0 — 2026-09-15
- 3.55.4 — 2026-09-09
- 3.55.3 — 2026-09-01
- 3.55.2 — 2026-08-18
- 3.55.1 — 2026-08-13
- 3.55.0 — 2026-08-11
- 3.54.0 — 2026-08-04
- 3.53.2 — 2026-07-27
- 3.53.1 — 2026-07-16
- 3.53.0 — 2026-06-29
- 3.52.0 — 2026-06-22
- … 3985 more at https://npm.io/package/@coveo/headless/versions

## README

---
title: Contributing
group: Contributing
---

[![npm version](https://badge.fury.io/js/@coveo%2Fheadless.svg)](https://badge.fury.io/js/@coveo%2Fheadless)

# Coveo Headless

Using the library: [Coveo Headless Library Official Documentation](https://docs.coveo.com/en/headless/latest/).

## Entry points

The `@coveo/headless` package exposes several entry points.

The entry point from which you will import Coveo Headless resources depends on the engine type you are using:

| Engine type                         | Entry point                         |
| ----------------------------------- | ----------------------------------- |
| Search engine                       | `@coveo/headless`                   |
| Search SSR engine                   | `@coveo/headless/ssr`               |
| Search SSR engine (in open alpha)   | `@coveo/headless/ssr-next`          |
| CaseAssist engine                   | `@coveo/headless/case-assist`       |
| Commerce engine                     | `@coveo/headless/commerce`          |
| Commerce SSR engine (in open beta)  | `@coveo/headless/ssr-commerce`      |
| Commerce SSR engine (in open alpha) | `@coveo/headless/ssr-commerce-next` |
| Insight engine                      | `@coveo/headless/insight`           |
| Recommendation engine               | `@coveo/headless/recommendation`    |

## Contributing

### Getting started

Once you have cloned the repo, follow the instructions in the top-level [README.md](https://github.com/coveo/ui-kit/src/main/README.md) to install dependencies and link packages.

To start the project in development mode, run:

```bash
pnpm run dev
```

To build the library for production, run:

```bash
pnpm run build
```

To run the unit tests, run:

```bash
pnpm test
```

To run the unit tests and watch, run:

```bash
pnpm run test:watch
```

To use @coveo/headless locally, you have to build the package by running:

```bash
pnpm run build
```

### Redux

The headless project intensively uses ["Redux"](https://redux.js.org) along with ["Redux Toolkit"](https://redux-toolkit.js.org), so prior knowledge is necessary.

### Source folder structure

The base of the `/src` folder should only contain exports.

`/ssr` contains all logic and types related to server-side rendering (SSR) engines and controllers

`/app` contains app-wide setup: Redux store, root reducer, middlewares.

`/state` contains interfaces for the various application states.

`/features` has folders that each owns the functionalities of a feature, which is a subpart of the redux state. Following the ["ducks pattern"](https://redux.js.org/style-guide/style-guide#structure-files-as-feature-folders-or-ducks), those files contain Redux slices & reducers that [define the state shape](https://redux.js.org/style-guide/style-guide#reducers-should-own-the-state-shape). Each feature folder has a file with actions that can be exported with the project.

`/controllers` contains all the headless controllers in folders. Those controllers are exported and used to provide abstraction from the store's features by being closer to the actual UI controllers of a customer's application.

`/utils` contains common useful utilities.

`/api` contains everything regarding api calls.

`/test` contains test mocks.

# Contribution guide: Adding a new controller.

Please see [the contributor guide](./contributors/adding-a-controller.md) for guidance.

# Contribution guide: Troubleshooting bundle content.

Please see [the contributor guide](./contributors/troubleshooting-bundles-content.md) for guidance.

---
_Source: https://npm.io/package/@coveo/headless · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
