RECIPE: Business Recipe – Find Products in a Wix Store (Query and Search, Catalog V3)

Download skillThe skill is a reference md and part of wix-manage skill. You can use the following command to add the full wix-manage skill to your project:
Copy

Find products in a Wix store using the Catalog V3 Search Products and Query Products APIs.

Article: How to Find Products

STEP 0: Choose the right product lookup method

Use Search Products for text search and name-based lookup. Use Query Products for structured filtering, sorting, paging, and listing products.

NeedEndpointNotes
Find products by name or free textSearch ProductsBest for user-provided names, keywords, and broad product lookup.
List all products or page through the catalogQuery ProductsSupports paging and structured filters on the fields listed below.
Filter by id, slug, handle, dates, or visibleQuery ProductsBest for exact structured criteria.
Need exact name matching after text lookupSearch Products + client-side matchSearch by the name text, then match the returned product.name in your own code.

STEP 1: Search products by name or free text

Use Search Products when the user gives a product name, keyword, or other text expression:

Copy

For exact name matching, search with the user-provided text and then compare the returned product.name values in your own code.

STEP 2: Query products with structured filters, sorting, or paging

Use the POST Query Products endpoint to query products. The endpoint returns up to 100 products per request.

Endpoint: POST https://www.wixapis.com/stores/v3/products/query

Basic query (all products, default fields):

Copy

This returns all products with their default fields (id, name, slug, visible, productType, priceData, stock, media, etc.).

STEP 3: Understanding the fields parameter

The fields array requests additional fields beyond the defaults. It does NOT accept property names like "name" or "id".

⚠️ CRITICAL: Valid fields enum values:

Enum ValueDescription
URLProduct page URL
CURRENCYCurrency information
INFO_SECTIONInfo sections (rich content)
MERCHANT_DATAMerchant-specific data
PLAIN_DESCRIPTIONPlain text description
INFO_SECTION_PLAIN_DESCRIPTIONInfo section plain text
SUBSCRIPTION_PRICES_INFOSubscription pricing
BREADCRUMBS_INFOCategory breadcrumbs
WEIGHT_MEASUREMENT_UNIT_INFOWeight unit info
VARIANT_OPTION_CHOICE_NAMESVariant option choice names
MEDIA_ITEMS_INFOAdditional media items
DESCRIPTIONRich text description
DIRECT_CATEGORIES_INFODirect category info
ALL_CATEGORIES_INFOAll category info
MIN_VARIANT_PRICE_INFOMinimum variant price
INFO_SECTION_DESCRIPTIONInfo section rich content
THUMBNAILThumbnail image
DIRECT_CATEGORY_IDSDirect category IDs
PRODUCT_CHOICES_MEDIA_REFERENCESChoice-specific media

WRONG – these are NOT valid field values:

Copy

CORRECT – use enum constants or leave empty for defaults:

Copy

CORRECT – requesting additional fields:

Copy

STEP 4: Filtering and sorting with Query Products

QueryProducts supports filters only on these fields:

FieldSupported FiltersSortable
id$eq, $ne, $exists, $in, $startsWithNo
handle$eq, $ne, $exists, $in, $startsWithNo
options.id$isEmpty, $hasAll, $hasSomeNo
slug$eq, $ne, $exists, $in, $startsWithYes
createdDate$eq, $ne, $exists, $in, $lt, $lte, $gt, $gteYes
updatedDate$eq, $ne, $exists, $in, $lt, $lte, $gt, $gteYes
visible$eq, $ne, $exists, $inYes

Query with filter and sort:

Copy

Filter by product IDs:

Copy

STEP 5: Handling pagination

When there are more products than the page limit, use cursor-based or offset-based paging:

Copy

Check the response pagingMetadata to determine if more pages exist.


Important Notes

  • Variant data is NOT returned by Query Products. To get variant details, use Get Product for individual products.
  • Non-visible products require the SCOPE.STORES.PRODUCT_READ_ADMIN permission.
  • Default fields include: id, name, slug, visible, productType, priceData, stock, media, createdDate, updatedDate.
  • The fields parameter adds fields on top of the defaults — you never need to request id or name explicitly.

Conclusion

To find products by name or free text, use POST https://www.wixapis.com/stores/v3/products/search. To list, page, sort, or structurally filter products, use POST https://www.wixapis.com/stores/v3/products/query. Use fields: [] for defaults, or pass valid enum values like DESCRIPTION, URL, ALL_CATEGORIES_INFO for additional data. Never pass property names as field values.

Did this help?