Get started

Overview

Findlane is hosted product search for online stores. Upload your catalog from your server, then search it from your storefront with typo tolerance, facets, filters, and sorting.

How it works

  1. Upload your catalog. Your server sends product records to an index with a secret API key, using @findlane/server or the HTTP API. Writes are searchable as soon as they return.
  2. Choose how it searches. Pick the fields to search and how much each counts, and the fields shoppers can filter, facet, and sort by. You can change them at any time, and the index keeps serving searches while a change applies.
  3. Search from the storefront. The browser calls the index with its public ID, using @findlane/browser. Only origins you allow can use it.

Concepts

TermWhat it is
WorkspaceYour team's account: its members, API keys, indexes, and plan.
IndexA searchable collection of records, such as a store's products, with its own settings. A workspace can have several, for example one per store or language.
RecordA JSON object with a string objectID: one product, with the fields you want to search, filter, show, or sort by.
API keyA secret for your server. It has the search scope, the write scope, or both, and can be limited to one index.
Public IDAn index's ID for browser search (pub_…). It is public by design: it can only search, only its own index, and only from allowed origins.

Where to start

  • Quick start: upload a catalog and search it from a page, in about ten minutes.
  • Records: what a record looks like, and keeping records in sync with your store.
  • Search settings: searchable fields, facets, filters, sorts, ranking, and synonyms.
  • Searching: queries, filters, facets, paging, and highlighting.
  • Security: API keys, public IDs, and what browser search exposes.

Packages

PackageRuns inAuthenticates with
@findlane/serverNode.js 18+, Bun, Deno, and edge runtimesA workspace API key
@findlane/browserBrowsersAn index's public ID

Both are small, typed, and have no dependencies. From other languages, call the HTTP API directly.

Use with AI assistants

Every page is also plain Markdown: add .md to its address, as in /docs/quick-start.md, or use Copy page at the top. For coding assistants and other LLM tools: