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 Shopify-style predictive-search results across products, collections, articles and pages.

Parameters

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

Example Response

The response matches the Shopify 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

title
string
Case-insensitive substring match on the product name.
page
integer
default:"1"
Page number for pagination.
limit
integer
default:"50"
Number of results per page.
status
string
Filter by product status.
handle
string
Filter by exact handle.
ids
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.