Nexscope

Etsy Marketplace

Etsy Product Query MCP Tool

Query Etsy products with multi-dimensional filters (keyword/URL, price, sales, favorites, reviews, listing date, category, handmade/vintage types, Pick/Bestseller/Raving tags).

MCP tool name
nexscope_etsy_product_query
Equivalent REST API path
https://api.nexscope.ai/api/skill-api/v1/skills/etsy-product-query/run
JSON-RPC method
tools/call

Authentication

Send the user API key as a bearer token on every MCP JSON-RPC request.

Authorization: Bearer nk-xxxxxxxxxxxxxxxxx

If authentication is missing or invalid, ask the user to open API Access and copy a valid key before calling this tool.

Call this MCP tool

Use tools/call with the MCP tool name below. The arguments object should match the table on this page.

{
  "jsonrpc": "2.0",
  "id": "etsy-product-query-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_etsy_product_query",
    "arguments": {
      "searchKey": "phone case",
      "pageSize": 10,
      "page": 1
    }
  }
}
REST API equivalent
POST https://api.nexscope.ai/api/skill-api/v1/skills/etsy-product-query/run
Canonical detail URL
https://www.nexscope.ai/mcp-map/etsy-product-query

Arguments

NameTypeRequiredMeaning
beginFavoritesintegeroptional
Favorite count (start), combined with end value to form the upstream favorites range
Example: 1
beginFavoritesWeeklyintegeroptional
Weekly new favorites (start), combined with end value to form the upstream favorites_weekly range
Example: 1
beginPricenumberoptional
Price (start), combined with end price to form the upstream price range (e.g., 20~100). When only one side is provided, the upstream returns start~ or ~end
Example: 1
beginReviewsintegeroptional
Review count (start), combined with end value to form the upstream reviews range
Example: 1
beginReviewsWeeklyintegeroptional
Weekly new reviews (start), combined with end value to form the upstream reviews_weekly range
Example: 1
beginSalesintegeroptional
Total sales (start), combined with end value to form the upstream sales range
Example: 1
beginSalesWeeklyintegeroptional
Weekly sales (start), combined with end value to form the upstream sales_weekly range (e.g., 1~100)
Example: 1
categorystringoptional
Product category ID (single category), see the Category Query API
Example: {}
countrystringoptional
Shipping country
Example: {}
currencyCodestringoptional
Currency code
Example: {}
endFavoritesintegeroptional
Favorite count (end)
Example: 1
endFavoritesWeeklyintegeroptional
Weekly new favorites (end)
Example: 1
endPricenumberoptional
Price (end), combined with start price to form the upstream price range
Example: 1
endReviewsintegeroptional
Review count (end)
Example: 1
endReviewsWeeklyintegeroptional
Weekly new reviews (end)
Example: 1
endSalesintegeroptional
Total sales (end)
Example: 1
endSalesWeeklyintegeroptional
Weekly sales (end)
Example: 1
isBestsellintegeroptional
Whether the product is a bestseller
Example: 1
isPickintegeroptional
Whether the product is a Pick item
Example: 1
isRavingintegeroptional
Whether the product is a Raving item
Example: 1
listedTimestringoptional
Listing time no earlier than this date (YYYY-MM-DD)
Example: {}
pageintegeroptional
Page number (starting from 1)
Example: 1
pageSizeintegeroptional
Items per page, max 100, recommended not to exceed 50
Example: 10
productTypestringoptional
Product type, comma-separated for multiple: 1=Handmade 2=Vintage 3=Digital 4=Custom 9=Other
Example: {}
searchKeystringoptional
Search keyword or Etsy product URL
Example: {}
sortByintegeroptional
Sort field (corresponds to upstream sort_by, values 1~6)
Example: 1
sortDescintegeroptional
Sort direction (corresponds to upstream desc). Schema example: descending 1, ascending 2 (encoding differs from store query's sortDesc)
Example: 1
statusintegeroptional
Product status (example: 1=active, 0=inactive)
Example: 1

Response fields

Treat structuredContent as the programmatic API response payload.

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
Record count (number of records returned on this page, for alignment with list length)
Example: 1
data.sourceToolstringoptional
Tool type: ehunt
Example: null
data.sourceTypestringoptional
Source type: etsy
Example: null
data.columnsarrayoptional
Rendered columns
Example: []
data.costTokenintegeroptional
Token consumption (estimated based on records returned on this page)
Example: 1
data.productNumintegeroptional
Total number of matching products (upstream product_num)
Example: 1
data.titlestringoptional
Title
Example: null
data.typestringoptional
Render style
Example: null
data.productsarrayoptional
Etsy product list
Example: []
data.products[].categorystringoptional
Category name
Example: null
data.products[].favoritesintegeroptional
Favorite count
Example: 1
data.products[].favoritesWeeklyintegeroptional
Weekly new favorites
Example: 1
data.products[].imageUrlstringoptional
Main image URL
Example: https://example.com/image.jpg
data.products[].isBestsellintegeroptional
Whether bestseller: 1=Yes
Example: 1
data.products[].isPickintegeroptional
Whether Pick: 1=Yes
Example: 1
data.products[].isRavingintegeroptional
Whether Raving: 1=Yes
Example: 1
data.products[].pricenumberoptional
Price
Example: 1
data.products[].productUrlstringoptional
Product link
Example: https://example.com/image.jpg
data.products[].releaseTimestringoptional
Listing/release time
Example: null
data.products[].reviewsintegeroptional
Review count
Example: 1
data.products[].reviewsWeeklyintegeroptional
Weekly new reviews
Example: 1
data.products[].salesTotalintegeroptional
Total sales
Example: 1
data.products[].salesWeeklyintegeroptional
Weekly sales
Example: 1
data.products[].shipsFromstringoptional
Shipping country
Example: null
data.products[].statusintegeroptional
Product status: 1=active, 0=inactive
Example: 1
data.products[].storeNamestringoptional
Store name
Example: null
data.products[].tagsstringoptional
Tags
Example: null
data.products[].titlestringoptional
Product title
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.

Examples

Example arguments

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

Example structuredContent

{
  "data": {
    "total": 1,
    "columns": [],
    "costToken": 1,
    "productNum": 1,
    "products": [
      {
        "favorites": 1,
        "favoritesWeekly": 1,
        "imageUrl": "https://example.com/image.jpg",
        "isBestsell": 1,
        "isPick": 1,
        "isRaving": 1,
        "price": 1,
        "productUrl": "https://example.com/image.jpg",
        "reviews": 1,
        "reviewsWeekly": 1,
        "salesTotal": 1,
        "salesWeekly": 1,
        "status": 1
      }
    ]
  },
  "code": 0,
  "msg": null,
  "ts": "0",
  "time": "2026-01-01 00:00:00",
  "cost": "-1",
  "traceId": null
}