Using Discovery Search/Category through Graphql commerce API does not return variant data:
Sample query:
query ItemsByCategory($categoryId: String!, $offset: Int, $limit: Int, $queryHint: QueryHintInput, $sortFields: String) {
findItemsByCategory(
categoryId: $categoryId
offset: $offset
limit: $limit
queryHint: $queryHint
sortFields: $sortFields
) {
offset
limit
count
total
items {
...ItemFragment
__typename
}
facetResult {
...FacetResultFragment
__typename
}
queryHint {
cursor
autoCorrectQuery
autoCorrectQuerySet
redirectHint {
url
query
newQuery
__typename
}
statsFields {
listPrice {
max
min
__typename
}
purchasePrice {
max
min
__typename
}
__typename
}
__typename
}
__typename
}
}
fragment ItemFragment on Item {
...ItemLikeFragment
varAttrTypes {
name
__typename
}
salePriceRange
priceRange
customAttrs {
name
values
__typename
}
variants {
...ItemVariantFragment
__typename
}
slug
categories {
id
displayName
parentId
path
slug
__typename
}
__typename
}
fragment ItemLikeFragment on ItemLike {
itemId {
id
code
__typename
}
displayName
description
imageSet {
original {
link {
href
__typename
}
__typename
}
thumbnail {
link {
href
__typename
}
__typename
}
variants {
name
image {
dimension {
w
h
__typename
}
link {
href
__typename
}
__typename
}
__typename
}
__typename
}
listPrice {
moneyAmounts {
...MoneyAmountFragment
__typename
}
__typename
}
purchasePrice {
moneyAmounts {
...MoneyAmountFragment
__typename
}
__typename
}
__typename
}
fragment MoneyAmountFragment on MoneyAmount {
amount
currency
displayValue
channelId
__typename
}
fragment ItemVariantFragment on ItemVariant {
...ItemLikeFragment
master
varAttrs {
name
values
__typename
}
customAttrs {
name
values
__typename
}
mainItem {
itemId {
id
code
__typename
}
displayName
slug
__typename
}
availability {
inStock
availableQuantity
restockableInDays
channels {
channelId
inStock
availableQuantity
restockableInDays
__typename
}
__typename
}
__typename
}
fragment FacetResultFragment on FacetResult {
fields {
id
name
values {
id
parentId
name
count
__typename
}
__typename
}
ranges {
name
id
values {
start
end
count
__typename
}
__typename
}
__typename
}