Pricing
Simple, predictable pricing.
Free to start. Scale when you need to. Bring your own engine on any plan: your search index stays in your own cluster.
Beta pricing. We may adjust prices as we learn; you get 30 days' notice by email first.
Free
$0a month
For side projects and prototypes
- Sleeping Meilisearch, Typesense and Visor: one of each at 512 MB
- 100 MB of stored data
- 25,000 searches a month, then 1 a second
- 1 project
- Community support
Starter
$12a month
For a small production app
- All 4 engines, as many as you need
- 250 MB of stored data
- 250,000 searches a month
- 3 projects
- Email support, first response within 1 business day
- Sleeping engines up to 1 GB; larger ones run Always on
- Always-on RAM: 512 MBMemory for engines that never sleep
Pro
$69a month
For growing products
- All 4 engines, as many as you need
- 2 GB of stored data
- 2M searches a month
- 10 projects
- Email support, first response within 1 business day
- Sleeping engines up to 8 GB; larger ones run Always on
- Always-on RAM: 4 GBMemory for engines that never sleep
Scale
$249a month
For busy production search
- All 4 engines, as many as you need
- 10 GB of stored data
- 20M searches a month
- Unlimited projects
- Priority support, first response within 4 business hours
- Sleeping engines up to 32 GB; larger ones run Always on
- Always-on RAM: 16 GBMemory for engines that never sleep
Free never asks for a card and never bills you. Paid plans keep serving past what they include and bill what goes over. What Always on and Spike capacity mean
| Free | Starter | Pro | Scale | ||
|---|---|---|---|---|---|
| Branches per project | 5 | 15 | 50 | 200 | |
| Rate limit | 5 searches a second (bursts of 20), 1 write a second | 25 searches a second (bursts of 100), 5 writes a second | 100 searches a second (bursts of 400), 20 writes a second | 500 searches a second (bursts of 2,000), 50 writes a second | |
| Spike capacityWhen searches on an always-on engine spike | None: no always-on engines | Your standby answers overflow searches | More CPU within a minute for always-on Elasticsearch, Meilisearch and Typesense, up to 4x, 20 GB-hours a month included, then $0.05 per GB-hour, capped at $25 a month unless you change it. Your standby answers overflow searches. | More CPU within a minute for always-on Elasticsearch, Meilisearch and Typesense, up to 4x, 100 GB-hours a month included, then $0.04 per GB-hour, capped at $100 a month unless you change it. Your standby answers overflow searches. | |
| Bring Your Own Engine | Included | Included | Included | Included | Every plan |
| Search analytics | Included | Included | Included | Included | Every plan |
| MCP server for agents | Included | Included | Included | Included | Every plan |
Every plan's branches include main. Bring Your Own Engine takes Meilisearch, Typesense or Elasticsearch; Visor is run by Headband only.
Usage above what your plan includes
| Starter | Pro | Scale | |
|---|---|---|---|
| Stored data, per GB a month | $50 | $40 | $30 |
| Searches, per 1,000 | $0.03 | $0.02 | $0.01 |
| Always-on RAM, per GB a month | $18 | $15 | $12 |
Always-on engines are billed by RAM only, so their searches and stored data are not billed on top. Stored data is counted in GB of 1,000 MB. RAM is counted in GB of 1,024 MB, so an engine has a little more memory than its size says.
Two kinds of engine
- Sleeping (the default)
- Sleeps when idle and wakes on the next search. You pay for stored data and searches, never for its RAM, so each plan caps its size: 512 MB on Free, 1 GB on Starter, 8 GB on Pro and 32 GB on Scale. Measured wake times
- Always on
- Never sleeps. You pay for its RAM, and its searches and storage are included. Best for busy production search. Elasticsearch starts at Starter because it can't sleep and runs all the time.
- On a paid plan, an always-on Meilisearch, Elasticsearch or Visor engine on bucket storage, the default for new engines, normally keeps a standby: a live read-only copy on our other server, which answers its searches if its server fails. If a server fails
- Spike capacity
- What a paid plan does when searches on an always-on engine spike. The standby, where the engine has one, answers the searches the engine cannot take. On Pro and Scale, an always-on Elasticsearch, Meilisearch or Typesense engine also gets more CPU for a while, up to a monthly cap you set. The plan cards give the terms.
What more RAM buys you
Meilisearch
RAM is what makes Meilisearch fast: it reads its index from disk through memory. At 1M documents, 8 GB served 12 times the searches of 2 GB, and almost 6 times those of 4 GB with the same 6 CPUs. 1M documents do not fit in 1 GB, because the index needs about 9.5 GB of disk and the 1 GB size allows 8.5 GB.
| Size | 1M docs | p95 | 100K docs | p95 |
|---|---|---|---|---|
| 512 MB | Not measured | 320 | 82 ms | |
| 1 GB | Does not fit | 2,562 | 1.9 ms | |
| 2 GB | 143 | 72 ms | 4,302 | 1.4 ms |
| 4 GB | 308 | 28 ms | Not measured | |
| 8 GB | 1,799 | 6.2 ms | Not measured | |
Typesense
More RAM does not make Typesense faster once its index fits. At 1M documents, 2 GB and 4 GB served about the same 106 to 110 searches a second. Its speed follows CPU: at 100K, 2 GB has 4 CPUs to 1 GB's 2 and served twice as many searches.
| Size | 1M docs | p95 | 100K docs | p95 |
|---|---|---|---|---|
| 512 MB | Not measured | 400 | 59 ms | |
| 1 GB | Not measured | 406 | 59 ms | |
| 2 GB | 106 | 151 ms | 798 | 16 ms |
| 4 GB | 110 | 146 ms | Not measured | |
| 8 GB | Not measured | Not measured | ||
Elasticsearch
At 1M documents, going from 2 GB to 4 GB more than doubled Elasticsearch's searches a second and cut p95 from 68 to 27 ms. 8 GB gives the same speed as 4 GB: both have 6 CPUs, and both served about 270 searches a second. Pick 8 GB only if your index needs the memory. At 100K, the gain from 1 GB to 2 GB came with the extra CPUs.
| Size | 1M docs | p95 | 100K docs | p95 |
|---|---|---|---|---|
| 1 GB | Not measured | 283 | 67 ms | |
| 2 GB | 122 | 68 ms | 782 | 9.3 ms |
| 4 GB | 273 | 27 ms | Not measured | |
| 8 GB | 268 | 27 ms | Not measured | |
Measured on always-on engines on our production hardware, through the public engine endpoint, with synthetic 1 KB product documents and 4 clients searching back to back. One run per size, on a server shared with customer engines, so treat the numbers as a guide: your data and queries will differ. How we measured.
Frequently asked questions
Yes. Free moves to a paid plan through checkout. Between Starter, Pro and Scale you switch in Billing at any time, and the change takes effect at once. An upgrade charges the prorated difference straight away. A move to a lower paid plan credits the unused time on your next invoice. To go back to Free, cancel in the billing portal. The cancellation takes effect at the end of your billing period, and your account moves to Free then.
After a downgrade or a cancel, everything keeps running for 3 days. Then Headband pauses the engines the new plan does not include and makes projects past its project limit read-only. Their data is kept, searches on read-only projects keep working, and an upgrade brings everything back. If a payment fails and is never recovered, the same happens 14 days after the plan ends.
On Free, searches past the monthly cap keep working at 1 a second until the cap resets; a faster search gets a 429 with code usage_throttled and a Retry-After header. A write past Free's stored data gets a 429 with code usage_limit_exceeded until you delete some. Upgrading ends both caps. A plan allowance, such as the number of projects, branches or engines, answers 402 with a code that starts with plan_, and an upgrade raises it. Paid plans never stop searches or writes for usage: usage above what the plan includes is billed at the plan's rates. Owners and admins get an email at 80% and at 100% of each included amount, and Billing shows the overage projected for the period. The rate limit on each plan's card covers searches and document writes (POST and DELETE /v1/documents, and writes on an engine's own endpoint), on headband.dev/v1, on api.headband.dev and on an engine's own endpoint. Bulk imports have their own limit per key, below. A burst over it gets a 429 with code rate_limited and a Retry-After header. On api.headband.dev and an engine's own endpoint each of our two servers counts it separately, so traffic split across both can reach up to twice the rate. Each API key may also make its plan's rate a minute, and never fewer than 1,000 searches or 100 writes a minute. Creating and deleting indexes, settings changes and bulk imports count as writes.
A Sleeping engine's RAM is never billed, so each plan caps its size at about 3 GB of RAM for each GB of stored data the plan includes: 1 GB on Starter, 8 GB on Pro and 32 GB on Scale. A larger engine runs Always on, where you pay for its RAM. Engines already larger than the cap keep running.
The size of your documents as JSON, averaged over the month. The same data costs the same on every engine we host. Indexes on your own engine are not billed for stored data, and always-on engines are billed by RAM only.
We are still learning what search costs to run. Prices may change, always with 30 days' notice by email.
Today you can Bring Your Own Engine: point indexes at your own Meilisearch, Typesense, or Elasticsearch cluster so the search index lives in your infrastructure. Headband still stores control-plane metadata, encrypted engine configs, hashed keys, usage, and analytics. Self-hosting the Headband platform itself is not offered today, and the platform's license is not final. The client packages (@headband/react, @headband/cli, @headband/sync and @headband/drizzle) are MIT licensed.
Community support (Free): no stated response time. Email support (Starter and Pro): first response within 1 business day. Priority support (Scale): first response within 4 business hours. What counts as a business day.
We accept all major credit cards, through Stripe. Paid plans bill monthly.
We offer discounts for startups, open-source projects, and educational institutions. Email sales@headband.dev to discuss.