Open source · Built on Meilisearch

Search that understands commerce.And shows its work.

OrbSearch turns your catalog into fast search and navigation that knows what shoppers mean, follows your rules and explains every result.

Try the demo shop

Self-hosted · AGPL + MIT

The demo catalog as a sphere of dots, one for each product, its categories as continents, the products of the first search lit
grey velvet sofa
CategorySofasColorGrey
Kaldern Emerly Modern Sofa Chaise, 96"W
Kaldern Emerly Modern Sofa Chaise, 96"W€1,369.90
Kaldern Frederick Mid-Century Modern Tufted Velvet Sofa Couch, 77.5"W, Grey
Kaldern Frederick Mid-Century Modern Tufted Velvet Sofa Couch, 77.5"W, Grey€284.99
Kaldern Eva Mid-Century Modern Tufted Velvet Down-Filled Loveseat Sofa Couch, 60.5"W
Kaldern Eva Mid-Century Modern Tufted Velvet Down-Filled Loveseat Sofa Couch, 60.5"W€525.99
Kaldern Emerly Modern Sectional Sofa, 96"W
Kaldern Emerly Modern Sectional Sofa, 96"W€665.99

8 of 5,098 · 6.0 ms · Release d48231f

Autocomplete, p95
<25ms
Publish to a live pin
<1s
Results explained
100%
Caches to invalidate
0

For a catalog of 10,000 productsHow we measure

Takes your export as it is

Merchant Center XML

CSV

TSV

Excel

JSON

Gzip

03 · The problem

Commerce search is a black box.Or a box of parts.

Closed suites

Strong features, but ranking you can't look into, and a contract that is hard to get out of.

Generic engines

Fast and open, but they can't tell a sofa from a sofa bed. Each team rebuilds the rest.

OrbSearch

Meilisearch retrieves. OrbSearch understands the query, applies your rules and shows why.

04 · How it works

From export to live search.Your shop stays the source of truth.

  1. 01

    Drop your export.

    Up to 2 GB of Merchant Center XML, CSV, Excel or JSON, as your shop writes it.

  2. 02

    Read by its own data.

    Units, colors and sizes are read from the values. What isn't lands in the report.

  3. 03

    Publish a release.

    Every setting is data in a release. Preview the draft, publish it, roll back in a click.

  4. 04

    Live in seconds.

    Prices and stock change in place, without a rebuild. Answers name their release.

Snapshot 2026-10-09Release 79f2487Live

05 · Shoppers

Understands what shoppers mean.In their words and their language.

graues sofa
ColorGrauCategorySofas

149 results

Words become filters.

“graues sofa” finds the sofas, already filtered to grey.

weiss vase
ColorWeißCategoryVasen

10 results

Forgiving, but exact.

“weiss” finds Weiß, but a typo in a part number finds no other.

couch
CategorySofas
couch, sofa

394 results

Synonyms in one line.

Write “couch, sofa”, press Enter, and couch finds the sofas.

teppich 160 x 230
Size160 × 230 cm
teppich unter 200 €
Price≤ 200 €

Units and sizes.

“160 x 230” becomes a size and “unter 200 €” a price range.

sof
  • Sofas
  • Soft White
  • Sofabett
  • Sofatisch
  • Soft Brass

Your catalog suggests.

Categories, brands and values as they type: 20.6 ms at p95.

yellow velvet sofa
ColorYellowCategorySofas

21 results without Color Yellow

Never a dead end.

When nothing matches, it drops its guesses and says which.

06 · Merchants

Every result explains itself.Why it's here. Why it isn't.

grey velvet sofa
CategorySofasColorGrey
Kaldern Frederick Mid-Century Modern Tufted Velvet Sofa Couch, 77.5"W, Grey
Kaldern Frederick Mid-Century Modern Tufted Velvet Sofa Couch, 77.5"W, Grey€284.99
Pinned
Villa Marden Westcott Tufted Loveseat Sofa Couch, 60"W, Velvet
Villa Marden Westcott Tufted Loveseat Sofa Couch, 60"W, Velvet€1,337.90
Boosted
Kaldern Emerly Modern Sofa Chaise, 96"W
Kaldern Emerly Modern Sofa Chaise, 96"W€1,369.90
Kaldern Eva Mid-Century Modern Tufted Velvet Down-Filled Loveseat Sofa Couch, 60.5"W
Kaldern Eva Mid-Century Modern Tufted Velvet Down-Filled Loveseat Sofa Couch, 60.5"W€525.99
Kaldern Emerly Modern Sectional Sofa, 96"W
Kaldern Emerly Modern Sectional Sofa, 96"W€665.99
Kaldern Emerly Modern Loveseat Sofa, 63"W
Kaldern Emerly Modern Loveseat Sofa, 63"W€1,113.99

Villa Marden Westcott Tufted Loveseat Sofa Couch, 60"W, Velvet

Position 2 of 8

  • Boost

    The rule “Velvet in autumn” boosts it. · until 30 Nov

  • Query

    “sofa” named Category Sofas

  • Query

    “grey” named Color Grey

  • Text

    Found by every word of the query.

  • Score

    Its business score of 0.29 orders it among the hits that match as well.

    rating 0.22sales_30d 0.07released_at 0.00

Release 9e25efbSnapshot 60e5960

Arrange without a ticket.

Pin by drag.

Drag a product to the first place, and the others make room.

Banners in their slot.

A banner takes its place in the grid, for the window you set.

Publish in place.

Every change goes live as a release you can take back.

07 · Developers

An API that reads like prose.Typed, documented, ready for agents.

  • Every type in one request.

    Products, categories, brands and content, in sections.

  • Your URLs stay yours.

    Resolve any path of your shop, with real 301 and 410 answers.

  • Parts you can swap.

    React components restyled by tokens, or the typed client.

import { ProductTile, useTile, type TileProps } from "@orbsearch/react";export function ShopTile(props: TileProps) {return (<ProductTile.Root {...props}><ProductTile.Title /><ProductTile.Media><ProductTile.Image /><ProductTile.Badges><QuickBadge /></ProductTile.Badges></ProductTile.Media><ProductTile.Price /><ProductTile.Brand /></ProductTile.Root>);}function QuickBadge() {const { product } = useTile();if (product.delivery === null || product.delivery.max > 2) return null;return <ProductTile.Badge>Schnell bei dir</ProductTile.Badge>;}

Response

POST /v1/search {"query":"graues sofa","per_page":2,"debug":true}{"release": "d48231fd8ff340a3cff76b2c","query": {"typed": "graues sofa","searched": "graues sofa"},"sections": [{"type": "product","total": 149,"hits": [{"entity": "product:B07BW8P2DS","fields": {"title": "Fjordholm Andover Schonbezug Sitzgruppe, leinen","price": 1459.9}},{"entity": "product:B07JC4M6VR","fields": {"title": "Kaldern Rockwood Modernes Sofa, Polyester, dunkelgrau","price": 1006.99}}]}],"trace": {"steps": [{"step": "resolve","detections": [{"words": "sofa","as": {"category": { "within": "wohnen/sofas" }},"entry": "the title \"Sofas\" of the category wohnen/sofas"},{"words": "graues","as": { "color": "grey" },"entry": "the label \"Grau\" of the color grey"}]}],"timings": {"total_ms": 4.77,"own_ms": 0.6,"before_engine_ms": 0.21}}}

Every docs page as Markdownllms.txtOpenAPI

08 · Engine room

Fast without a cache.Pure computation and one engine call.

The Query API is written in Rust and compiles your configuration when you publish. A query is pure computation plus one call to Meilisearch, so nothing can go stale.

Search · “grey velvet sofa”Median of 50 runs

5.66ms100× slower

Understand and plan0.27 ms
Meilisearch · multi-search4.97 ms
Assemble and explain0.42 ms

Rust API 0.68 ms

The rest is one call to Meilisearch

Autocomplete, p95
20.6ms
Product lookup, p95
3.0ms
Search, p95
18.9ms

09 · Every shopper

Built for every shopper.WCAG 2.2 AA is our release gate.

Keyboard, screen readers, visible focus and reduced motion are built and tested with every component, as EU law has asked of online shops since June 2025.

10 · Open source

Yours to run.Yours to read.

$ make .env$ docker compose up --detach --waitpostgresLivemeilisearchLiveorbsearchLiveindexerLivecontrolLive# then upload your catalog and publish a release$ curl -s 'localhost:7800/v1/search?query=sofa'{"query_id": "01a12053-a6a4-76bc-922e-4b25f975bd2b","release": "d48231fd8ff340a3cff76b2c","snapshot": "60e5960671ed88e632e9836a","query": {"typed": "sofa","searched": "sofa"},$
Server
AGPL-3.0
Client and components
MIT
Contributions
DCO
The demo catalog as a sphere of dots, one for each product, its categories as continents, the products of the first search lit

Find what shoppers mean.