Amazon Market Research
Assess niche size, competition, and seller concentration.
Cost21 credits / call
POST ·
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-market-research/runMCP · nexscope_amazon_market_researchChoose an integration method
Amazon Marketplace Intelligence
What this API does
Evaluate Amazon niches by market size, competition, concentration, seller structure, new-product share, price, rating, and margin ranges.
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-market-research/runMCP method
nexscope_amazon_market_researchStep 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-market-research/runRun an API
Request parameters documented by ecommerce.amazon-market-research.
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-market-research/run' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"topNum": 10,
"marketplace": "US",
"size": 50,
"newProduct": 3,
"departmentKeyword": "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-market-research/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-market-research/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
marketplace | string | required | Site code, see [marketplace](#marketplace-options) Example: US |
nodeIdPath | string | optional | Category node ID path, e.g. 172282:281407 |
departmentKeyword | string | optional | Category keyword path, e.g. Electronics:Accessories & Supplies Example: phone case |
sellerLocation | string | optional | Seller location, multiple values comma-separated; see Seller Sprite table 1.3 for values |
newProduct | integer | optional | New product definition (months) Example: 3 |
topNum | integer | optional | Top Listing count Example: 10 |
month | string | optional | Filter date: nearly or yyyyMM |
page | integer | optional | Page number, starting from 1 Example: 1 |
size | integer | optional | Results per page Example: 50 |
orderField | string | optional | Sort field, see [orderField](#orderfield-options) |
orderDesc | boolean | optional | true descending, false ascending Example: false |
minAvgRevenue | number | optional | Minimum / maximum average monthly sales revenue Example: 1 |
maxAvgRevenue | number | optional | Minimum / maximum average monthly sales revenue Example: 1 |
minAvgUnits | integer | optional | Minimum / maximum average monthly sales volume Example: 1 |
maxAvgUnits | integer | optional | Minimum / maximum average monthly sales volume Example: 1 |
minGoodsCount | integer | optional | Minimum / maximum product count Example: 1 |
maxGoodsCount | integer | optional | Minimum / maximum product count Example: 1 |
minSellers | integer | optional | Minimum / maximum seller count Example: 1 |
maxSellers | integer | optional | Minimum / maximum seller count Example: 1 |
minBrands | integer | optional | Minimum / maximum brand count Example: 1 |
maxBrands | integer | optional | Minimum / maximum brand count Example: 1 |
minAvgSellers | number | optional | Minimum / maximum average seller count Example: 1 |
maxAvgSellers | number | optional | Minimum / maximum average seller count Example: 1 |
minGoodsCrn | number | optional | Minimum / maximum product concentration (decimal 0-1) Example: 1 |
maxGoodsCrn | number | optional | Minimum / maximum product concentration (decimal 0-1) Example: 1 |
minSellerCrn | number | optional | Minimum / maximum seller concentration (decimal 0-1) Example: 1 |
maxSellerCrn | number | optional | Minimum / maximum seller concentration (decimal 0-1) Example: 1 |
minBrandCrn | number | optional | Minimum / maximum brand concentration (decimal 0-1) Example: 1 |
maxBrandCrn | number | optional | Minimum / maximum brand concentration (decimal 0-1) Example: 1 |
minAmazonSelfProportion | number | optional | Minimum / maximum Amazon self-operated share (decimal 0-1) Example: 1 |
maxAmazonSelfProportion | number | optional | Minimum / maximum Amazon self-operated share (decimal 0-1) Example: 1 |
minFbaProportion | number | optional | Minimum / maximum FBA share (decimal 0-1) Example: 1 |
maxFbaProportion | number | optional | Minimum / maximum FBA share (decimal 0-1) Example: 1 |
minFbmProportion | number | optional | Minimum / maximum FBM share (decimal 0-1) Example: 1 |
maxFbmProportion | number | optional | Minimum / maximum FBM share (decimal 0-1) Example: 1 |
minEbcProportion | number | optional | Minimum / maximum A+ share (decimal 0-1) Example: 1 |
maxEbcProportion | number | optional | Minimum / maximum A+ share (decimal 0-1) Example: 1 |
minNewProportion | number | optional | Minimum / maximum new product share (scale may differ from other ratio fields; refer to tool schema / actual network behavior) Example: 1 |
maxNewProportion | number | optional | Minimum / maximum new product share (scale may differ from other ratio fields; refer to tool schema / actual network behavior) Example: 1 |
minAvgPrice | number | optional | Minimum / maximum average price Example: 1 |
maxAvgPrice | number | optional | Minimum / maximum average price Example: 1 |
minAvgRating | number | optional | Minimum / maximum average rating value Example: 1 |
maxAvgRating | number | optional | Minimum / maximum average rating value Example: 1 |
minAvgRatings | integer | optional | Minimum / maximum average review count Example: 1 |
maxAvgRatings | integer | optional | Minimum / maximum average review count Example: 1 |
minAvgProfit | number | optional | Minimum / maximum average gross margin (input N means N%, 0-100) Example: 1 |
maxAvgProfit | number | optional | Minimum / maximum average gross margin (input N means N%, 0-100) Example: 1 |
minAvgBsr | integer | optional | Minimum / maximum average BSR rank Example: 1 |
maxAvgBsr | integer | optional | Minimum / maximum average BSR rank Example: 1 |
minNewCount | integer | optional | Minimum / maximum new product count Example: 1 |
maxNewCount | integer | optional | Minimum / maximum new product count Example: 1 |
minNewAvgPrice | number | optional | Minimum / maximum new product average price Example: 1 |
maxNewAvgPrice | number | optional | Minimum / maximum new product average price Example: 1 |
minNewAvgRating | number | optional | Minimum / maximum new product average star rating Example: 1 |
maxNewAvgRating | number | optional | Minimum / maximum new product average star rating Example: 1 |
minNewAvgRatings | integer | optional | Minimum / maximum new product average review count Example: 1 |
maxNewAvgRatings | integer | optional | Minimum / maximum new product average review count Example: 1 |
minNewAvgUnits | number | optional | Minimum / maximum new product average monthly sales Example: 1 |
maxNewAvgUnits | number | optional | Minimum / maximum new product average monthly sales Example: 1 |
minNewAvgRevenue | number | optional | Minimum / maximum new product average monthly revenue Example: 1 |
maxNewAvgRevenue | number | optional | Minimum / maximum new product average monthly revenue Example: 1 |
minTopAvgUnits | integer | optional | Minimum / maximum top listing average monthly sales Example: 1 |
maxTopAvgUnits | integer | optional | Minimum / maximum top listing average monthly sales Example: 1 |
minTopAvgRevenue | number | optional | Minimum / maximum top listing average monthly revenue Example: 1 |
maxTopAvgRevenue | number | optional | Minimum / maximum top listing average monthly revenue Example: 1 |
minTopAvgBsr | integer | optional | Minimum / maximum top listing average BSR Example: 1 |
maxTopAvgBsr | integer | optional | Minimum / maximum top listing average BSR Example: 1 |
minWeight | number | optional | Minimum / maximum weight Example: 1 |
maxWeight | number | optional | Minimum / maximum weight Example: 1 |
minVolume | number | optional | Minimum / maximum volume Example: 1 |
maxVolume | number | optional | Minimum / maximum volume Example: 1 |
Code example
{
"topNum": 10,
"marketplace": "US",
"size": 50,
"newProduct": 3,
"departmentKeyword": "phone case",
"page": 1
}Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"data": {
"total": 1,
"marketplace": "US",
"data": [
{
"nodeId": "example-id",
"marketplace": "US",
"ranking": 1,
"totalProducts": 1,
"topProducts": 1,
"sellers": 1,
"brands": 1,
"avgSellers": 1,
"avgUnits": 1,
"totalUnits": 1,
"avgRevenue": 1,
"totalRevenue": 1,
"avgPrice": 1,
"avgRating": 1,
"avgRatings": 1,
"avgBsr": 1,
"avgProfit": 1,
"fbaProportion": 1,
"fbmProportion": 1,
"amazonSelfProportion": 1,
"ebcProportion": 1,
"returnRatio": 1,
"avgReturnRatio": 1,
"searchToPurchaseRatio": 1,
"sellerProportion": 1,
"avgWeight": 1,
"baseAvgWeight": 1,
"avgVolume": 1,
"baseAvgVolume": 1,
"top10Images": [
{
"image": "https://example.com/image.jpg",
"asin": "B072MQ5BRX"
}
]
}
],
"columns": [],
"costToken": 1
},
"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 record count Example: 1 |
data.marketplace | string | optional | Site code Example: US |
data.data | array | optional | Category market list (corresponds to third-party data.items) Example: [] |
data.data[] | object | required | Item in data data. |
data.data[].nodeId | string | optional | Node ID Example: example-id |
data.data[].nodeIdPath | string | optional | Node ID path Example: null |
data.data[].nodeLabelName | string | optional | Node name Example: null |
data.data[].nodeLabelPath | string | optional | Node name path Example: null |
data.data[].nodeLabelLocale | string | optional | Node name translation Example: null |
data.data[].nodeLabelPathLocale | string | optional | Node name path translation Example: null |
data.data[].marketplace | string | optional | Market identifier Example: US |
data.data[].currency | string | optional | Currency type for this market Example: null |
data.data[].ranking | integer | optional | Rank Example: 1 |
data.data[].totalProducts | integer | optional | Total product count Example: 1 |
data.data[].topProducts | integer | optional | Sample count Example: 1 |
data.data[].sellers | integer | optional | Seller count Example: 1 |
data.data[].brands | integer | optional | Brand count Example: 1 |
data.data[].avgSellers | number | optional | Average seller count Example: 1 |
data.data[].avgUnits | integer | optional | Average monthly sales volume Example: 1 |
data.data[].totalUnits | integer | optional | Total monthly sales volume Example: 1 |
data.data[].avgRevenue | number | optional | Average monthly sales revenue Example: 1 |
data.data[].totalRevenue | number | optional | Total monthly sales revenue Example: 1 |
data.data[].avgPrice | number | optional | Average price Example: 1 |
data.data[].avgRating | number | optional | Average rating value Example: 1 |
data.data[].avgRatings | integer | optional | Average review count Example: 1 |
data.data[].avgBsr | integer | optional | Average BSR Example: 1 |
data.data[].avgProfit | number | optional | Average profit margin (%) Example: 1 |
data.data[].fbaProportion | number | optional | FBA share (%) Example: 1 |
data.data[].fbmProportion | number | optional | FBM share (%) Example: 1 |
data.data[].amazonSelfProportion | number | optional | Amazon self-operated share (%) Example: 1 |
data.data[].ebcProportion | number | optional | A+ product share (%) Example: 1 |
data.data[].returnRatio | number | optional | Return rate (%) Example: 1 |
data.data[].avgReturnRatio | number | optional | Category average return rate (%) Example: 1 |
data.data[].searchToPurchaseRatio | number | optional | Search-to-purchase ratio (per mille) Example: 1 |
data.data[].sellerNation | string | optional | Most common seller location code Example: null |
data.data[].sellerNationLabel | string | optional | Most common seller location label Example: null |
data.data[].sellerProportion | number | optional | Most common seller location share (%) Example: 1 |
data.data[].avgWeight | number | optional | Average weight (pound) Example: 1 |
data.data[].baseAvgWeight | number | optional | Average weight (g) Example: 1 |
data.data[].avgVolume | number | optional | Average volume (in³) Example: 1 |
data.data[].baseAvgVolume | number | optional | Average volume (cm³) Example: 1 |
data.data[].top10Images | array | optional | Top 10 product images, elements see table below Example: [] |
data.data[].top10Images[] | object | required | Item in data data[] top10Images. |
data.data[].top10Images[].image | string | optional | Image link Example: https://example.com/image.jpg |
data.data[].top10Images[].asin | string | optional | ASIN Example: B072MQ5BRX |
data.columns | array | optional | Render columns Example: [] |
data.costToken | integer | optional | Tokens consumed Example: 1 |
data.type | string | optional | Render style Example: null |
data.title | string | optional | Provider-specific response title. Example: null |
data.sourceType | string | optional | Provider-specific source platform type. 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_market_research",
"arguments": {
"topNum": 10,
"marketplace": "US",
"size": 50,
"newProduct": 3,
"departmentKeyword": "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.
21 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-market-research/runMCP method
nexscope_amazon_market_researchcURL
curl -X POST \
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-market-research/run \
-H "Authorization: Bearer nk-..." \
-H "Content-Type: application/json" \
-d '{ "topNum": 10, "marketplace": "US", "size": 50, "newProduct": 3, "departmentKeyword": "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.