Skip to content

Meilisearch, Typesense, Elasticsearch and Visor, hosted

Search that sleepsuntil someone searches.

No server to run. An idle Meilisearch, Typesense or Visor index sleeps and uses no compute. The next search wakes it, typically in a fraction of a second.

Free plan: no card, a hard cap, never a bill.

Median wake from sleep, measured in production over the last 30 days

Every wake time, p95 included
Visor
150 msSleeps when idle
Typesense
65 msSleeps as a memory snapshot
Meilisearch
168 msSleeps when idle
Elasticsearch
Always onIt doesn't sleep
Four engines, each index on the engine that fits it.

How it works

Asleep while nobody searches. Awake when someone does.

  1. 01

    A search wakes it.

    Headband holds the request, starts the engine and answers. Median wakes in production: 150 ms on Visor, 65 ms on Typesense and 168 ms on Meilisearch.
  2. 02

    Busy, it stays awake.

    Later searches go straight to the running engine until it goes quiet again. Or switch it to Always on, and it never sleeps.
  3. 03

    Quiet for five minutes, it sleeps.

    The engine stops. Its data stays where it is, and a sleeping engine uses no compute. Set the quiet time per engine, from a minute to a day.
Recorded on headband.dev: an index sleeps, a search wakes it, and Always on brings a standby. 56 seconds, no sound.
What the film shows
  1. In the dashboard, a Meilisearch index named movies is created and seeded with 20 sample movies.
  2. Five quiet minutes later, the Engines page shows the engine as Sleeping.
  3. A search for "galactic" in the playground wakes it and returns "Galactic Horizons". The engine page lists the wake: a warm start, served, ready in 195 ms.
  4. The engine is switched to Always on. The confirmation says what changes, including a standby on a second server.
  5. About 40 seconds later, the engine page shows "Standby: ready on ewr1-a, up to date."

01Free

Free that stays free.

Sign up with GitHub or Google. There's no card to enter, so there's nothing to charge. Free has a hard cap: it can't send you a bill, and reaching its limits never deletes your data.

What each plan includes
Free$0a month
Card to sign up
None.
Searches
25,000 searches a month, then 1 a second.
Stored data
100 MB of stored data.
Engines
Sleeping Meilisearch, Typesense and Visor: one of each at 512 MB.
Over the limits
No overage. Free never sends a bill.
Your data
Kept. A limit or a quiet month never deletes it.

02Production

Production when you need it.

When search becomes something your users count on, switch its engine to Always on. It stops sleeping, so no search waits for a wake.

On a paid plan, an always-on Meilisearch, Elasticsearch or Visor engine keeps a live copy on our second server. For Visor that takes version 0.1.3 or later, which every new Visor engine runs. If its server fails, searches move to the copy within seconds. Writes come back in about 2 to 3 minutes, when the copy's server takes over. Nobody has to do anything.

On Pro and Scale, a busy always-on Meilisearch, Elasticsearch or Typesense engine also gets more CPU when traffic spikes, up to four times what its size comes with. It is on by default, with a monthly cap you set.

What the copy covers, and what it doesn't

9,177 of 9,177

searches answered in a failover drill on November 8, while we cut one server off from our control plane for 10 minutes. Its engines took writes on the other server about 2 minutes 20 seconds in, and every acknowledged write was there afterwards.

87 to 336

searches a second from one always-on Meilisearch engine in a spike drill on November 9, as its CPU went from 2 to 8 within 72 seconds. All 107,335 searches were answered.
From our status page: November 6, 2026Read the incident
  1. 04:16 UTC

    One of our two servers loses its network.

  2. 04:18 UTC

    Failover moves its engines to the other server by itself. Eight always-on engines take over from their live copies.

  3. Since November 7

    api.headband.dev runs on both servers behind a health-checked load balancer.

03Your client

Your engine, your client.

Headband serves each engine's own API, untranslated. Keep the Meilisearch, Typesense or Elasticsearch client you already use, and change two things: the host and the key.

  • Pick the engine per index. A catalog on Meilisearch and autocomplete on Typesense, side by side, under one key per environment.On Wayfair's public product-search benchmark, no engine was best at everything. Elasticsearch ranked whole queries best. With one setting changed, Typesense ranked half-typed ones best. That is why Headband lets you pick one per index.
  • Search for every preview deploy. headband branch ensure forks a branch's Meilisearch and Elasticsearch engines in seconds, so each preview gets its own copy of search.
  • About a millisecond. At the median, api.headband.dev adds about a millisecond or less over calling a Meilisearch, Typesense or Visor engine directly, measured on our servers. From a server on the US East Coast, a search through api.headband.dev/v1 answers in 13 to 22 ms at the median, depending on the engine.

meilisearch (Node)

import { Meilisearch } from "meilisearch"; const host = "https://api.headband.dev"; const client = new Meilisearch({  host: `${host}/meilisearch`,  apiKey: process.env.HEADBAND_API_KEY,}); const { hits } = await client  .index("movies")  .search("wonder");
The lines you change: the host and your Headband key.

The engines

Every retrieval job has a best engine. Run them side by side.

  1. Meilisearch

    For catalogs and your first index.

    Typo tolerance is on by default, and every setting applies to a live index.

    Sleeps when idle. Median wake: 168 ms.

  2. Typesense

    For autocomplete and search-as-you-type.

    Set the schema once and it stays out of the way.

    Sleeps when idle. Median wake: 65 ms.

  3. Elasticsearch

    For documents and large corpora.

    Native vectors with kNN, fused with keyword results by Headband, on the free license.

    Runs always on. It doesn't sleep.

  4. Visor

    For search boxes that take short and long queries.

    ZVN's own engine, run by Headband. One index answers as-you-type in instant mode and long queries with BM25F retrieval, picked per request.

    Sleeps when idle. Median wake: 150 ms.

Moving an index to another engine is a reindex, not a rewrite. Bring your own Meilisearch, Typesense or Elasticsearch when an index has to stay in your infrastructure.

Also in the box

From the terminal to your first search.

Create an index, push documents and search, or call the REST API directly. Search keys are safe in the browser; admin keys stay on your server.

Postgres sync is in early access. Ask for it.

Terminal

$ npm install -g @headband/cli$ headband login$ headband indexes create products \  --engine meilisearch$ headband docs push products.json \  --index products$ headband search products "red wine"
Or call the REST API: POST /v1/searchGetting started

Pricing

Start free. Pay when it's production.

Free never asks for a card. Paid plans add always-on RAM, a warm standby for Meilisearch, Elasticsearch and current Visor engines, and more searches and storage. Usage above what a plan includes is billed at its rates.

Free

$0a month

For side projects and prototypes

  • Sleeping Meilisearch, Typesense and Visor: one of each at 512 MB
  • 25,000 searches a month, then 1 a second
  • 100 MB of stored data
Get started free

Starter

$12a month

For a small production app

  • All 4 engines, as many as you need
  • 250,000 searches a month
  • 250 MB of stored data
Choose Starter

Pro

$69a month

For growing products

  • All 4 engines, as many as you need
  • 2M searches a month
  • 2 GB of stored data
Choose Pro

Scale

$249a month

For busy production search

  • All 4 engines, as many as you need
  • 20M searches a month
  • 10 GB of stored data
Choose Scale
See full pricing details

Start free.

No card, a hard cap, never a bill. Free to start. Paid plans from $12 a month.