https://api.nexscope.ai/eh/etsy/productQueryRun this API
Send a JSON request to execute this API and receive the documented response payload.
Endpoint
| Method | POST |
| Path | https://api.nexscope.ai/eh/etsy/productQuery |
| Auth | Bearer API key |
| Content-Type | application/json |
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
beginFavorites | integer | optional | The number of favorites (starting), together with the ending value, form the upstream favorites |
beginFavoritesWeekly | integer | optional | Number of new favorites per week (start), which together with the end value form the upstream favorites_weekly |
beginPrice | number | optional | Price (start), together with the end price, form the upstream price (such as 20~100); when filling in only one side, the upstream is start~ or ~end |
beginReviews | integer | optional | The number of reviews (starting), which together with the end value form the upstream reviews |
beginReviewsWeekly | integer | optional | Number of new comments per week (start), which together with the end value form the upstream reviews_weekly |
beginSales | integer | optional | Total sales (starting), which together with the ending value form the upstream sales |
beginSalesWeekly | integer | optional | Weekly sales volume (start), together with the end value, form the upstream sales_weekly (such as 1~100) |
category | string | optional | Product classification ID (single product category), please see the product classification interface for details |
country | string | optional | Shipping country |
currencyCode | string | optional | Currency code, default `USD` |
endFavorites | integer | optional | Number of collections (end) |
endFavoritesWeekly | integer | optional | Number of new favorites per week (end) |
endPrice | number | optional | Price (end), which together with the starting price forms the upstream price |
endReviews | integer | optional | Number of comments (end) |
endReviewsWeekly | integer | optional | Number of new comments per week (end) |
endSales | integer | optional | Total sales (end) |
endSalesWeekly | integer | optional | Weekly sales (end) |
isBestsell | integer | optional | Is it a best-selling product? |
isPick | integer | optional | Whether to Pick the product |
isRaving | integer | optional | Whether Raving product |
listedTime | string | optional | The shelf time is no earlier than this date (YYYY-MM-DD) |
page | integer | optional | Page number (starting from 1) |
pageSize | integer | optional | Number of entries per page, maximum 100, recommended not to exceed 50 |
productType | string | optional | Product type, multiple commas separated: 1=Handmade 2=Vintage 3=Digital 4=Customized 9=Other |
searchKey | string | optional | Search keywords or Etsy product URLs |
sortBy | integer | optional | Sorting field (corresponding to upstream sort_by, value 1~6) |
sortDesc | integer | optional | Sorting direction (corresponds to upstream `desc`). Schema example: Descending `1`, Ascending `2` |
status | integer | optional | Product status (example: 1 on the shelves, 0 off the shelves) |
Code example
{
"currencyCode": "USD",
"page": 1,
"pageSize": 20,
"searchKey": "poster"
}Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}Response fields
Response field reference (27 fields)
| Name | Type | Required | Description |
|---|---|---|---|
total | integer | optional | Number of records (this page returns the number of records to facilitate alignment with the length of the list) |
sourceType | string | optional | Source type: etsy |
columns | array | optional | Rendered columns |
costToken | integer | optional | Token consumption (estimated based on the number of items returned on this page) |
productNum | integer | optional | Total number of eligible products (upstream product_num) |
title | string | optional | Title |
type | string | optional | Rendering style |
products | array | optional | Etsy product listings |
category | string | optional | Category name |
favorites | integer | optional | Number of collections |
favoritesWeekly | integer | optional | Number of new favorites per week |
imageUrl | string | optional | Main image URL |
isBestsell | integer | optional | Best seller or not: 1=yes |
isPick | integer | optional | Whether to Pick: 1=Yes |
isRaving | integer | optional | Whether Raving: 1=Yes |
price | number | optional | price |
productUrl | string | optional | Product link |
releaseTime | string | optional | Shelf/release time |
reviews | integer | optional | Number of comments |
reviewsWeekly | integer | optional | New comments per week |
salesTotal | integer | optional | total sales |
salesWeekly | integer | optional | Weekly sales |
shipsFrom | string | optional | Shipping country |
status | integer | optional | Product status: 1=on the shelves, 0=off the shelves |
storeName | string | optional | Store name |
tags | string | optional | tag |
title | string | optional | Product title |
Responses
| Code | Description |
|---|---|
| 200 | HTTP request completed. Check JSON code; only 0 indicates business success or acceptance. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API 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.