Shopify Product Research
Shopify Product Research: shopify/product Query API
Shopify Product Research: shopify/product Query API.
MCP tool name
nexscope_data_eh_shopify_product_queryMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "data-eh-shopify-product-query-1",
"method": "tools/call",
"params": {
"name": "nexscope_data_eh_shopify_product_query",
"arguments": {
"country": "US",
"page": 1,
"pageSize": 20,
"searchKey": "phone case"
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
searchKey | string | optional | Keyword or Shopify product/store URL Example: {} |
priceMin | number | optional | Price range (starting, USD), formed with `priceMax` upstream `price` Example: {} |
priceMax | number | optional | Price range (end, USD) Example: {} |
salesWeeklyMin | integer | optional | Weekly sales range (starting) Example: {} |
salesWeeklyMax | integer | optional | Weekly sales range (end) Example: {} |
publishedTimeBegin | string | optional | The start of the shelf date range Example: {} |
publishedTimeEnd | string | optional | End of shelf date range Example: {} |
facebookAd | integer | optional | Whether there are Facebook ads: 1=Yes Example: {} |
competitionMin | integer | optional | Competition degree (number of stores on sale) range starts Example: {} |
competitionMax | integer | optional | Competition degree (number of stores on sale) range ends Example: {} |
hasSupplier | integer | optional | Whether there is supply: 1=Yes, 0=No Example: {} |
showDeleted | integer | optional | Whether to display removed products: 1=yes, 0=no Example: {} |
country | string | optional | Shipping country (two-digit country code, such as `US`) Example: {} |
sortBy | integer | optional | Sorting field; default `14`=weekly sales in descending order, see the current gateway tool schema comments for other encodings Example: 14 |
page | integer | optional | Page number, starting from 1 Example: 1 |
pageSize | integer | optional | Number of entries per page, maximum 100, recommended not to exceed 50 Example: 20 |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
total | integer | optional | Number of items returned on this page Example: {} |
productNum | integer | optional | Total number of eligible items (upstream `product_num`) Example: {} |
products | array | optional | Shopify product list Example: {} |
columns | array | optional | Rendered columns Example: {} |
title | string | optional | Title (`Shopify Product Query`) Example: {} |
sourceType | string | optional | Source type: shopify Example: {} |
type | string | optional | Rendered style: tableListWorkbenches Example: {} |
productId | `product_id` | optional | Product ID Example: {} |
title | - | optional | Product title Example: {} |
productLink | `product_link` | optional | Product link Example: {} |
previewImageUrl | `preview_image_url` | optional | Main image URL Example: {} |
country | - | optional | Shipping country Example: {} |
minPrice | `min_price` | optional | lowest price Example: {} |
maxPrice | `max_price` | optional | highest price Example: {} |
storeId | `store_id` | optional | Store ID Example: {} |
shopId | `shop_id` | optional | Shopify shop ID Example: {} |
storeLink | `store_link` | optional | Store link Example: {} |
storeRank | `store_rank` | optional | store level Example: {} |
competitorCount | `competitor_count` | optional | Competition (number of stores on sale) Example: {} |
facebookAdCount | `facebook_ad_count` | optional | Number of Facebook ads Example: {} |
weekOrderCount | `week_order_count` | optional | Weekly sales (string) Example: {} |
weekRevenueCount | `week_revenue_count` | optional | weekly sales Example: {} |
weekRevenueGrowth | `week_revenue_growth` | optional | Weekly sales growth rate (%) Example: {} |
shelfTime | `shelf_time` | optional | Shelf time Example: {} |
isDeleted | `is_deleted` | optional | Whether to take it off the shelf: 0=on the shelf, 1=off the shelf Example: {} |
isFavourite | `is_favourite` | optional | Has it been collected? Example: {} |
Examples
Example arguments
{
"country": "US",
"page": 1,
"pageSize": 20,
"searchKey": "phone case"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}