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://claw-callback.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": {
"pageSize": 10,
"desc": true,
"pageNum": 1,
"country": "US",
"asin": "B072MQ5BRX"
}
}
}REST API equivalent
POST /api/skill-api/v1/runhttps://claw-callback.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 | Meaning |
|---|---|---|---|
code | string | optional | Response code Example: {} |
msg | string | optional | Message Example: {} |
total | integer | optional | Number of data records actually returned Example: 1 |
data | array | optional | Data array (see below) Example: [] |
columns | array | optional | Render columns Example: [] |
type | string | optional | Render style Example: {} |
title | string | optional | Title Example: {} |
isParentAsin | boolean | optional | Whether it is a parent ASIN (pasin) Example: false |
hasVaiants | boolean | optional | Whether it has variants Example: false |
abaCreateDateWeek | string | optional | Week date corresponding to the latest weekly ABA data Example: 2026-01-01 |
costTime | integer | optional | Latency (ms) Example: 1 |
costToken | integer | optional | Tokens consumed Example: 1 |
data[].keyword | string | optional | Keyword Example: phone case |
data[].translateKeyword | string | optional | Keyword translation, localized translation for the site Example: phone case |
data[].asin | string | optional | Product ASIN Example: B072MQ5BRX |
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[].naturalRankDisplay | string | optional | Natural rank display text. String representation of natural search rank Example: {} |
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[].adRankDisplay | string | optional | Ad rank display text. String representation of SP ad rank Example: {} |
data[].weeklySearchVolume | integer | optional | Weekly search volume. Estimated weekly search count for this keyword on Amazon Example: 1 |
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[].totalSearchResultProductCount | integer | optional | Total search result product count for this keyword (active listings) Example: 1 |
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[].naturalTrafficShare | number | optional | Natural traffic score share. Natural search traffic score / total score Example: 1 |
data[].paidTrafficShare | number | optional | Paid ad traffic score share. Ad traffic score / total score; ad total = sp + sb + sbv + recAd Example: 1 |
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[].sponsoredProductsScore | number | optional | SP ad regular score. Traffic score for Sponsored Products regular placements (excluding SP recommendation placements) Example: 1 |
data[].brandAdScore | number | optional | SB brand ad score. Traffic score for Sponsored Brands brand ads (regular + video, combined) Example: 1 |
data[].videoAdScore | number | optional | SBV video ad score. Traffic score for Sponsored Brands Video video ads Example: 1 |
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[].sponsoredRecommendationBreakdown | array | optional | SP recommendation placement score breakdown. Each entry {title, score, scoreRatio} Example: [] |
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[].clickToPurchaseConversionRate | number | optional | Click-to-purchase conversion rate (purchaseQty / clickQty) Example: 1 |
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[].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[].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[].lastNaturalRankTime | string | optional | Time of the most recent valid natural rank Example: {} |
data[].lastAdRankTime | string | optional | Time of the most recent valid SP ad rank Example: {} |
data[].periodEndDate | string | optional | Current period (weekly granularity) end date = start week + 7 days (site time) Example: 2026-01-01 |
data[].updateTime | string | optional | Keyword data update time Example: 2026-01-01 |
errcode | integer | optional | Upstream status code returned by the provider. Example: {} |
errmsg | string | optional | Upstream status message returned by the provider. Example: {} |
message | string | optional | Provider-specific message. Example: {} |
sourceType | string | optional | Provider-specific source platform type. Example: {} |
sourceTool | string | optional | Provider-specific source tool name. Example: {} |
page | integer | optional | Current page returned by the upstream provider. Example: {} |
pageSize | integer | optional | Page size returned by the upstream provider. Example: {} |
pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: {} |
totalPage | integer | optional | Total page count returned by the upstream provider. Example: {} |
dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: {} |
Examples
Example arguments
{
"pageSize": 10,
"desc": true,
"pageNum": 1,
"country": "US",
"asin": "B072MQ5BRX"
}Example structuredContent
{
"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
}