Skip to main content

Self-Hosted Search TCO in 2026: Algolia's Per-Query Meter vs Typesense or Meilisearch on a Hetzner Box

9 min readDora NodaDora Noda
Share
On this page

Every keystroke in your search bar runs a meter. On Algolia's Grow plan, 1 million searches a month over a 250,000-record catalog bills (1,000,000 − 10,000) ÷ 1,000 × $0.50 = $495 for the searches plus (250,000 − 100,000) ÷ 1,000 × $0.40 = $60 for the records: about $555/month, before AI ranking pushes you to Grow Plus at $1.75 per 1,000 searches (rates per Meilisearch's August 2026 pricing breakdown). The same workload on a self-hosted engine runs on a Hetzner box that costs less per month than that bill costs per day.

That gap is the whole story — but the meter is only half the ledger. A June 2026 headless-search TCO study modeled three years of license plus engineering labor at 250,000 SKUs and put Algolia at $192,000–$360,000, Typesense Cloud at $108,000–$192,000, and self-hosted Meilisearch on GCP at $96,000–$168,000. Apply the study's own labor model to Hetzner hardware instead of GCP and both self-hosted rows drop another $14,000–$27,000 in infrastructure:

3-year TCO at 250K SKUsLicense + infraEngineering ownershipTotal
Algolia$48–96K/yr0.5–1.5 days/mo$192–360K
Typesense Cloud$14.4–24K/yr2–4 days/mo$108–192K
Meilisearch, self-hosted on GCP$4.8–9.6K/yr4–8 days/mo$96–168K
Typesense, self-hosted on Hetzner~$0.1–0.7K/yr4–8 days/mo~$82–145K
Meilisearch, self-hosted on Hetzner~$0.1–0.7K/yr4–8 days/mo~$82–141K

The first three rows are the study's numbers; the Hetzner rows are my extension of them, swapping GCP infrastructure for a Hetzner Cloud CX33 (€8.49/month) up to a dedicated AX41-NVMe (~€43–57/month) — figures consistent with our own hardware-cost tracking. Either Hetzner row saves roughly $110,000–$219,000 over three years against Algolia. And the punchline of every row: the license gap is an order of magnitude, but the TCO gap closes hard once labor is priced in — at a fully loaded $200,000/year senior engineer ($770/day), the swing between Algolia's ~1 day a month and self-hosting's ~6 days a month is roughly $46,000 a year by itself.

Anatomy of the meter​

Algolia's 2026 ladder has four rungs. Build is free: 10,000 search requests and 10,000 records a month, no credit card. Grow is pay-as-you-go at $0.50 per 1,000 searches beyond 10,000 included, plus $0.40 per 1,000 records beyond 100,000. Grow Plus keeps the same allowances but charges $1.75 per 1,000 searches for AI synonyms, AI ranking, advanced personalization, and 90-day analytics. Elevate is custom annual enterprise pricing with the full AI suite and NeuralSearch (Algolia's pricing page, via Meilisearch's breakdown).

Two things trip upgrades, and neither is search volume alone. Record growth past 100,000 starts a second meter that never stops — a catalog that doubles pays twice even if traffic is flat. And the moment merchandising wants AI ranking or personalization, the per-search rate more than triples from $0.50 to $1.75.

At small scale the meter is genuinely cheap, which is worth saying plainly. A 100,000-document catalog doing 50,000 searches a month pays about $20 on Grow (records fully inside the allowance, 40,000 billable searches at the $0.50 rate) — less than Meilisearch Cloud's own $30/month estimator example for the identical shape. The meter only becomes a tax at scale: independent 2026 guides put active mid-market Algolia stores at roughly £400–£1,200/month, and per-query cost comparisons land Algolia near $0.001 a query against $0 marginal on a self-hosted box.

Where the lines cross​

Fix the catalog at 250,000 SKUs ($60/month in records) and vary only traffic. Algolia Grow bills:

Searches/monthAlgolia Grow billHetzner infra (either engine)
100,000~$105/mo~$9–62/mo
1,000,000~$555/mo~$9–62/mo
5,000,000~$2,555/mo~$9–62/mo

The right column barely moves because a CX33 at €8.49/month or an AX41 dedicated box at ~€43–57/month doesn't care how many queries hit it. The left column multiplies 24x across the same range. This is the sensitivity that decides the purchase — but only together with the labor variable the table can't show.

At 100,000 searches, Algolia's $105/month beats any version of self-hosting that requires hiring: 4–8 engineering days a month at $770/day is $3,080–$6,160/month at marginal rates, thirty times the bill. At 5 million searches, Algolia's $2,555/month is roughly one low-end ownership month — and a team that already employs the infrastructure engineer pays $0 marginal labor either way. The honest crossover question is never "which is cheaper" but "is the ownership labor sunk or marginal": a team with spare infra capacity wins by self-hosting almost immediately, while a lean team that would hire for it should stay metered well past 1 million searches.

The labor line item nobody puts on the pricing page​

The study's ownership ladder is the most useful number in this post: Algolia 0.5–1.5 days a month, Typesense Cloud 2–4, self-hosted Meilisearch 4–8. On Algolia the vendor owns indexing infrastructure, failover, multi-region replication, and patching; your days go to source-data quality, schema design, and relevance tuning — work no vendor can absorb. Self-hosting hands you the deployment topology, the indexing pipeline, failover and disaster recovery, and the upgrade cycle.

The indexing pipeline is where those days actually go. Every production setup converges on the same pattern regardless of engine: write-through indexing for immediacy (index on write, with a background job and retry where eventual consistency is acceptable) plus a scheduled full re-index as the safety net against drift, with change-data-capture via webhooks or Postgres logical replication for the cases write-through misses (Codercops' 2026 comparison summarizes the pattern well). On Algolia and Typesense Cloud the vendor-managed side of that pipeline is an API call; self-hosted, the scheduled jobs, the webhook receivers, and the 3 a.m. pages are yours.

Set against that labor, the infrastructure menu is almost a rounding error:

PathInfra costMeter
Typesense Cloudfrom $0.03/hr (~$21.60/mo for 0.5 GB)none per search; bandwidth billed per GB
Meilisearch Cloudfrom $20/mo, single planusage- or resource-based, no forced tier jumps
Hetzner Cloud CX33 (4 vCPU / 8 GB)€8.49/mo, 20 TB traffic includednone
Hetzner AX41-NVMe dedicated~€43–57/monone

Typesense Cloud's resource-based hourly billing with no per-search fee is why its 3-year TCO lands 40–50% below Algolia's at this scale. Meilisearch Cloud's single $20-and-up plan with dual billing is the lowest-commitment managed exit from the per-query meter. And unmanaged self-hosting guides bracket the same territory at roughly £40–£120/month on commodity cloud — Hetzner sits well under that floor.

Typesense or Meilisearch? Only the differences that move the bill​

Strip away the feature matrices and two cost-driving differences remain. First, memory architecture sizes your box: Typesense keeps its index in RAM, so required memory tracks dataset size and a growing catalog eventually forces a bigger machine; Meilisearch is disk-backed with OS-managed memory, so the index can exceed RAM on the same box. In Hetzner terms that is at most one box-size step — on the order of €10–40/month — which is noise against a $37,000–$74,000/year labor band, but it is the one systematic infra-cost difference between the engines.

Second, schema strictness prices your launch: Typesense wants an explicit typed schema that fails loudly on bad data (schema changes go through a collection swap), while Meilisearch infers field types automatically and gets a working index up fastest (Codercops' hands-on comparison covers both behaviors). That is a few labor days at build time and on every reindex-heavy schema change — felt inside the 4–8 days/month band, not outside it. (Licensing for the lawyers: Typesense GPL-3.0, Meilisearch MIT — worth a review if you distribute the engine inside a proprietary product, irrelevant to the hosting math.)

Everything else the comparison guides argue about — raw latency, language support, dashboard polish — doesn't move the TCO needle at typical SaaS scale. All three engines answer in milliseconds at a few million documents; performance only becomes a selection criterion near 100 million documents or high query concurrency.

The Postgres floor​

Below a certain scale the cheapest engine is the database you already run. Postgres full-text search — tsvector, tsquery, trigram indexes via pg_trgm — handles straightforward product and content search with zero new services and zero new bills. The TCO study's Shopify analogue makes the same point from the platform side: under ~25,000 SKUs without a merchandising program, native platform search wins at zero TCO.

Three concrete triggers say you've outgrown it: your users expect typo tolerance that trigrams approximate but never quite deliver, you need faceted filtering at interactive speed across large catalogs, or relevance tuning has become a job that shouldn't require IR expertise. Until one of those bites, a dedicated engine — metered or self-hosted — is a solution ahead of its problem.

Verdict by team shape​

Your teamPickWhy
Lean (1–2 engineers on search), or merchandisers drive relevanceAlgoliaVendor owns ops; the merchandising dashboard is the moat — worth the premium
Mid-size, API-first, wants managed infra without the premiumTypesense Cloud40–50% below Algolia over 3 years, no per-search meter
Infra capacity in-house, predictable traffic, eng-owned relevanceSelf-hosted Typesense or Meilisearch on HetznerLowest 3-year TCO by ~$110–219K vs Algolia — if the labor is sunk, not hired
Small catalog, simple matchingPostgres FTS / native platform searchZero TCO until typo tolerance, facets, or tuning force the move

The pattern generalizes beyond search: metered SaaS wins while the meter is small and the alternative is a hire; owned infrastructure wins the moment traffic outgrows the bill and the team already exists. Price the labor line before you price the license — it's the only number on the page that can flip the ranking.

Bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on machines you own. A self-hosted search engine is exactly the kind of tenant workload it exists for: Typesense or Meilisearch as a deploy-from-git service on your own Hetzner fleet, no per-query meter attached. Star the repo on GitHub or deploy your first app today.

Related articles

Run this on infrastructure you own

bex is the open-source, AI-native Render alternative — push a git repo and get a running HTTPS service on your own machines.

Get started with bex