Amazon Product Database Search
Find Amazon products using detailed price, sales, size, and shipping filters.
Cost13 credits / call
POST ·
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-product-database-search/runMCP · nexscope_amazon_product_database_searchChoose an integration method
Amazon Marketplace Intelligence
What this API does
Run advanced Amazon product database searches using price, sales, keywords, BSR, reviews, dimensions, weight, and fulfillment filters.
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-product-database-search/runMCP method
nexscope_amazon_product_database_searchStep 1 of 3 · Authenticate
Authentication
All run endpoints require a user API key. Send it as a bearer token in the Authorization header.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxMissing or invalid API keys return an authentication error. Manage keys from .
Step 2 of 3 · Send a request
POST
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-product-database-search/runRun an API
Request parameters documented by ecommerce.amazon-product-database-search.
Example request
Replace YOUR_API_KEY, then run this command in your terminal.
curl -X POST 'https://api.nexscope.ai/api/skill-api/v1/skills/amazon-product-database-search/run' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"perPage": 50,
"domain": "1",
"keyword": "phone case",
"page": 1
}'Step 3 of 3 · Inspect the result
Check the response
Read code for the request status and data for the result. Open the parameter and response reference for the full field definitions.
HTTP status codes
| 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. |
All categories/ Amazon Marketplace Intelligence
POST
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-product-database-search/runRun this API
Send a JSON request to execute this API and receive the documented response payload.
Endpoint
| Method | POST |
| Path | https://api.nexscope.ai/api/skill-api/v1/skills/amazon-product-database-search/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
domain | string | required | Amazon domain ID: 1=United States, 2=United Kingdom, 3=Germany, 4=France, 5=Japan, 6=Canada, 8=Italy, 9=Spain, 10=India, 11=Mexico Example: 1 |
keyword | string | optional | Title keyword (case-insensitive; spaces mean AND tokenization; wrap keywords containing spaces in double quotes; prefix - for exclusion; & symbol is replaced with space; up to 50 keywords, max 1000 characters) Example: phone case |
rootCategory | array | optional | Root category IDs (up to 50), only include products in these root categories Example: [] |
rootCategoryNames | array | optional | Root category names (up to 50), used when rootCategory is empty; the system automatically looks up corresponding category IDs Example: [] |
categoriesInclude | array | optional | Subcategory IDs to include only (up to 50), only include products directly listed in these subcategories Example: [] |
categoriesIncludeNames | array | optional | Subcategory names to include (up to 50), used when categoriesInclude is empty; the system automatically looks up corresponding category IDs. Supports full category paths (separated by : or >) for more accurate results Example: [] |
categoriesExclude | array | optional | Subcategory IDs to exclude (up to 50) Example: [] |
categoriesExcludeNames | array | optional | Subcategory names to exclude (up to 50), used when categoriesExclude is empty; the system automatically looks up corresponding category IDs. Supports full category paths for more accurate results Example: [] |
currentSalesGte | integer | optional | Current sales rank range (lower value = better ranking) (lower bound) Example: 1 |
currentSalesLte | integer | optional | Current sales rank range (lower value = better ranking) (upper bound) Example: 1 |
avg90SalesGte | integer | optional | 90-day average sales rank range (lower bound) Example: 1 |
avg90SalesLte | integer | optional | 90-day average sales rank range (upper bound) Example: 1 |
deltaPercent90SalesGte | integer | optional | 90-day sales rank change percentage range (lower bound) Example: 1 |
deltaPercent90SalesLte | integer | optional | 90-day sales rank change percentage range (upper bound) Example: 1 |
monthlySoldGte | integer | optional | Units sold / monthly sales range (lower bound) Example: 1 |
monthlySoldLte | integer | optional | Units sold / monthly sales range (upper bound) Example: 1 |
srAvgGte | integer | optional | Historical sales rank range (positive integer, lower value = better ranking, used for the month specified by srAvgMonth) (lower bound) Example: 1 |
srAvgLte | integer | optional | Historical sales rank range (positive integer, lower value = better ranking, used for the month specified by srAvgMonth) (upper bound) Example: 1 |
srAvgMonth | string | optional | Historical sales rank - selected month (format: YYYYMM, e.g., 202511 for November 2025, within the last 36 months) |
currentNewGte | integer | optional | Current new price range (in minor currency unit) (lower bound) Example: 1 |
currentNewLte | integer | optional | Current new price range (in minor currency unit) (upper bound) Example: 1 |
currentBuyBoxShippingGte | integer | optional | Current Buy Box price with shipping range (in minor currency unit) (lower bound) Example: 1 |
currentBuyBoxShippingLte | integer | optional | Current Buy Box price with shipping range (in minor currency unit) (upper bound) Example: 1 |
currentCountReviewsGte | integer | optional | Current review count range (lower bound) Example: 1 |
currentCountReviewsLte | integer | optional | Current review count range (upper bound) Example: 1 |
currentRatingGte | number | optional | Current rating range (0.0-5.0) (lower bound) Example: 1 |
currentRatingLte | number | optional | Current rating range (0.0-5.0) (upper bound) Example: 1 |
packageLengthGte | integer | optional | Package length range (mm) (lower bound) Example: 1 |
packageLengthLte | integer | optional | Package length range (mm) (upper bound) Example: 1 |
packageWidthGte | integer | optional | Package width range (mm) (lower bound) Example: 1 |
packageWidthLte | integer | optional | Package width range (mm) (upper bound) Example: 1 |
packageHeightGte | integer | optional | Package height range (mm) (lower bound) Example: 1 |
packageHeightLte | integer | optional | Package height range (mm) (upper bound) Example: 1 |
packageWeightGte | integer | optional | Package weight range (grams) (lower bound) Example: 1 |
packageWeightLte | integer | optional | Package weight range (grams) (upper bound) Example: 1 |
brand | array | optional | Brand (OR match) Example: [] |
color | array | optional | Color (OR match), filter products with specified colors Example: [] |
size | array | optional | Size (OR match), filter products with specified sizes Example: [] |
availableDateGte | string | optional | Product listing time range (date format: yyyy-MM-dd) (lower bound) Example: 2026-01-01 |
availableDateLte | string | optional | Product listing time range (date format: yyyy-MM-dd) (upper bound) Example: 2026-01-01 |
buyBoxIsAmazon | boolean | optional | Whether the Buy Box seller is Amazon Example: false |
buyBoxIsFBA | boolean | optional | Whether the Buy Box is FBA Example: false |
isHazMat | boolean | optional | Whether it is hazardous material Example: false |
variationCountGte | integer | optional | Variation count range (lower bound) Example: 1 |
variationCountLte | integer | optional | Variation count range (upper bound) Example: 1 |
currentCountNewGte | integer | optional | Current new offer count range (lower bound) Example: 1 |
currentCountNewLte | integer | optional | Current new offer count range (upper bound) Example: 1 |
outOfStockPercentage90Gte | integer | optional | 90-day out-of-stock percentage range (lower bound) Example: 1 |
outOfStockPercentage90Lte | integer | optional | 90-day out-of-stock percentage range (upper bound) Example: 1 |
singleVariation | boolean | optional | Return only one variation; when set to true, multi-variation products will only return one variation Example: false |
productType | array | optional | Product type filter (default [0,1,2]): 0=standard product, 1=downloadable product, 2=eBook, 5=variant parent ASIN Example: [
0,
1,
2
] |
history | integer | optional | Whether to include historical data / historical sales in the response (1=include, 0=exclude, default 0) Example: 0 |
rating | integer | optional | Whether to fetch rating info (1=fetch, 0=do not fetch, default 1) Example: 1 |
page | integer | optional | Page number (starting from 1, default 1) Example: 1 |
perPage | integer | optional | Maximum results per page (min 50, max 100, default 50) Example: 50 |
sort | array | optional | Up to 3 sort rules, each with fieldName and sortDirection (asc or desc); supported fields: availableDate, currentSales, monthlySold, currentRating, currentCountReviews, currentBuyBoxShipping, currentNew Example: [] |
Code example
{
"perPage": 50,
"domain": "1",
"keyword": "phone case",
"page": 1
}Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"data": {
"total": 1,
"perPage": 1,
"currentPage": 1,
"totalCount": 1,
"columns": [],
"costToken": 1,
"products": [
{
"asin": "B072MQ5BRX",
"price": 1,
"primePrice": 1,
"salesRank": 1,
"salesRank30": 1,
"salesRank90": 1,
"salesRank180": 1,
"monthlySalesUnits": 1,
"monthlySalesRevenue": 1,
"monthlySalesUnits1MonthAgo": 1,
"monthlySalesUnits2MonthsAgo": 1,
"monthlySalesUnits3MonthsAgo": 1,
"monthlySalesUnits4MonthsAgo": 1,
"monthlySalesUnits5MonthsAgo": 1,
"monthlySalesUnits6MonthsAgo": 1,
"monthlySalesUnits7MonthsAgo": 1,
"monthlySalesUnits8MonthsAgo": 1,
"monthlySalesUnits9MonthsAgo": 1,
"monthlySalesUnits10MonthsAgo": 1,
"monthlySalesUnits11MonthsAgo": 1,
"monthlySalesUnits12MonthsAgo": 1,
"rating": 1,
"ratings": 1,
"reviewCount": 1,
"availableDate": "2026-01-01 00:00:00",
"lastUpdate": "2026-01-01 00:00:00",
"imageUrl": "https://example.com/image.jpg",
"productImageUrls": [],
"asinUrl": "https://www.amazon.com/dp/B072MQ5BRX",
"categoryTreeId": "example-id",
"rootCategory": 1,
"subcategories": [],
"buyBoxSellerId": "example-id",
"sellerNum": 1,
"parentAsin": "B072MQ5BRX",
"variationNum": 1,
"packageLength": 1,
"packageWidth": 1,
"packageHeight": 1,
"packageQuantity": 1,
"itemLength": 1,
"itemWidth": 1,
"itemHeight": 1,
"isAdultProduct": false,
"isHazmat": false,
"referralFeePercentage": 1,
"fbaFees": 1,
"profit": 1,
"urlSlug": "example-product"
}
]
},
"code": 0,
"msg": null,
"ts": "0",
"time": "2026-01-01 00:00:00",
"cost": "-1",
"traceId": null
}Response fields
| Name | Type | Required | Description |
|---|---|---|---|
data | any | required | Data value used by this API operation. |
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
msg | string | null | required | Msg value used by this API operation. |
ts | string | required | Epoch milliseconds. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
traceId | string | null | required | Trace id value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.total | integer | optional | Total rows Example: 1 |
data.perPage | integer | optional | Items per page Example: 1 |
data.currentPage | integer | optional | Current page number Example: 1 |
data.totalCount | integer | optional | Total count Example: 1 |
data.sourceType | string | optional | Source type: keepa Example: null |
data.type | string | optional | Render style Example: null |
data.columns | array | optional | Rendered columns Example: [] |
data.costToken | integer | optional | Token consumption Example: 1 |
data.products | array | optional | Product list (see below) Example: [] |
data.products[] | object | required | Item in data products. |
data.products[].asin | string | optional | ASIN Example: B072MQ5BRX |
data.products[].title | string | optional | Product title Example: null |
data.products[].brand | string | optional | Brand Example: null |
data.products[].manufacturer | string | optional | Manufacturer Example: null |
data.products[].model | string | optional | Model Example: null |
data.products[].price | number | optional | Current price (in local currency, e.g., USD/EUR) Example: 1 |
data.products[].primePrice | number | optional | Prime price Example: 1 |
data.products[].currency | string | optional | Currency Example: null |
data.products[].salesRank | integer | optional | Sales rank Example: 1 |
data.products[].salesRank30 | integer | optional | Average sales rank in last 30 days Example: 1 |
data.products[].salesRank90 | integer | optional | Average sales rank in last 90 days Example: 1 |
data.products[].salesRank180 | integer | optional | Average sales rank in last 180 days Example: 1 |
data.products[].monthlySalesUnits | integer | optional | Monthly sales units Example: 1 |
data.products[].monthlySalesRevenue | number | optional | Monthly sales revenue Example: 1 |
data.products[].monthlySalesUnits1MonthAgo | integer | optional | Monthly sales units 1 month ago Example: 1 |
data.products[].monthlySalesUnits2MonthsAgo | integer | optional | Monthly sales units 2 months ago Example: 1 |
data.products[].monthlySalesUnits3MonthsAgo | integer | optional | Monthly sales units 3 months ago Example: 1 |
data.products[].monthlySalesUnits4MonthsAgo | integer | optional | Monthly sales units 4 months ago Example: 1 |
data.products[].monthlySalesUnits5MonthsAgo | integer | optional | Monthly sales units 5 months ago Example: 1 |
data.products[].monthlySalesUnits6MonthsAgo | integer | optional | Monthly sales units 6 months ago Example: 1 |
data.products[].monthlySalesUnits7MonthsAgo | integer | optional | Monthly sales units 7 months ago Example: 1 |
data.products[].monthlySalesUnits8MonthsAgo | integer | optional | Monthly sales units 8 months ago Example: 1 |
data.products[].monthlySalesUnits9MonthsAgo | integer | optional | Monthly sales units 9 months ago Example: 1 |
data.products[].monthlySalesUnits10MonthsAgo | integer | optional | Monthly sales units 10 months ago Example: 1 |
data.products[].monthlySalesUnits11MonthsAgo | integer | optional | Monthly sales units 11 months ago Example: 1 |
data.products[].monthlySalesUnits12MonthsAgo | integer | optional | Monthly sales units 12 months ago Example: 1 |
data.products[].rating | number | optional | Current rating (0.0-5.0) Example: 1 |
data.products[].ratings | integer | optional | Number of ratings Example: 1 |
data.products[].reviewCount | integer | optional | Number of reviews Example: 1 |
data.products[].availableDate | string | optional | Listing time (yyyy-MM-dd HH:mm:ss) Example: 2026-01-01 00:00:00 |
data.products[].lastUpdate | string | optional | Last update time (yyyy-MM-dd HH:mm:ss) Example: 2026-01-01 00:00:00 |
data.products[].imageUrl | string | optional | Image URL (request address) Example: https://example.com/image.jpg |
data.products[].productImageUrls | array | optional | Product image list Example: [] |
data.products[].asinUrl | string | optional | Amazon ASIN detail page URL Example: https://www.amazon.com/dp/B072MQ5BRX |
data.products[].categoryTree | string | optional | Category tree Example: null |
data.products[].categoryTreeId | string | optional | Category tree ID Example: example-id |
data.products[].rootCategory | integer | optional | Root category ID Example: 1 |
data.products[].subcategories | array | optional | Subcategory list, containing code (category ID), rank (ranking), label (category name) Example: [] |
data.products[].fulfillment | string | optional | Fulfillment method (AMZ, FBA, FBM) Example: null |
data.products[].buyBoxSellerId | string | optional | Buy Box seller ID Example: example-id |
data.products[].sellerNum | integer | optional | Number of sellers Example: 1 |
data.products[].parentAsin | string | optional | Parent ASIN Example: B072MQ5BRX |
data.products[].variationNum | integer | optional | Number of variations Example: 1 |
data.products[].color | string | optional | Color Example: null |
data.products[].dimension | string | optional | Dimensions Example: null |
data.products[].dimensionsType | string | optional | Dimensions type Example: null |
data.products[].material | string | optional | Product material, the primary material used in its construction Example: null |
data.products[].weight | string | optional | Weight (grams) Example: null |
data.products[].packageWeight | string | optional | Package weight (grams) Example: null |
data.products[].packageLength | integer | optional | Package length (mm) Example: 1 |
data.products[].packageWidth | integer | optional | Package width (mm) Example: 1 |
data.products[].packageHeight | integer | optional | Package height (mm) Example: 1 |
data.products[].packageDimensions | string | optional | Package dimensions Example: null |
data.products[].packageQuantity | integer | optional | Quantity of items in the package, 0 or -1 if unavailable Example: 1 |
data.products[].itemLength | integer | optional | Item length (mm), 0 or -1 if unavailable Example: 1 |
data.products[].itemWidth | integer | optional | Item width (mm), 0 or -1 if unavailable Example: 1 |
data.products[].itemHeight | integer | optional | Item height (mm), 0 or -1 if unavailable Example: 1 |
data.products[].isAdultProduct | boolean | optional | Whether it is an adult product Example: false |
data.products[].isHazmat | boolean | optional | Whether it is hazardous material Example: false |
data.products[].referralFeePercentage | number | optional | Referral fee percentage Example: 1 |
data.products[].fbaFees | number | optional | FBA fulfillment fee (in local currency) Example: 1 |
data.products[].profit | number | optional | Profit margin (percentage, e.g., 25.5 means 25.5%) Example: 1 |
data.products[].urlSlug | string | optional | URL slug Example: example-product |
data.products[].sourceType | string | optional | Source type: keepa Example: null |
data.products[].sourceTool | string | optional | Source tool Example: null |
data.title | string | optional | Provider-specific response title. Example: null |
data.sourceTool | string | optional | Provider-specific source tool name. Example: null |
data.costTime | integer | optional | Execution time reported by the upstream provider. Example: null |
data.page | integer | optional | Current page returned by the upstream provider. Example: null |
data.pageSize | integer | optional | Page size returned by the upstream provider. Example: null |
data.pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: null |
data.totalPage | integer | optional | Total page count returned by the upstream provider. Example: null |
data.dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |
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.
Step 1 of 2 · Connect your MCP client
MCP
V2 recommendedConnect remote agents through the standard MCP 2025-11-25 Streamable HTTP endpoint. Use OAuth 2.1 Authorization Code with PKCE, or an API key for compatibility.
POST https://api.nexscope.ai/api/skill-api/v2/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/jsonAuthentication
OAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.
Step 2 of 2 · Call the tool
Call a tool
{
"jsonrpc": "2.0",
"id": "tool-call-1",
"method": "tools/call",
"params": {
"name": "nexscope_amazon_product_database_search",
"arguments": {
"perPage": 50,
"domain": "1",
"keyword": "phone case",
"page": 1
}
}
}Legacy MCP v1
Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.
GET / POST /api/skill-api/v1/mcpOnline test
Execute the current API with your API key and JSON payload.
13 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/amazon-product-database-search/runMCP method
nexscope_amazon_product_database_searchcURL
curl -X POST \
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-product-database-search/run \
-H "Authorization: Bearer nk-..." \
-H "Content-Type: application/json" \
-d '{ "perPage": 50, "domain": "1", "keyword": "phone case", "page": 1 }'Response
No response yet. Run the request to see the response here.
Related APIs
Amazon ASIN Traffic Summary
Compare traffic sources and keyword changes for an ASIN.
Amazon Broad Product Search
Find Amazon products by sales, price, ratings, and fulfillment.
Amazon Category Lookup
Find Amazon category IDs by marketplace or category name.
Amazon Competitor Lookup
Compare competing Amazon products by sales, price, and growth.