We ship an Algolia-compatible REST surface and InstantSearch-equivalent widgets. Swap one constant, keep your UI, and cut your search bill by 5–10× at the low end — with native hybrid ranking Algolia still doesn't have.
"We pointed the existing Algolia client at AsterSearch on a Friday afternoon. Monday's bill cycle was the first one we didn't dread." — Eng lead, mid-market e-commerce design partner (private alpha)
Our REST surface mirrors Algolia's for the operations that matter. Migration is usually a one-line client swap plus a re-index.
| Algolia endpoint | AsterSearch endpoint | Status |
|---|---|---|
POST /1/indexes/<index>/queries | POST /1/indexes/<index>/queries | Supported |
POST /1/indexes/*/queries (multi-index) | POST /v1/multi-search | Up to 20 requests/batch |
POST /1/indexes/<index>/batch | POST /v1/batch (NDJSON) | HMAC + idempotency |
POST /1/indexes/<index>/settings | PUT /v1/indexes/<index> | Settings v1 |
objectID on documents | objectID as primary-key alias | Supported |
| InstantSearch widgets | @astersearch/react + @astersearch/sdk | Drop-in v1 |
| Personalization v2 | Segment boosts via function_score | Q3 GA |
| Query Suggestions auto-build | Use slow-query analytics | Manual today |
| Crawler advanced rules | Site Search Wizard + crawler | Sitemap-first v1 |
| Capability | Algolia | AsterSearch |
|---|---|---|
| Native hybrid (BM25 + vector + RRF) | Add-on, separate pricing | Built-in |
| Postgres CDC (logical replication) | No native connector | Lag < 5s p95 |
| Self-hostable | SaaS only | Single binary, open core |
| Wildcard / regex / exists queries | Limited | Native |
| Function-score with decay + filter_weight | Custom ranking only | Full ES-style composition |
| Filtered vector search in HNSW traversal | Post-filter | In-traversal predicate |
| Price at 10M searches / mo | ~$5,000 | $199 (Growth) |
| Multi-tenancy with per-tenant quotas | Per-app workarounds | Native |
npm install @astersearch/sdk @astersearch/react — drop-in for algoliasearch and react-instantsearch.
Bulk-import via POST /v1/batch (NDJSON). HMAC verified, Idempotency-Key honored, safe to retry.
Run both clients in parallel for a day. When recall matches, flip the URL. Roll back to Algolia just as fast.