Search product variants using free-text search with advanced query capabilities.
Use this endpoint for complex queries that include free-text search, aggregations, or when you need faceted search results. For simple filtering, use Query Variants instead.
To learn about working with Search methods, see API Query Language and Sorting and Paging.
Learn more about the differences between Query and Search methods.
Note: Non-visible variants, and variants related to non-visible products are filtered from results if you don't have permissions to read hidden products.
| Property | Capabilities | Filters |
|---|---|---|
optionChoices.optionChoiceIds.choiceId | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $hasAll, $hasSome |
optionChoices.optionChoiceIds.optionId | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $hasAll, $hasSome |
barcode | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any, $begins, $gt, $lt, $lte, $gte |
inventoryStatus.inStock | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any |
inventoryStatus.preorderEnabled | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any |
price.actualPrice.amount | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any, $begins, $gt, $lt, $lte, $gte |
price.compareAtPrice.amount | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any, $begins, $gt, $lt, $lte, $gte |
productData.handle | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any, $begins, $gt, $lt, $lte, $gte |
productData.name | Search: ✓ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any, $begins, $gt, $lt, $lte, $gte |
productData.productId | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any, $begins, $gt, $lt, $lte, $gte |
productData.productType | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any |
productData.slug | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any, $begins, $gt, $lt, $lte, $gte |
productData.visible | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any |
productData.visibleInPos | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any |
sku | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any, $begins, $gt, $lt, $lte, $gte |
visible | Search: ✗ Aggregate: ✓ Sort: ASC, DESC | $eq, $ne, $exists, $in, $any |
This method may require higher-level permissions than the caller has, based on their identity and roles and permissions. In these cases, you can ensure the method is called with the required level of authorization by using one of the following:
WQL expression for searching variants.
This method doesn't return any custom errors, but may return standard errors. Learn more about standard Wix errors.