Amazon Competitor Lookup API
REST API and MCP service documentation generated from server-side API definitions. Responses use the shared code, msg, and data envelope.
API selector
REST API and MCP service documentation generated from server-side API definitions. Responses use the shared code, msg, and data envelope.
Analyze Amazon competitors across 12 marketplaces using sales, BSR, pricing, ratings, and growth metrics. View request parameters, response fields, and MCP usage.
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-competitor-lookup/runnexscope_amazon_competitor_lookupAll run endpoints require a user API key. Send it as a bearer token in the Authorization header.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxhttps://api.nexscope.ai/api/skill-api/v1/skills/amazon-competitor-lookup/runRequest parameters documented by ecommerce.amazon-competitor-lookup.
| Slug | amazon-competitor-lookup |
| Headers | Authorization: Bearer nk-...Content-Type: application/json |
| Request body | API-specific JSON object. |
| Response body | Platform envelope: code, msg, data, ts, time, cost, traceId. Inspect data.status for asynchronous completion. |
| 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. |
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 '{
"asinList": "B072MQ5BRX",
"matchType": 1,
"size": 10,
"marketplace": "US",
"keyword": "phone case",
"page": 1
}'https://api.nexscope.ai/api/skill-api/v1/skills/amazon-competitor-lookup/runSend a JSON request to execute this API and receive the documented response payload.
| Method | POST |
| Path | https://api.nexscope.ai/api/skill-api/v1/skills/amazon-competitor-lookup/run |
| Auth | Bearer API key |
| Content-Type | application/json |
| 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 |
{
"asinList": "B072MQ5BRX",
"matchType": 1,
"size": 10,
"marketplace": "US",
"keyword": "phone case",
"page": 1
}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
}| 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 |
| 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. |
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.
Connect 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/jsonOAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.
{
"jsonrpc": "2.0",
"id": "tool-call-1",
"method": "tools/call",
"params": {
"name": "nexscope_amazon_competitor_lookup",
"arguments": {
"asinList": "B072MQ5BRX",
"matchType": 1,
"size": 10,
"marketplace": "US",
"keyword": "phone case",
"page": 1
}
}
}Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.
GET / POST /api/skill-api/v1/mcpExecute the current API with your API key and JSON payload.
Send a real request with the same contract shown in the reference.
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-competitor-lookup/runnexscope_amazon_competitor_lookupcurl -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 '{ "asinList": "B072MQ5BRX", "matchType": 1, "size": 10, "marketplace": "US", "keyword": "phone case", "page": 1 }'No response yet. Run the request to see the response here.
Analyze an Amazon ASIN’s traffic source mix and compare current, previous, newly entered, and exited keyword periods.
Search and filter Amazon products by price, sales, BSR, margin, ratings, fulfillment, badges, and seller origin across multiple marketplaces.
Browse Amazon category nodes by marketplace and parent identifier, or search category metadata by label for research and listing workflows.
Query Amazon product details and historical trends by ASIN across 14 marketplaces. Review request parameters and response fields.
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: 10 |
order | object | optional | Sort configuration (see below) Example: {} |
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. |
| 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.products[].nodeLabel | string | optional | Category name echo Example: null |
data.columns | array | optional | Render column definitions Example: [] |
data.products | array | optional | Competitor list (see below) Example: [] |
data.costToken | integer | optional | Tokens consumed Example: 1 |
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.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 |
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |