Amazon Competitor Lookup
Compare competing Amazon products by sales, price, and growth.
Cost21 credits / call
POST ·
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-competitor-lookup/runMCP · nexscope_amazon_competitor_lookupChoose an integration method
Amazon Marketplace Intelligence
What this API does
Analyze Amazon competitors across 12 marketplaces using sales, BSR, pricing, ratings, and growth metrics. View request parameters, response fields, and MCP usage.
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-competitor-lookup/runMCP method
nexscope_amazon_competitor_lookupStep 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-competitor-lookup/runRun an API
Request parameters documented by ecommerce.amazon-competitor-lookup.
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-competitor-lookup/run' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"keyword": "phone case",
"marketplace": "US",
"size": 50,
"matchType": 1,
"asinList": "B072MQ5BRX",
"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-competitor-lookup/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-competitor-lookup/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
marketplace | string | optional | Amazon site code, default US. Options: US, UK, DE, FR, JP, CA, IT, ES, MX, AU, TR, IN Example: US |
keyword | string | optional | Search keyword. Translate to the corresponding country's language whenever possible, e.g. use English keywords for the US, German keywords for Germany, etc. Example: phone case |
asinList | string | optional | ASINs, multiple ASINs comma-separated, max 40. Format: ^[A-Z0-9]+(,[A-Z0-9]+){0,39}$ Example: B072MQ5BRX |
sellerName | string | optional | Seller name filter |
brand | string | optional | Brand name filter |
nodeLabel | string | optional | Amazon category name, supports multi-level category names, levels separated by colon :, e.g. Electronics:Headphones |
nodeIdPath | string | optional | Amazon category ID path |
matchType | integer | optional | Match type. 1 = phrase match (default), 2 = fuzzy match, 3 = exact match Example: 1 |
showVariation | string | optional | Whether to query variants. Y = yes, N = no (default) |
dataSnapshotMonth | string | optional | Amazon product data snapshot month. Default nearly (queries last 30 days real-time data). Use yyyyMM format to query historical snapshots (e.g. 202412 for December 2024). Only supports existing historical snapshots, future dates are not supported. Recommended for seasonal analysis to query the same period last year's snapshot for comparison |
page | integer | optional | Page number, starting from 1 (default 1) Example: 1 |
size | integer | optional | Results per page, returns 10-100 records (default 50) Example: 50 |
order | object | optional | Sort configuration (see below) Example: {} |
order.field | string | optional | Sort field; required when order is supplied Example: total_units |
order.desc | string | optional | Sort direction true/false; required when order is supplied Example: true |
Code example
{
"keyword": "phone case",
"marketplace": "US",
"size": 50,
"matchType": 1,
"asinList": "B072MQ5BRX",
"page": 1
}Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"data": {
"total": 1,
"columns": [],
"products": [
{
"asin": "B072MQ5BRX",
"price": 1,
"primePrice": 1,
"averagePrice": 1,
"monthlySalesUnits": 1,
"monthlySalesRevenue": 1,
"monthlySalesUnitsGrowthRate": 1,
"bsr": 1,
"bsrGrowthRate": 1,
"bsrGrowthCount": 1,
"rating": 1,
"ratings": 1,
"ratingsGrowth": 1,
"ratingsRate": 1,
"brandUrl": "https://example.com/image.jpg",
"sellerId": "example-id",
"sellerNum": 1,
"availableDate": "2026-01-01",
"availableDateString": "2026-01-01",
"profit": 1,
"fba": 1,
"deliveryPrice": 1,
"imageUrl": "https://example.com/image.jpg",
"variationNum": 1,
"variant30DayUnits": 1,
"variant30DayRevenue": 1,
"variant30DayUpdatedAt": "2026-01-01",
"amzUnitDateString": "2026-01-01",
"listingQualityScore": 1,
"nodeId": 1,
"keyword": "phone case",
"badge": {},
"subcategories": []
}
],
"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 matching result count Example: 1 |
data.sourceType | string | optional | Source type (e.g. amazon) Example: null |
data.type | string | optional | Render style Example: null |
data.columns | array | optional | Render column definitions Example: [] |
data.products | array | optional | Competitor list (see below) Example: [] |
data.products[] | object | required | Item in data products. |
data.products[].nodeLabel | string | optional | Category name echo Example: null |
data.products[].asin | string | optional | Product ASIN Example: B072MQ5BRX |
data.products[].title | string | optional | Product title Example: null |
data.products[].price | number | optional | Current price Example: 1 |
data.products[].primePrice | number | optional | Prime price Example: 1 |
data.products[].averagePrice | number | optional | Average price Example: 1 |
data.products[].currency | string | optional | Currency Example: null |
data.products[].monthlySalesUnits | integer | optional | Monthly sales volume (units) Example: 1 |
data.products[].monthlySalesRevenue | number | optional | Monthly sales revenue Example: 1 |
data.products[].monthlySalesUnitsGrowthRate | number | optional | Monthly sales volume growth rate Example: 1 |
data.products[].bsr | integer | optional | BSR rank Example: 1 |
data.products[].bsrGrowthRate | number | optional | BSR growth rate Example: 1 |
data.products[].bsrGrowthCount | integer | optional | BSR growth count Example: 1 |
data.products[].rating | number | optional | Rating Example: 1 |
data.products[].ratings | integer | optional | Review count Example: 1 |
data.products[].ratingsGrowth | integer | optional | Monthly new review count Example: 1 |
data.products[].ratingsRate | number | optional | Review rate Example: 1 |
data.products[].brand | string | optional | Brand Example: null |
data.products[].brandUrl | string | optional | Brand URL Example: https://example.com/image.jpg |
data.products[].sellerName | string | optional | BuyBox seller name Example: null |
data.products[].sellerId | string | optional | BuyBox seller ID Example: example-id |
data.products[].sellerNation | string | optional | BuyBox seller nationality Example: null |
data.products[].sellerNum | integer | optional | Number of sellers Example: 1 |
data.products[].fulfillment | string | optional | Fulfillment method: AMZ, FBA, FBM Example: null |
data.products[].availableDate | string | optional | Listing time (date format) Example: 2026-01-01 |
data.products[].availableDateString | string | optional | Listing date (string format) Example: 2026-01-01 |
data.products[].profit | number | optional | Gross margin Example: 1 |
data.products[].fba | number | optional | FBA shipping fee Example: 1 |
data.products[].deliveryPrice | number | optional | Seller shipping fee Example: 1 |
data.products[].imageUrl | string | optional | Product image URL Example: https://example.com/image.jpg |
data.products[].parent | string | optional | Parent ASIN Example: null |
data.products[].variationNum | integer | optional | Number of variations Example: 1 |
data.products[].variant30DayUnits | integer | optional | Variant monthly sales (units) Example: 1 |
data.products[].variant30DayRevenue | number | optional | Variant monthly sales revenue Example: 1 |
data.products[].variant30DayUpdatedAt | string | optional | Variant data update time (timestamp) Example: 2026-01-01 |
data.products[].amzUnitDateString | string | optional | Variant sales update date Example: 2026-01-01 |
data.products[].listingQualityScore | number | optional | Listing quality score Example: 1 |
data.products[].nodeLabelPath | string | optional | Category path Example: null |
data.products[].nodeIdPath | string | optional | Node ID path Example: null |
data.products[].nodeId | integer | optional | Node ID Example: 1 |
data.products[].dimension | string | optional | Product dimensions Example: null |
data.products[].dimensionsType | string | optional | Dimension type Example: null |
data.products[].weight | string | optional | Product weight Example: null |
data.products[].packageDimensions | string | optional | Package dimensions Example: null |
data.products[].packageDimensionType | string | optional | Package dimension type Example: null |
data.products[].packageWeight | string | optional | Package weight Example: null |
data.products[].sku | string | optional | SKU Example: null |
data.products[].keyword | string | optional | Matching keyword (if searched by keyword, displays the corresponding keyword) Example: phone case |
data.products[].dataSnapshotMonth | string | optional | Data query month Example: null |
data.products[].sourceTool | string | optional | Source tool Example: null |
data.products[].sourceType | string | optional | Source type Example: null |
data.products[].badgeBestSeller | string | optional | Best Seller badge (Y/N) Example: null |
data.products[].badgeAmazonChoice | string | optional | Amazon's Choice badge (Y/N) Example: null |
data.products[].badgeNewRelease | string | optional | New Release badge (Y/N) Example: null |
data.products[].badgeEbc | string | optional | A+ page (Y/N) Example: null |
data.products[].badgeVideo | string | optional | Video introduction (Y/N) Example: null |
data.products[].badge | object | optional | Badge detail object, containing: bestSeller, amazonChoice, newRelease, ebc, video (all Y/N strings) Example: {} |
data.products[].subcategories | array | optional | Subcategory rankings, each entry containing code (category code), rank (rank), label (name) Example: [] |
data.costToken | integer | optional | Tokens consumed Example: 1 |
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_competitor_lookup",
"arguments": {
"keyword": "phone case",
"marketplace": "US",
"size": 50,
"matchType": 1,
"asinList": "B072MQ5BRX",
"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-competitor-lookup/runMCP method
nexscope_amazon_competitor_lookupcURL
curl -X POST \
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-competitor-lookup/run \
-H "Authorization: Bearer nk-..." \
-H "Content-Type: application/json" \
-d '{ "keyword": "phone case", "marketplace": "US", "size": 50, "matchType": 1, "asinList": "B072MQ5BRX", "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 Market Product Detail
Look up product details and historical trends by ASIN.