Amazon ASIN Keywords
Find keywords driving traffic to an Amazon ASIN.
Cost12 credits / call
POST ·
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-asin-keywords/runMCP · nexscope_amazon_asin_keywordsChoose an integration method
Keyword & Search Demand
What this API does
Reverse-lookup Amazon ASIN traffic keywords with organic and ad rankings, search volume, traffic share, conversion, and time-window metrics.
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-asin-keywords/runMCP method
nexscope_amazon_asin_keywordsStep 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-asin-keywords/runRun an API
Request parameters documented by ecommerce.amazon-asin-keywords.
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-asin-keywords/run' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"asin": "B072MQ5BRX",
"pageSize": 10,
"desc": true,
"pageNum": 1,
"country": "US"
}'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/ Keyword & Search Demand
POST
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-asin-keywords/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-asin-keywords/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
asin | string | required | ASIN code, max length 1000 characters. This tool can only query one ASIN at a time Example: B072MQ5BRX |
country | string | optional | Country site, default US. Options (13 total): US, UK, DE, CA, JP, FR, ES, IT, MX, AU, AE, BR, SA |
keyword | string | optional | Keyword, max length 1000. Translate to the corresponding country's language whenever possible Example: phone case |
timePieceType | string | optional | Time slice type, default latelyDay. Options: latelyDay (last N days), month (a specific month), week (a specific week) |
timePieceValue | string | optional | Time slice value, default 7, max length 1000. For latelyDay only 7 or 30; for month format YYYY-MM (e.g. 2026-04); for week format week start date YYYY-MM-DD (e.g. 2026-04-13) |
conditions | string | optional | Condition filters, comma-separated. Options:<br>Flag type: nfPosition (natural traffic keyword), isSpAd (SP ad keyword), isBrandAd (brand ad keyword), isVedioAd (video ad keyword), isAC (AC recommended keyword), isAccurateKw (precise traffic keyword), isAccurateTailKw (precise long-tail keyword), isPurchaseKw (converting keyword), isQualityKw (high-quality conversion keyword), isStableKw (stable conversion keyword), isLossKw (lost conversion keyword), isInvalidKw (invalid impression keyword), isMultiVariantKw (multi-variant natural rank keyword), isSearchVolUpKw (search volume YoY growth keyword), isSearchVolDownKw (search volume YoY decline keyword)<br>Period count type (.total all / .in new): totalPeriod.in, nfKeywordCnt.total, nfKeywordCnt.in, adKeywordCnt.total, adKeywordCnt.in, allSpKeywordCnt.total, allSpKeywordCnt.in, spKeywordCnt.total, spKeywordCnt.in, recSpKeywordCnt.total, recSpKeywordCnt.in, allSbKeywordCnt.total, allSbKeywordCnt.in, sbKeywordCnt.total, sbKeywordCnt.in, sbvKeywordCnt.total, sbvKeywordCnt.in |
sortBy | string | optional | Sort field. Options: lastRank (natural rank), adLastRank (ad rank), updateTime (keyword crawl time), searchesRank (search rank), estSearchesNum (monthly search volume). Empty string means default system sort |
desc | boolean | optional | Whether to sort descending, default true Example: false |
pageNum | integer | optional | Page number, default 1 Example: 1 |
pageSize | integer | optional | Results per page, min 10, max 100, default 100 Example: 10 |
Code example
{
"asin": "B072MQ5BRX",
"pageSize": 10,
"desc": true,
"pageNum": 1,
"country": "US"
}Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"data": {
"total": 1,
"data": [
{
"keyword": "phone case",
"translateKeyword": "phone case",
"asin": "B072MQ5BRX",
"productNaturalRank": 1,
"productAdRank": 1,
"weeklySearchVolume": 1,
"keywordPopularityRank": 1,
"totalSearchResultProductCount": 1,
"trafficShare": 1,
"naturalTrafficShare": 1,
"paidTrafficShare": 1,
"naturalTrafficScore": 1,
"sponsoredProductsScore": 1,
"brandAdScore": 1,
"videoAdScore": 1,
"sponsoredRecommendationScore": 1,
"sponsoredRecommendationBreakdown": [],
"clickConcentrationShare": 1,
"clickToPurchaseConversionRate": 1,
"displayPositionTypes": [],
"trafficCharacteristicMarkers": [],
"conversionPerformanceMarkers": [],
"periodEndDate": "2026-01-01",
"updateTime": "2026-01-01"
}
],
"columns": [],
"isParentAsin": false,
"hasVaiants": false,
"abaCreateDateWeek": "2026-01-01",
"costTime": 1,
"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 | Number of data records actually returned Example: 1 |
data.data | array | optional | Data array (see below) Example: [] |
data.data[] | object | required | Item in data data. |
data.data[].keyword | string | optional | Keyword Example: phone case |
data.data[].translateKeyword | string | optional | Keyword translation, localized translation for the site Example: phone case |
data.data[].asin | string | optional | Product ASIN Example: B072MQ5BRX |
data.data[].productNaturalRank | integer | optional | Product natural search rank. The position ranking of this product in natural search results for this keyword, e.g. 1 means ranked 1st (top position) in search results Example: 1 |
data.data[].naturalRankDisplay | string | optional | Natural rank display text. String representation of natural search rank Example: null |
data.data[].productAdRank | integer | optional | Product SP ad rank. The ranking position of this product in Sponsored Products ad placements for this keyword, e.g. 3 means ranked 3rd in ad placement Example: 1 |
data.data[].adRankDisplay | string | optional | Ad rank display text. String representation of SP ad rank Example: null |
data.data[].weeklySearchVolume | integer | optional | Weekly search volume. Estimated weekly search count for this keyword on Amazon Example: 1 |
data.data[].keywordPopularityRank | integer | optional | Keyword search popularity rank. This keyword's monthly search volume ranking among all Amazon keywords; lower values indicate higher search volume Example: 1 |
data.data[].totalSearchResultProductCount | integer | optional | Total search result product count for this keyword (active listings) Example: 1 |
data.data[].trafficShare | number | optional | Traffic share. Proportion of traffic this keyword brings to the product out of all keywords' total traffic, where 1 = 100% Example: 1 |
data.data[].naturalTrafficShare | number | optional | Natural traffic score share. Natural search traffic score / total score Example: 1 |
data.data[].paidTrafficShare | number | optional | Paid ad traffic score share. Ad traffic score / total score; ad total = sp + sb + sbv + recAd Example: 1 |
data.data[].naturalTrafficScore | number | optional | Natural traffic score. Natural search exposure score this keyword brings to this ASIN; 0 = no natural traffic exposure Example: 1 |
data.data[].sponsoredProductsScore | number | optional | SP ad regular score. Traffic score for Sponsored Products regular placements (excluding SP recommendation placements) Example: 1 |
data.data[].brandAdScore | number | optional | SB brand ad score. Traffic score for Sponsored Brands brand ads (regular + video, combined) Example: 1 |
data.data[].videoAdScore | number | optional | SBV video ad score. Traffic score for Sponsored Brands Video video ads Example: 1 |
data.data[].sponsoredRecommendationScore | number | optional | SP recommendation placement score. Combined score for Trending now / Seen on social media / Customers frequently viewed / 4 stars and above, etc. Example: 1 |
data.data[].sponsoredRecommendationBreakdown | array | optional | SP recommendation placement score breakdown. Each entry {title, score, scoreRatio} Example: [] |
data.data[].clickConcentrationShare | number | optional | ABA TOP3 click concentration. Measures whether clicks are concentrated on top ASINs; note this is not conversion rate Example: 1 |
data.data[].clickToPurchaseConversionRate | number | optional | Click-to-purchase conversion rate (purchaseQty / clickQty) Example: 1 |
data.data[].displayPositionTypes | array | optional | Product display position type array. May contain: natural=natural search result position; ac=Amazon's Choice recommendation position; sp=Sponsored Products ad position; top=top-of-page brand ad position; bottom=bottom-of-page brand ad position; er=Editorial Recommendations position; vedio=video ad position; tr=Top Rated recommendation position; trfob=Top Rated Frequently Bought recommendation position Example: [] |
data.data[].trafficCharacteristicMarkers | array | optional | Keyword traffic characteristic marker array. May contain: isMainKw=main traffic keyword; isAccurateKw=precise traffic keyword; isAccurateAboveKw=precise broad keyword; isAccurateTailKw=precise long-tail keyword Example: [] |
data.data[].conversionPerformanceMarkers | array | optional | Conversion performance marker array. May contain: isPurchaseKw=converting keyword; isQualityKw=high-quality conversion keyword; isStableKw=stable conversion keyword; isLossKw=lost conversion keyword; isInvalidKw=invalid impression keyword Example: [] |
data.data[].lastNaturalRankTime | string | optional | Time of the most recent valid natural rank Example: null |
data.data[].lastAdRankTime | string | optional | Time of the most recent valid SP ad rank Example: null |
data.data[].periodEndDate | string | optional | Current period (weekly granularity) end date = start week + 7 days (site time) Example: 2026-01-01 |
data.data[].updateTime | string | optional | Keyword data update time Example: 2026-01-01 |
data.columns | array | optional | Render columns Example: [] |
data.type | string | optional | Render style Example: null |
data.title | string | optional | Title Example: null |
data.isParentAsin | boolean | optional | Whether it is a parent ASIN (pasin) Example: false |
data.hasVaiants | boolean | optional | Whether it has variants Example: false |
data.abaCreateDateWeek | string | optional | Week date corresponding to the latest weekly ABA data Example: 2026-01-01 |
data.costTime | integer | optional | Latency (ms) Example: 1 |
data.costToken | integer | optional | Tokens consumed Example: 1 |
data.sourceType | string | optional | Provider-specific source platform type. Example: null |
data.sourceTool | string | optional | Provider-specific source tool name. 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_asin_keywords",
"arguments": {
"asin": "B072MQ5BRX",
"pageSize": 10,
"desc": true,
"pageNum": 1,
"country": "US"
}
}
}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.
12 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-asin-keywords/runMCP method
nexscope_amazon_asin_keywordscURL
curl -X POST \
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-asin-keywords/run \
-H "Authorization: Bearer nk-..." \
-H "Content-Type: application/json" \
-d '{ "asin": "B072MQ5BRX", "pageSize": 10, "desc": true, "pageNum": 1, "country": "US" }'Response
No response yet. Run the request to see the response here.
Related APIs
Amazon Keyword Expansion
Find related Amazon keywords and compare search demand.
Amazon Keyword Intelligence
Explore weekly Amazon Brand Analytics search-term data.
Amazon Keyword Overview
Evaluate search demand and competition for an Amazon keyword.
Amazon Keyword Search History
Track exact Amazon keyword search volume in seven-day periods across 10 marketplaces.