Skip to main content
The Octogen search endpoint lets you find products across all active crawled catalogs using free-text queries, structured facet filters, and price range constraints — in any combination. Omit catalog to search every active crawled catalog. Include catalog only when you want to restrict search to one known active crawled catalog.

How search works

When you call POST /v1/products/search, Octogen runs the query against all active crawled catalogs by default, or one active crawled catalog when catalog is provided. The response returns a page of matching items and an opaque nextCursor you use to fetch subsequent pages. Each item in items is a lightweight product record — enough to render a card or feed a ranking model — while the full canonical record is available via product lookup. If you already have a source product and want similar items, use More Like This instead of inventing a keyword query. Pass a free-text string as q to search by keyword. Omit q entirely to browse without any keyword filter.

Faceted filtering

Facets let you filter by structured product attributes. Each facet is an object with a name and a values array. You can apply multiple facets in a single request — the filters are combined with AND logic, so each additional facet narrows the result set. The FacetName enum defines the supported facet keys: Facet values are case-insensitive and phrase values may contain spaces. You can also pass dynamic attribute keys directly (e.g. fit, or its fully-qualified form attribute_facets.fit).

Price range filtering

Use price_min and price_max to restrict results to a price range. Both bounds are inclusive. You can use either bound on its own.

Combined example: keyword, facets, and price range

You can combine q, facets, and price filters in a single request. All active filters are applied together.

Understanding results

Each search response contains two top-level fields: Each item in items contains the following fields:
To get the full product record with fields like description, sizes, colors, variants, identifiers, and enrichment, use product lookup with the productUrl from a search result.