Skip to main content
GET
Search Products

Search Products

There is no dedicated /search/products.json endpoint with faceted aggregations. Product search is available in two real forms, depending on whether you are building a storefront experience or calling the OAuth App API. GET /search/suggest.json runs against your store’s storefront origin (no OAuth token required) and returns predictive-search results across products, collections, articles and pages.

Parameters

string
required
Search query string. (Alias: query.)
string
default:"product,collection,article,page"
Comma-separated resource types to search. Allowed values: product, collection, article, page. (Alias: type.)
integer
default:"10"
Maximum results per resource type (capped at 50). (Alias: limit.)

Example Response

The response matches the predictive-search shape: a resources.results object keyed by resource type. There are no filters/facet aggregations.

Option 2 — App API product listing with title filter

The OAuth App API does not expose a search route. Instead, use GET /api/v1/products.json with the title query parameter, which performs a case-insensitive substring match on the product name. This requires the read_products scope.

Parameters

string
Case-insensitive substring match on the product name.
integer
default:"1"
Page number for pagination.
integer
default:"50"
Number of results per page.
string
Filter by product status.
string
Filter by exact handle.
string
Filter by a comma-separated list of product IDs.
There are no sort, vendor, product_type, tag, collection_id, price_min, price_max, available, or fields filters on this endpoint, and no faceted filters aggregation block. Unrecognized query parameters are ignored.

Example Response

The App API returns the platform response envelope (status, state, message, data). The data object carries the matching products plus paging counters. See List Products for the full field list.