Features

The search engine your references deserve.

Annotation cascade, typo tolerance, business synonyms, industry rule packs: it's all there, packaged, ready to plug into your catalog in a few API calls. Not a kit to assemble — a complete engine.

Understand your references

Annotation cascade

Regex rules organized in levels: level 1 recognizes raw patterns in text ("m8" → diameter, "20" after an "x" → length), level 2 composes those annotations together (diameter + length → full reference). Documents and queries go through the same cascade — matching happens in a shared space, not just on words.

"m8x20"  →  DIAM_M8 + LONG_20  →  VIS_M8X20
"M8 x 20 — A2" (product record)  →  same result
How it works →

Compound references

6205-2RS, W32L34, M8.5: normalization preserves internal separators (dots, dashes, slashes) so these references stay a single token, instead of being shattered into meaningless pieces.

Product structure →

Typo tolerance

Bounded Damerau-Levenshtein distance: 1 typo tolerated from 4 characters, 2 beyond 8. On numeric references, tolerance is capped at 1 typo — a changed digit means a different product, not a typo.

See the live demo above →

Accents and case ignored

"Screw", "SCREW", "screw": same normalized query, same results. Normalization applies identically to indexed documents and queries, before any other step.

Adapt the engine to your catalog

Industry rule packs

Three packs ship with the engine — hardware (DIN/ISO standards, diameters, materials), fashion (compound sizes, colors, materials), industry (bearings, standardized references). A custom pack for your specific references is available on Scale plans.

Endpoint /v1/rulepacks →

Business synonyms

"Screw" finds "bolt", "drill" finds "driver". Synonym groups are API-managed, with automatic merging of groups that share a term — no manual duplicate handling.

PUT /v1/index/{catalog}/synonyms
{"groups": [["screw", "bolt", "fastener"]]}
Synonyms endpoint →

Multi-catalog

One account, as many catalogs as you need — per language, per brand, per site. Each catalog has its own rule pack, its own synonyms, its own index.

Indexing endpoint →

Faceted search

Filter by genre, country, dimension, material... with disjunctive counting per group: selecting "Sweden" doesn't erase the other countries from the count — exactly like a standard e-commerce filter sidebar. This is what powers the prisms in the homepage demo.

{"q": "crime", "facets": ["PAYS"], "filters": ["PAYS_SE"]}
→ "facets": {"PAYS": {"PAYS_SE": 12, "PAYS_FR": 34, ...}}
Facets and filters →
Search across multiple catalogs

Federated search

A multilingual site, multiple brands? Query several catalogs in one call, results merged by relevance, each result flagged with its source. Scoring weights are global to the engine: comparable across catalogs, even with different rule packs.

POST /v1/federated-search
{"catalogs": ["store-fr", "store-en"], "q": "red sweater"}
Federated search endpoint →

Browse mode (no query)

A search with an empty query becomes a pure catalog browse — combined with facets, it's how you build a filterable category page without a visitor needing to type anything.

Deliver the right results

Relevance, then stock

Weighted fields (reference > name > description), a composite score including shared annotations, then availability as a tiebreaker at equal score — an out-of-stock product never outranks an equivalent available one.

Search endpoint →

Explainable results

Every result includes a matched field listing why it ranks: term found, typo corrected, shared annotation. It's your diagnostic tool when a result surprises you.

"matched": ["annotation #VIS_M8X20", "term 'stainless'"]
See a sample response →

Pagination

Standard limit and offset parameters, up to 100 results per page.

Search parameters →
Operate with confidence

Batch indexing

Up to 5,000 products per call, automatic upsert on the identifier, catalog created on the fly from the first send.

Indexing endpoint →

Transparent usage

Public counting rules (1 search = 1 request, 1,000 indexed products = 10 requests), usage available in real time via the API. Never a surprise cutoff on overage.

How counting works →

Data in France

Engine designed and built in France, OVH hosting (Gravelines or Strasbourg). Your catalogs never leave the European Union.

Our story →

Try it on your catalog.

14-day free trial: up to 2,000 requests and 2,000 products, no credit card.

14-day free trial

Try the Search API on your catalog, no credit card.

See pricing