Shopify Product Research
Shopify Product Query
Find Shopify products by keyword, price, sales, and other product filters. Call the Shopify Product Query API via REST or MCP from 25 credits per call.
MCP tool name
nexscope_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": "shopify-product-query-1",
"method": "tools/call",
"params": {
"name": "nexscope_shopify_product_query",
"arguments": {
"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 start (USD), combined with priceMax to form upstream price Example: 1 |
priceMax | number | optional | Price range end (USD) Example: 1 |
salesWeeklyMin | integer | optional | Weekly sales range start Example: 1 |
salesWeeklyMax | integer | optional | Weekly sales range end Example: 1 |
publishedTimeBegin | string | optional | Listing date range start Example: {} |
publishedTimeEnd | string | optional | Listing date range end Example: {} |
facebookAd | integer | optional | Has Facebook ad: 1=Yes Example: 1 |
competitionMin | integer | optional | Competition (number of stores selling) range start Example: 1 |
competitionMax | integer | optional | Competition (number of stores selling) range end Example: 1 |
hasSupplier | integer | optional | Has supplier: 1=Yes, 0=No Example: 1 |
showDeleted | integer | optional | Show delisted products: 1=Yes, 0=No Example: 1 |
country | string | optional | Shipping country (two-letter country code, e.g., US) Example: {} |
sortBy | integer | optional | Sort field (default 14=Weekly sales descending; also includes price/ad count/competition/revenue etc. values, see enumeration below) Example: 14 |
page | integer | optional | Page number (starting from 1) Example: 1 |
pageSize | integer | optional | Results per page, default 20, max 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
{
"page": 1,
"pageSize": 20,
"searchKey": "phone case"
}Example structuredContent
{}