Created
February 18, 2024 12:41
-
-
Save projected1/2f68b9057b04b7e291b57fa648a21e6a to your computer and use it in GitHub Desktop.
HomeDepot GraphQL query
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
query searchModel( | |
$startIndex: Int | |
$pageSize: Int | |
$orderBy: ProductSort | |
$filter: ProductFilter | |
$storeId: String | |
$zipCode: String | |
$skipInstallServices: Boolean = true | |
$skipFavoriteCount: Boolean = false | |
$skipKPF: Boolean = false | |
$skipSpecificationGroup: Boolean = false | |
$skipSubscribeAndSave: Boolean = false | |
$keyword: String | |
$navParam: String | |
$storefilter: StoreFilter = ALL | |
$itemIds: [String] | |
$channel: Channel = DESKTOP | |
$additionalSearchParams: AdditionalParams | |
$loyaltyMembershipInput: LoyaltyMembershipInput | |
$dataSource: String | |
$skipDiscoveryZones: Boolean = true | |
) { | |
searchModel( | |
keyword: $keyword | |
navParam: $navParam | |
storefilter: $storefilter | |
storeId: $storeId | |
itemIds: $itemIds | |
channel: $channel | |
additionalSearchParams: $additionalSearchParams | |
loyaltyMembershipInput: $loyaltyMembershipInput | |
) { | |
metadata { | |
hasPLPBanner | |
categoryID | |
analytics { | |
semanticTokens | |
dynamicLCA | |
__typename | |
} | |
canonicalUrl | |
searchRedirect | |
clearAllRefinementsURL | |
contentType | |
h1Tag | |
isStoreDisplay | |
productCount { | |
inStore | |
__typename | |
} | |
stores { | |
storeId | |
storeName | |
address { | |
postalCode | |
__typename | |
} | |
nearByStores { | |
storeId | |
storeName | |
distance | |
address { | |
postalCode | |
__typename | |
} | |
__typename | |
} | |
__typename | |
} | |
__typename | |
} | |
products( | |
startIndex: $startIndex | |
pageSize: $pageSize | |
orderBy: $orderBy | |
filter: $filter | |
) { | |
identifiers { | |
storeSkuNumber | |
canonicalUrl | |
brandName | |
itemId | |
productLabel | |
productType | |
specialOrderSku | |
modelNumber | |
parentId | |
isSuperSku | |
sampleId | |
__typename | |
} | |
itemId | |
dataSources | |
media { | |
images { | |
url | |
type | |
subType | |
sizes | |
__typename | |
} | |
__typename | |
} | |
pricing(storeId: $storeId) { | |
value | |
alternatePriceDisplay | |
alternate { | |
bulk { | |
pricePerUnit | |
thresholdQuantity | |
value | |
__typename | |
} | |
unit { | |
caseUnitOfMeasure | |
unitsOriginalPrice | |
unitsPerCase | |
value | |
__typename | |
} | |
__typename | |
} | |
original | |
mapAboveOriginalPrice | |
message | |
preferredPriceFlag | |
promotion { | |
type | |
description { | |
shortDesc | |
longDesc | |
__typename | |
} | |
dollarOff | |
percentageOff | |
promotionTag | |
savingsCenter | |
savingsCenterPromos | |
specialBuySavings | |
specialBuyDollarOff | |
specialBuyPercentageOff | |
dates { | |
start | |
end | |
__typename | |
} | |
__typename | |
} | |
specialBuy | |
unitOfMeasure | |
__typename | |
} | |
reviews { | |
ratingsReviews { | |
averageRating | |
totalReviews | |
__typename | |
} | |
__typename | |
} | |
info { | |
swatches { | |
isSelected | |
itemId | |
label | |
swatchImgUrl | |
url | |
value | |
__typename | |
} | |
hidePrice | |
ecoRebate | |
quantityLimit | |
categoryHierarchy | |
sskMin | |
sskMax | |
unitOfMeasureCoverage | |
wasMaxPriceRange | |
wasMinPriceRange | |
productSubType { | |
name | |
link | |
__typename | |
} | |
customerSignal { | |
previouslyPurchased | |
__typename | |
} | |
isBuryProduct | |
isGenericProduct | |
returnable | |
isLiveGoodsProduct | |
isSponsored | |
sponsoredMetadata { | |
campaignId | |
placementId | |
slotId | |
sponsoredId | |
trackSource | |
__typename | |
} | |
globalCustomConfigurator { | |
customExperience | |
__typename | |
} | |
augmentedReality | |
sponsoredBeacon { | |
onClickBeacon | |
onViewBeacon | |
onClickBeacons | |
onViewBeacons | |
__typename | |
} | |
hasSubscription | |
samplesAvailable | |
productDepartmentId | |
productDepartment | |
totalNumberOfOptions | |
paintBrand | |
dotComColorEligible | |
classNumber | |
__typename | |
} | |
details { | |
installation { | |
serviceType | |
__typename | |
} | |
collection { | |
name | |
url | |
collectionId | |
__typename | |
} | |
highlights | |
__typename | |
} | |
fulfillment(storeId: $storeId, zipCode: $zipCode) { | |
anchorStoreStatus | |
anchorStoreStatusType | |
backordered | |
backorderedShipDate | |
bossExcludedShipStates | |
excludedShipStates | |
seasonStatusEligible | |
fulfillmentOptions { | |
type | |
fulfillable | |
services { | |
deliveryTimeline | |
deliveryDates { | |
startDate | |
endDate | |
__typename | |
} | |
deliveryCharge | |
dynamicEta { | |
hours | |
minutes | |
__typename | |
} | |
hasFreeShipping | |
freeDeliveryThreshold | |
locations { | |
curbsidePickupFlag | |
isBuyInStoreCheckNearBy | |
distance | |
inventory { | |
isOutOfStock | |
isInStock | |
isLimitedQuantity | |
isUnavailable | |
quantity | |
maxAllowedBopisQty | |
minAllowedBopisQty | |
__typename | |
} | |
isAnchor | |
locationId | |
state | |
storeName | |
storePhone | |
type | |
__typename | |
} | |
type | |
totalCharge | |
__typename | |
} | |
__typename | |
} | |
onlineStoreStatus | |
onlineStoreStatusType | |
__typename | |
} | |
installServices(storeId: $storeId, zipCode: $zipCode) | |
@skip(if: $skipInstallServices) { | |
scheduleAMeasure | |
gccCarpetDesignAndOrderEligible | |
__typename | |
} | |
availabilityType { | |
type | |
discontinued | |
buyable | |
status | |
__typename | |
} | |
badges(storeId: $storeId) { | |
name | |
label | |
__typename | |
} | |
dataSource | |
favoriteDetail @skip(if: $skipFavoriteCount) { | |
count | |
__typename | |
} | |
keyProductFeatures @skip(if: $skipKPF) { | |
keyProductFeaturesItems { | |
features { | |
name | |
refinementId | |
refinementUrl | |
value | |
__typename | |
} | |
__typename | |
} | |
__typename | |
} | |
specificationGroup @skip(if: $skipSpecificationGroup) { | |
specifications { | |
specName | |
specValue | |
__typename | |
} | |
specTitle | |
__typename | |
} | |
subscription @skip(if: $skipSubscribeAndSave) { | |
defaultfrequency | |
discountPercentage | |
subscriptionEnabled | |
__typename | |
} | |
sizeAndFitDetail { | |
attributeGroups { | |
attributes { | |
attributeName | |
dimensions | |
__typename | |
} | |
dimensionLabel | |
productType | |
__typename | |
} | |
__typename | |
} | |
__typename | |
} | |
taxonomy { | |
breadCrumbs { | |
browseUrl | |
creativeIconUrl | |
deselectUrl | |
dimensionName | |
label | |
refinementKey | |
url | |
dimensionId | |
__typename | |
} | |
brandLinkUrl | |
__typename | |
} | |
searchReport { | |
keyword | |
totalProducts | |
didYouMean | |
correctedKeyword | |
pageSize | |
searchUrl | |
sortBy | |
sortOrder | |
startIndex | |
__typename | |
} | |
id | |
relatedResults { | |
universalSearch { | |
title | |
__typename | |
} | |
relatedServices { | |
label | |
__typename | |
} | |
visualNavs { | |
label | |
imageId | |
webUrl | |
categoryId | |
imageURL | |
__typename | |
} | |
visualNavContainsEvents | |
relatedKeywords { | |
keyword | |
__typename | |
} | |
__typename | |
} | |
templates | |
orangeGraph { | |
universalSearchArray { | |
pods { | |
title | |
description | |
imageUrl | |
link | |
isProContent | |
recordType | |
__typename | |
} | |
info { | |
title | |
__typename | |
} | |
__typename | |
} | |
productTypes | |
intents | |
__typename | |
} | |
discoveryZones @skip(if: $skipDiscoveryZones) { | |
products(dataSource: $dataSource) { | |
itemId | |
dataSources | |
badges(storeId: $storeId) { | |
name | |
__typename | |
} | |
info { | |
isSponsored | |
sponsoredMetadata { | |
campaignId | |
placementId | |
slotId | |
sponsoredId | |
trackSource | |
__typename | |
} | |
sponsoredBeacon { | |
onClickBeacon | |
onViewBeacon | |
onClickBeacons | |
onViewBeacons | |
__typename | |
} | |
productSubType { | |
name | |
__typename | |
} | |
augmentedReality | |
globalCustomConfigurator { | |
customExperience | |
__typename | |
} | |
swatches { | |
isSelected | |
itemId | |
label | |
swatchImgUrl | |
url | |
value | |
__typename | |
} | |
totalNumberOfOptions | |
hidePrice | |
ecoRebate | |
quantityLimit | |
categoryHierarchy | |
sskMin | |
sskMax | |
unitOfMeasureCoverage | |
wasMaxPriceRange | |
wasMinPriceRange | |
__typename | |
} | |
identifiers { | |
canonicalUrl | |
productType | |
productLabel | |
modelNumber | |
storeSkuNumber | |
itemId | |
brandName | |
parentId | |
__typename | |
} | |
media { | |
images { | |
url | |
type | |
subType | |
sizes | |
__typename | |
} | |
__typename | |
} | |
dataSource | |
details { | |
collection { | |
name | |
url | |
__typename | |
} | |
__typename | |
} | |
pricing(storeId: $storeId) { | |
alternatePriceDisplay | |
alternate { | |
bulk { | |
pricePerUnit | |
thresholdQuantity | |
value | |
__typename | |
} | |
unit { | |
caseUnitOfMeasure | |
unitsOriginalPrice | |
unitsPerCase | |
value | |
__typename | |
} | |
__typename | |
} | |
original | |
mapAboveOriginalPrice | |
message | |
preferredPriceFlag | |
promotion { | |
type | |
description { | |
shortDesc | |
longDesc | |
__typename | |
} | |
dollarOff | |
percentageOff | |
promotionTag | |
savingsCenter | |
savingsCenterPromos | |
specialBuySavings | |
specialBuyDollarOff | |
specialBuyPercentageOff | |
__typename | |
} | |
specialBuy | |
unitOfMeasure | |
value | |
__typename | |
} | |
__typename | |
} | |
metadata { | |
zone | |
zoneTitle | |
__typename | |
} | |
__typename | |
} | |
partialTemplates | |
dimensions { | |
label | |
refinements { | |
refinementKey | |
label | |
recordCount | |
selected | |
imgUrl | |
url | |
nestedRefinements { | |
label | |
url | |
recordCount | |
refinementKey | |
__typename | |
} | |
__typename | |
} | |
collapse | |
dimensionId | |
isVisualNav | |
isVisualDimension | |
isNumericFilter | |
isColorSwatch | |
nestedRefinementsLimit | |
visualNavSequence | |
__typename | |
} | |
appliedDimensions { | |
label | |
refinements { | |
label | |
refinementKey | |
url | |
__typename | |
} | |
isNumericFilter | |
__typename | |
} | |
primaryFilters { | |
collapse | |
dimensionId | |
isVisualNav | |
isVisualDimension | |
isNumericFilter | |
isColorSwatch | |
label | |
nestedRefinementsLimit | |
refinements { | |
label | |
refinementKey | |
recordCount | |
selected | |
imgUrl | |
url | |
nestedRefinements { | |
label | |
url | |
recordCount | |
refinementKey | |
__typename | |
} | |
__typename | |
} | |
visualNavSequence | |
__typename | |
} | |
buyitagain(dataSource: $dataSource) { | |
itemId | |
dataSources | |
badges(storeId: $storeId) { | |
name | |
__typename | |
} | |
info { | |
isSponsored | |
sponsoredMetadata { | |
campaignId | |
placementId | |
slotId | |
sponsoredId | |
trackSource | |
__typename | |
} | |
sponsoredBeacon { | |
onClickBeacon | |
onViewBeacon | |
onClickBeacons | |
onViewBeacons | |
__typename | |
} | |
productSubType { | |
name | |
link | |
__typename | |
} | |
augmentedReality | |
globalCustomConfigurator { | |
customExperience | |
__typename | |
} | |
customerSignal { | |
previouslyPurchased | |
__typename | |
} | |
isBuryProduct | |
isGenericProduct | |
returnable | |
hidePrice | |
ecoRebate | |
quantityLimit | |
categoryHierarchy | |
sskMin | |
sskMax | |
unitOfMeasureCoverage | |
wasMaxPriceRange | |
wasMinPriceRange | |
__typename | |
} | |
identifiers { | |
canonicalUrl | |
productType | |
productLabel | |
modelNumber | |
storeSkuNumber | |
itemId | |
brandName | |
specialOrderSku | |
__typename | |
} | |
media { | |
images { | |
url | |
type | |
subType | |
sizes | |
__typename | |
} | |
__typename | |
} | |
details { | |
installation { | |
serviceType | |
__typename | |
} | |
collection { | |
name | |
url | |
__typename | |
} | |
__typename | |
} | |
fulfillment(storeId: $storeId, zipCode: $zipCode) { | |
anchorStoreStatus | |
anchorStoreStatusType | |
backordered | |
backorderedShipDate | |
bossExcludedShipStates | |
excludedShipStates | |
seasonStatusEligible | |
fulfillmentOptions { | |
type | |
fulfillable | |
services { | |
deliveryTimeline | |
deliveryDates { | |
startDate | |
endDate | |
__typename | |
} | |
deliveryCharge | |
dynamicEta { | |
hours | |
minutes | |
__typename | |
} | |
hasFreeShipping | |
freeDeliveryThreshold | |
locations { | |
curbsidePickupFlag | |
isBuyInStoreCheckNearBy | |
distance | |
inventory { | |
isOutOfStock | |
isInStock | |
isLimitedQuantity | |
isUnavailable | |
quantity | |
maxAllowedBopisQty | |
minAllowedBopisQty | |
__typename | |
} | |
isAnchor | |
locationId | |
state | |
storeName | |
storePhone | |
type | |
__typename | |
} | |
type | |
totalCharge | |
__typename | |
} | |
__typename | |
} | |
onlineStoreStatus | |
onlineStoreStatusType | |
__typename | |
} | |
installServices(storeId: $storeId, zipCode: $zipCode) | |
@skip(if: $skipInstallServices) { | |
scheduleAMeasure | |
gccCarpetDesignAndOrderEligible | |
__typename | |
} | |
pricing(storeId: $storeId) { | |
alternatePriceDisplay | |
alternate { | |
bulk { | |
pricePerUnit | |
thresholdQuantity | |
value | |
__typename | |
} | |
unit { | |
caseUnitOfMeasure | |
unitsOriginalPrice | |
unitsPerCase | |
value | |
__typename | |
} | |
__typename | |
} | |
original | |
mapAboveOriginalPrice | |
message | |
preferredPriceFlag | |
promotion { | |
type | |
description { | |
shortDesc | |
longDesc | |
__typename | |
} | |
dollarOff | |
percentageOff | |
promotionTag | |
savingsCenter | |
savingsCenterPromos | |
specialBuySavings | |
specialBuyDollarOff | |
specialBuyPercentageOff | |
__typename | |
} | |
specialBuy | |
unitOfMeasure | |
value | |
__typename | |
} | |
dataSource | |
__typename | |
} | |
__typename | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment