Nexscope

Shopify Product Query API

REST API and MCP service documentation generated from server-side API definitions. Responses use the shared code, msg, and data envelope.

API selector
Shopify Commerce

API overview

Filter Shopify store products by keyword, URL, price, weekly sales, listing date, ads, competition, supplier, and shipping country.

Try this API
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/shopify-product-query/run
MCP method
nexscope_shopify_product_query

Authentication

All run endpoints require a user API key. Send it as a bearer token in the Authorization header.

Authorization: Bearer nk-xxxxxxxxxxxxxxxxx
Missing or invalid API keys return an authentication error. Manage keys from .
POSThttps://api.nexscope.ai/api/skill-api/v1/skills/shopify-product-query/run

Run an API

Request parameters documented by ecommerce.shopify-product-query.

Slugshopify-product-query
HeadersAuthorization: Bearer nk-...
Content-Type: application/json
Request bodyAPI-specific JSON object.
Response bodyPlatform envelope: code, msg, data, ts, time, cost, traceId. Inspect data.status for asynchronous completion.

Status codes

CodeDescription
200HTTP request completed. Check JSON code; only 0 indicates business success or acceptance.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

Example request

curl -X POST https://api.nexscope.ai/api/skill-api/v1/skills/shopify-product-query/run \
  -H "Authorization: Bearer nk-xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{   "pageSize": 10,   "keyword": "phone case",   "page": 1 }'
All categories/ Shopify Commerce
POSThttps://api.nexscope.ai/api/skill-api/v1/skills/shopify-product-query/run

Run this API

Send a JSON request to execute this API and receive the documented response payload.

Endpoint

MethodPOST
Pathhttps://api.nexscope.ai/api/skill-api/v1/skills/shopify-product-query/run
AuthBearer API key
Content-Typeapplication/json

Request body

NameTypeRequiredDescription
searchKeystringoptional
Keyword or Shopify product/store URL
priceMinnumberoptional
Price range start (USD), combined with priceMax to form upstream price
Example: 1
priceMaxnumberoptional
Price range end (USD)
Example: 1
salesWeeklyMinintegeroptional
Weekly sales range start
Example: 1
salesWeeklyMaxintegeroptional
Weekly sales range end
Example: 1
publishedTimeBeginstringoptional
Listing date range start
publishedTimeEndstringoptional
Listing date range end
facebookAdintegeroptional
Has Facebook ad: 1=Yes
Example: 1
competitionMinintegeroptional
Competition (number of stores selling) range start
Example: 1
competitionMaxintegeroptional
Competition (number of stores selling) range end
Example: 1
hasSupplierintegeroptional
Has supplier: 1=Yes, 0=No
Example: 1
showDeletedintegeroptional
Show delisted products: 1=Yes, 0=No
Example: 1
countrystringoptional
Shipping country (two-letter country code, e.g., US)
sortByintegeroptional
Sort field (default 14=Weekly sales descending; also includes price/ad count/competition/revenue etc. values, see enumeration below)
Example: 1
pageintegeroptional
Page number (starting from 1)
Example: 1
pageSizeintegeroptional
Results per page, max 100, recommended not to exceed 50
Example: 1

Request example

{
  "pageSize": 10,
  "keyword": "phone case",
  "page": 1
}

Response body

NameTypeRequiredDescription
dataanyrequired
Data value used by this API operation.
codeintegerrequired
0 means accepted or successful; nonzero is a platform error.
msgstring | nullrequired
Msg value used by this API operation.
tsstringrequired
Epoch milliseconds.
timestringrequired
Server local time: yyyy-MM-dd HH:mm:ss.
coststringrequired
Elapsed milliseconds, never credits; -1 outside web requests.
traceIdstring | nullrequired
Trace id value used by this API operation.

Any of option 1

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.totalintegeroptional
Number of results returned on this page
Example: 1
data.productNumintegeroptional
Total number of matching products (upstream product_num)
Example: 1
data.productsarrayoptional
Shopify product list
Example: []
data.columnsarrayoptional
Columns for rendering
Example: []
data.titlestringoptional
Title (Shopify Product Query)
Example: null
data.sourceTypestringoptional
Source type: shopify
Example: null
data.sourceToolstringoptional
Tool type: ehunt
Example: null
data.typestringoptional
Render style: tableListWorkbenches
Example: null
data.products[].productIdstringoptional
Product ID
Example: example-id
data.products[].titlestringoptional
Product title
Example: null
data.products[].productLinkstringoptional
Product link
Example: null
data.products[].previewImageUrlstringoptional
Main image URL
Example: https://example.com/image.jpg
data.products[].countrystringoptional
Shipping country
Example: null
data.products[].minPricestringoptional
Minimum price
Example: null
data.products[].maxPricestringoptional
Maximum price
Example: null
data.products[].storeIdstringoptional
Store ID
Example: example-id
data.products[].shopIdstringoptional
Shopify shop ID
Example: example-id
data.products[].storeLinkstringoptional
Store link
Example: null
data.products[].storeRankstringoptional
Store rank
Example: null
data.products[].competitorCountstringoptional
Competition (number of stores selling)
Example: null
data.products[].facebookAdCountstringoptional
Facebook ad count
Example: null
data.products[].weekOrderCountstringoptional
Weekly order count (string)
Example: null
data.products[].weekRevenueCountstringoptional
Weekly revenue
Example: null
data.products[].weekRevenueGrowthstringoptional
Weekly revenue growth rate (%)
Example: null
data.products[].shelfTimestringoptional
Listing time
Example: null
data.products[].isDeletedstringoptional
Whether delisted: 0=Listed, 1=Delisted
Example: null
data.products[].isFavouritestringoptional
Whether favorited
Example: null
data.costTokenintegeroptional
Token cost reported by the upstream provider.
Example: null
data.costTimeintegeroptional
Execution time reported by the upstream provider.
Example: null
data.pageintegeroptional
Current page returned by the upstream provider.
Example: null
data.pageSizeintegeroptional
Page size returned by the upstream provider.
Example: null
data.pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
Example: null
data.totalPageintegeroptional
Total page count returned by the upstream provider.
Example: null
data.dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
datanullrequired
Data value used by this API operation.

Response example

Platform response envelope. code 0 indicates success or acceptance; data contains the business result.

{
  "data": {
    "total": 1,
    "productNum": 1,
    "products": [
      {
        "productId": "example-id",
        "previewImageUrl": "https://example.com/image.jpg",
        "storeId": "example-id",
        "shopId": "example-id"
      }
    ],
    "columns": []
  },
  "code": 0,
  "msg": null,
  "ts": "0",
  "time": "2026-01-01 00:00:00",
  "cost": "-1",
  "traceId": null
}

Responses

CodeDescription
200HTTP request completed. Check JSON code; only 0 indicates business success or acceptance.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

Data source, freshness, and limitations

Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.

Related APIs

MCP

Use the MCP endpoint when an agent needs to discover and call API tools with JSON-RPC.

GET /api/skill-api/v1/mcp
POST /api/skill-api/v1/mcp
Authorization: Bearer nk-xxxxxxxxxxxxxxxxx
Content-Type: application/json

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_shopify_product_query",
    "arguments": {
      "pageSize": 10,
      "keyword": "phone case",
      "page": 1
    }
  }
}

Online test

Execute the current API with your API key and JSON payload.

25 credits / callAPI usage records

Try it

Send a real request with the same contract shown in the reference.

Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/shopify-product-query/run
MCP method
nexscope_shopify_product_query
cURL
curl -X POST \
  https://api.nexscope.ai/api/skill-api/v1/skills/shopify-product-query/run \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "pageSize": 10, "keyword": "phone case", "page": 1 }'
Response
No response yet. Run the request to see the response here.