Keyword & Search Demand
Amazon Asin Keywords MCP Tool
Use SIF data to reverse-lookup traffic keywords for any Amazon ASIN, including organic ranking, ad ranking, search volume, traffic share, organic/paid scores, ABA TOP3 click concentration, click conversion rate, year-over-year search volume changes, and weekly/monthly time windows.
MCP tool name
nexscope_amazon_asin_keywordsEquivalent REST API path
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-asin-keywords/runJSON-RPC method
tools/callAuthentication
Send the user API key as a bearer token on every MCP JSON-RPC request.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication is missing or invalid, ask the user to open API Access and copy a valid key before calling this tool.
Call this MCP tool
Use tools/call with the MCP tool name below. The arguments object should match the table on this page.
{
"jsonrpc": "2.0",
"id": "amazon-asin-keywords-1",
"method": "tools/call",
"params": {
"name": "nexscope_amazon_asin_keywords",
"arguments": {
"country": "US",
"pageNum": 1,
"desc": true,
"pageSize": 10,
"asin": "B072MQ5BRX"
}
}
}REST API equivalent
POST https://api.nexscope.ai/api/skill-api/v1/skills/amazon-asin-keywords/runCanonical detail URL
https://www.nexscope.ai/mcp-map/amazon-asin-keywordsArguments
| Name | Type | Required | Meaning |
|---|---|---|---|
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 Example: {} |
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) Example: {} |
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) Example: {} |
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 Example: {} |
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 Example: {} |
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 |
Response fields
Treat structuredContent as the programmatic API response payload.
| 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.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.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.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. |
Examples
Example arguments
{
"country": "US",
"pageNum": 1,
"desc": true,
"pageSize": 10,
"asin": "B072MQ5BRX"
}Example structuredContent
{
"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
}