POST

Search Products


Retrieves a list of up to 100 products, given the provided filtering, search expression, sorting, and cursor paging. Pass supported values to the fields array in the request to include those fields in the response.

To learn about working with Search endpoints, see API Query Language, and Sorting and Paging.

Learn more about the differences between Query and Search methods.

Notes:

  • When using free-text search, you must specify which fields to search using the search.fields parameter.
  • To retrieve a non-visible product (visible: false), your app must have the 'Product v3 read admin' (SCOPE.STORES.PRODUCT_READ_ADMIN) permission scope.
  • This method does not return variant data. To retrieve variant data, call Get Product or Get Product By Slug for each product individually, or use the Read-Only Variants API for variant-centric queries.
PropertyCapabilitiesFilters
allCategoriesInfo.categoriesSearch: ✗
Aggregate: ✓
Sort: ✗
$matchItems
directCategoriesInfo.categoriesSearch: ✗
Aggregate: ✓
Sort: ✗
$matchItems
variantsInfo.variantsSearch: ✗
Aggregate: ✓
Sort: ✗
$matchItems
additionalRibbons._idSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
additionalRibbons.nameSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
infoSections._idSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
infoSections.uniqueNameSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
modifiers._idSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
modifiers.choicesSettings.choices.choiceIdSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
modifiers.choicesSettings.choices.nameSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
modifiers.nameSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
options._idSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
options.choicesSettings.choices.choiceIdSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
options.choicesSettings.choices.nameSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
options.nameSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
tags.privateTags.tagIdsSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
tags.publicTags.tagIdsSearch: ✗
Aggregate: ✓
Sort: ✗
$hasAll, $hasSome
_idSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
brand._idSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
brand.nameSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
handleSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
inventory.availabilityStatusSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists
inventory.preorderAvailabilitySearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists
inventory.preorderStatusSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists
physicalProperties.deliveryProfileIdSearch: ✓
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
physicalProperties.fulfillerIdSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
productTypeSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists
ribbon._idSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
ribbon.nameSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
slugSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
subscriptionDetails.allowOneTimePurchasesSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists
taxGroupIdSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
visibleSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists
visibleInPosSearch: ✗
Aggregate: ✓
Sort: ✗
$eq, $ne, $in, $exists
_createdDateSearch: ✗
Aggregate: ✓
Sort: ASC, DESC
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte
_updatedDateSearch: ✗
Aggregate: ✓
Sort: ASC, DESC
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte
actualPriceRange.maxValue.amountSearch: ✗
Aggregate: ✓
Sort: ASC, DESC
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
actualPriceRange.minValue.amountSearch: ✗
Aggregate: ✓
Sort: ASC, DESC
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
compareAtPriceRange.maxValue.amountSearch: ✗
Aggregate: ✓
Sort: ASC, DESC
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
compareAtPriceRange.minValue.amountSearch: ✗
Aggregate: ✓
Sort: ASC, DESC
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
nameSearch: ✓
Aggregate: ✓
Sort: ASC, DESC
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith
physicalProperties.shippingWeightRange.maxValueSearch: ✗
Aggregate: ✓
Sort: ASC, DESC
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte
physicalProperties.shippingWeightRange.minValueSearch: ✗
Aggregate: ✓
Sort: ASC, DESC
$eq, $ne, $in, $exists, $gt, $gte, $lt, $lte
descriptionSearch: ✓
Aggregate: ✗
Sort: ✗
directCategoryIdsInfo.categoryIdsSearch: ✓
Aggregate: ✗
Sort: ✗
minVariantPriceInfo.skuSearch: ✓
Aggregate: ✗
Sort: ✗
variantsInfo.variants.skuSearch: ✓
Aggregate: ✗
Sort: ✗
Permissions
Read products in v3 catalog
Product v3 read admin
Learn more about app permissions.
Method Declaration
Copy
Errors
403Permission Denied

There are 2 errors with this status code.

This method may also return standard errors. Learn more about standard Wix errors.

Did this help?