https://api.nexscope.ai/kp/productSearchRun this API
Send a JSON request to execute this API and receive the documented response payload.
Endpoint
| Method | POST |
| Path | https://api.nexscope.ai/kp/productSearch |
| Auth | Bearer API key |
| Content-Type | application/json |
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
domain | string | required | Amazon domain name ID: `1`=USA, `2`=UK, `3`=Germany, `4`=France, `5`=Japan, `6`=Canada, `8`=Italy, `9`=Spain, `10`=India, `11`=Mexico. |
keyword | string | optional | Title keyword; case-insensitive, spaces represent word segmentation AND, when the keyword itself contains spaces, it should be wrapped in double quotes, and the prefix `-` is supported for exclusion; `&` will be replaced by spaces, with a maximum of 50 keywords and a maximum of 1000 characters. |
rootCategory | integer[] | optional | Root category ID, up to 50. |
rootCategoryNames | string[] | optional | Root category name, up to 50; used when `rootCategory` is empty, the system automatically searches for the corresponding category ID. |
categoriesInclude | integer[] | optional | Subcategory IDs to include, up to 50; only include products listed directly in these subcategories. |
categoriesIncludeNames | string[] | optional | Subcategory names to include, up to 50; used when `categoriesInclude` is empty, supports full category paths separated by `:` or `›`. |
categoriesExclude | integer[] | optional | Subcategory IDs to exclude, up to 50. |
categoriesExcludeNames | string[] | optional | Names of subcategories to be excluded, up to 50; used when `categoriesExclude` is empty, supporting full category paths. |
srAvgMonth | string | optional | Historical sales ranking month, format `YYYYMM`, within the last 36 months. |
brand | string[] | optional | Brand, OR match. |
color | string[] | optional | Color, OR match. |
size | string[] | optional | Size, OR match. |
buyBoxIsAmazon | boolean | optional | Whether the Buy Box seller is Amazon. |
buyBoxIsFBA | boolean | optional | Whether the Buy Box is FBA. |
isHazMat | boolean | optional | Whether it is dangerous goods. |
singleVariation | boolean | optional | Only one variant is returned; when set to `true`, only one variant is returned for multi-variant products. |
productType | integer[] | optional | Product Types: `0`=Standard Product, `1`=Downloadable Product, `2`=Ebook, `5`=Variant Parent ASIN. Example: [
0,
1,
2
] |
history | integer | optional | Whether the return value contains historical data/historical sales volume: `1`=obtain, `0`=not obtain. Example: 0 |
rating | integer | optional | Whether to obtain rating information: `1`=obtain, `0`=not obtain. Example: 1 |
page | integer | optional | Page number, starting from 1. Example: 1 |
perPage | integer | optional | The maximum number of results returned per page, minimum 50, maximum 100. Example: 50 |
sort | object[] | optional | Maximum of 3 collations; each contains `{"fieldName":"...","sortDirection":"asc\|desc"}`. Sortable fields: `availableDate`, `currentSales`, `monthlySold`, `currentRating`, `currentCountReviews`, `currentBuyBoxShipping`, `currentNew`. |
Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
No response example is published for this API. Refer to the response fields below.
Response fields
Response field reference (64 fields)
| Name | Type | Required | Description |
|---|---|---|---|
total | integer | optional | Total number of rows. |
perPage | integer | optional | Quantity per page. |
currentPage | integer | optional | Current page number. |
totalCount | integer | optional | Total quantity. |
sourceType | string | optional | Source type: `kp`. |
type | string | optional | Rendering style. |
columns | array | optional | Rendered columns. |
costToken | integer | optional | Consume token. |
products | array | optional | Product list, element fields are shown in the table below. |
asin | string | optional | ASIN。 |
title | string | optional | Product title |
brand | string | optional | brand. |
manufacturer | string | optional | manufacturer. |
model | string | optional | model. |
price | number | optional | Current price in local currency. |
primePrice | number | optional | Prime Price. |
currency | string | optional | Currency. |
salesRank | integer | optional | Sales ranking. |
salesRank30 | integer | optional | Average sales rank over the past 30 days. |
salesRank90 | integer | optional | Average sales rank over the last 90 days. |
salesRank180 | integer | optional | Average sales rank over the last 180 days. |
monthlySalesUnits | integer | optional | Monthly sales volume. |
monthlySalesRevenue | number | optional | Monthly sales. |
rating | number | optional | Current rating (0.0-5.0). |
ratings | integer | optional | Number of ratings. |
reviewCount | integer | optional | Number of comments. |
availableDate | string | optional | Shelf time (`yyyy-MM-dd HH:mm:ss`). |
lastUpdate | string | optional | Last updated time (`yyyy-MM-dd HH:mm:ss`). |
imageUrl | string | optional | Image URL (request address). |
productImageUrls | array | optional | List of product images. |
asinUrl | string | optional | Amazon ASIN details URL. |
categoryTree | string | optional | Category tree. |
categoryTreeId | string | optional | Category tree ID. |
rootCategory | integer | optional | Root category ID. |
subcategories | array | optional | Subcategory list, including `code` (category ID), `rank` (ranking), `label` (category name). |
fulfillment | string | optional | Delivery method: `AMZ`, `FBA`, `FBM`. |
buyBoxSellerId | string | optional | Buy button seller ID. |
sellerNum | integer | optional | Number of sellers. |
parentAsin | string | optional | Parent ASIN. |
variationNum | integer | optional | Number of variants. |
color | string | optional | color. |
dimension | string | optional | size. |
dimensionsType | string | optional | Size type. |
material | string | optional | The material of a product refers to the main materials used in its construction. |
weight | string | optional | Weight (grams). |
packageWeight | string | optional | Packing weight (grams). |
packageLength | integer | optional | Package length (mm). |
packageWidth | integer | optional | Package width (mm). |
packageHeight | integer | optional | Package height (mm). |
packageDimensions | string | optional | Packaging size. |
packageQuantity | integer | optional | The quantity of the item in the package, or 0 or -1 if not available. |
itemLength | integer | optional | Product length in millimeters, 0 or -1 if not available. |
itemWidth | integer | optional | Product width (mm), 0 or -1 if not available. |
itemHeight | integer | optional | Product height in millimeters, 0 or -1 if not available. |
isAdultProduct | boolean | optional | Whether it is an adult product. |
isHazmat | boolean | optional | Whether it is dangerous goods. |
referralFeePercentage | number | optional | Referral fee percentage. |
fbaFees | number | optional | FBA fulfillment fee in local currency. |
profit | number | optional | Profit margin (percentage, such as 25.5 for 25.5%). |
urlSlug | string | optional | URL Slug。 |
sourceType | string | optional | Source type: `kp`. |
code | — | optional | Category ID; element type shall be subject to the source file or upstream official documentation. |
rank | — | optional | Ranking; element type shall be based on the source file or upstream official documentation. |
label | — | optional | Category name; element type shall be subject to the source file or upstream official documentation. |
Responses
| Code | Description |
|---|---|
| 200 | Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result. |
| 429 | Execution admission rate limit; honor Retry-After when present. |
| 503 | Execution admission is temporarily unavailable; honor Retry-After when present. |
| Opt-in | X-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses. |
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.