Store explorer
Search Shopify stores by revenue, traffic, category, and more. MCP equivalents: zoek_shopify_winkels, zoek_vergelijkbare_winkels_op_afbeelding, lijst_shopify_winkel_filteropties.
/api/v1/store-explorerSearch Shopify stores. The body matches the Explore Shops UI.
X-API-Key on every request.Body parameters
zoekenstringoptionalKeyword to match store name or products.
landstringoptionalMerchant country (ISO2) or All.
sorteersleutelstringoptionalSort field.
sorteerrichtingstringoptionalpaginaintegeroptionalpaginagrootteintegeroptionalinclusief WladsintegeroptionalSet 0 to skip Meta ad enrichment.
curl -sS \
-X POST \
-H "X-API-Key: $WH_API_KEY" \
-H "Content-Type: application/json" \
"{origin}/api/v1/store-explorer" \
-d '{"search":"skincare","country":"US","sortingKey":"revenue_30d","sortingDirection":"desc","page":1,"pageSize":20,"includeWlads":0}'const res = await fetch(`${ORIGIN}/api/v1/store-explorer`, {
method: 'POST',
headers: {
'X-API-Key': process.env.WH_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"search": "skincare",
"country": "US",
"sortingKey": "revenue_30d",
"sortingDirection": "desc",
"page": 1,
"pageSize": 20,
"includeWlads": 0
}),
});
const data = await res.json();import os, requests
res = requests.post(
f"{ORIGIN}/api/v1/store-explorer",
headers={"X-API-Key": os.environ["WH_API_KEY"]},
json={
"search": "skincare",
"country": "US",
"sortingKey": "revenue_30d",
"sortingDirection": "desc",
"page": 1,
"pageSize": 20,
"includeWlads": 0
},
)
data = res.json(){
"success": true,
"data": [
{
"shop_id": "glow-beauty",
"domain": "glowbeauty.com",
"country": "US",
"monthly_visits": 412000,
"estimated_revenue": {
"daily_min": 4200,
"daily_max": 6800,
"monthly_min": 126000,
"monthly_max": 204000
}
}
],
"page": 1,
"total": 20
}{
"success": false,
"error": "Unauthorized"
}/api/v1/store-explorer/visual-searchFind visually similar Shopify stores from a product image.
X-API-Key on every request.Body parameters
afbeelding_urlstringoptionalPublic image URL. Provide this or an
afbeeldingmultipart upload.landstringoptionalOptional Explore Shops filter.
curl -sS \
-X POST \
-H "X-API-Key: $WH_API_KEY" \
-H "Content-Type: application/json" \
"{origin}/api/v1/store-explorer/visual-search" \
-d '{"image_url":"https://example.com/product.jpg","country":"US"}'const res = await fetch(`${ORIGIN}/api/v1/store-explorer/visual-search`, {
method: 'POST',
headers: {
'X-API-Key': process.env.WH_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"image_url": "https://example.com/product.jpg",
"country": "US"
}),
});
const data = await res.json();import os, requests
res = requests.post(
f"{ORIGIN}/api/v1/store-explorer/visual-search",
headers={"X-API-Key": os.environ["WH_API_KEY"]},
json={
"image_url": "https://example.com/product.jpg",
"country": "US"
},
)
data = res.json(){
"success": true,
"data": [
{
"shop_id": "glow-beauty",
"domain": "glowbeauty.com",
"similarity_score": 0.92
}
]
}You can include the same optional Explore Shops filters (categorie, monthlyRevenue, shopifyThemes, storeCreatedFrom/storeCreatedTo, visitorsCountryRules, …) on either route. Use lijst_shopify_winkel_filteropties over MCP to discover valid filter values.
See also
- Store tracker — add/remove stores and tracker limits