Amazon Research JS
Amazon Research JS: keywords/by asin API
Amazon Research JS: keywords/by asin API.
MCP tool name
nexscope_data_js_keywords_by_asinMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "data-js-keywords-by-asin-1",
"method": "tools/call",
"params": {
"name": "nexscope_data_js_keywords_by_asin",
"arguments": {
"asins": [
"B0DXXXXXXX"
],
"marketplace": "us",
"needCount": 50,
"sort": "-monthly_search_volume_exact"
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
marketplace | string | required | Target market code. Optional values: `us`, `uk`, `de`, `in`, `ca`, `fr`, `it`, `es`, `mx`, `jp` Example: us |
asins | string[] | required | List of ASINs, up to 10 Example: {} |
needCount | integer | optional | Total number of results returned (internal automatic pagination) Example: {} |
includeVariants | boolean | optional | Whether to include keywords for variant products Example: {} |
sort | string | optional | Sorting field; optional values see the sorting field table below Example: -monthly_search_volume_exact |
minMonthlySearchVolumeExact | integer | optional | Minimum monthly precise search volume (1-999999) Example: {} |
maxMonthlySearchVolumeExact | integer | optional | Maximum monthly precise search volume (1-999999) Example: {} |
minMonthlySearchVolumeBroad | integer | optional | Minimum monthly broad search volume (1-999999) Example: {} |
maxMonthlySearchVolumeBroad | integer | optional | Maximum monthly broad search volume (1-999999) Example: {} |
minWordCount | integer | optional | Minimum number of words (1-99999) Example: {} |
maxWordCount | integer | optional | Maximum number of words (1-99999) Example: {} |
minOrganicProductCount | integer | optional | Minimum number of natural search results (1-99999) Example: {} |
maxOrganicProductCount | integer | optional | Maximum number of natural search results (1-99999) Example: {} |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
costToken | integer | optional | Number of tokens consumed Example: {} |
keywordInfoList | array | optional | Keyword information list Example: {} |
name | string | optional | keywords Example: {} |
country | string | optional | market code Example: {} |
monthlySearchVolumeExact | integer | optional | Monthly exact match search volume Example: {} |
monthlySearchVolumeBroad | integer | optional | Monthly broad match search volume Example: {} |
monthlyTrend | float | optional | Month-on-month trend (%) Example: {} |
quarterlyTrend | float | optional | Quarterly Trend (%) Example: {} |
dominantCategory | string | optional | Main categories Example: {} |
relevancyScore | integer | optional | Relevance of keywords to ASIN (0-100) Example: {} |
easeOfRankingScore | integer | optional | Ease of ranking (0-100, the higher it is, the easier it is to rank) Example: {} |
organicRank | integer | optional | ASIN’s organic search ranking Example: {} |
sponsoredRank | integer | optional | Ad Rank for ASIN Example: {} |
overallRank | integer | optional | Comprehensive ranking position Example: {} |
organicProductCount | integer | optional | Total number of products in organic search results Example: {} |
sponsoredProductCount | integer | optional | Total number of advertising space products Example: {} |
ppcBidExact | float | optional | Exact match PPC recommended bid (USD) Example: {} |
ppcBidBroad | float | optional | Broad Match PPC Recommended Bid (USD) Example: {} |
spBrandAdBid | float | optional | SP Brand Ad Recommended Bid (USD) Example: {} |
recommendedPromotions | integer | optional | Recommended promotion amount Example: {} |
primaryAsin | string | optional | The highest ranking ASIN for this keyword Example: {} |
relativeOrganicPosition | float | optional | Query the relative natural ranking position of an ASIN Example: {} |
relativeSponsoredPosition | float | optional | Query the relative ad ranking position of ASIN Example: {} |
organicRankingAsinsCount | integer | optional | Number of query ASINs with natural rankings Example: {} |
sponsoredRankingAsinsCount | integer | optional | Number of query ASINs with ad ranking Example: {} |
avgCompetitorOrganicRank | float | optional | Query the average organic position of an ASIN Example: {} |
avgCompetitorSponsoredRank | float | optional | Query the average ad position for an ASIN Example: {} |
variationLowestOrganicRank | integer | optional | Best organic position among variations Example: {} |
variationLowestSponsoredRank | integer | optional | Best ad position among variations Example: {} |
competitorOrganicRank | array | optional | Natural ranking for each ASIN, element `{asin, organicRank}` Example: {} |
competitorSponsoredRank | array | optional | Ad rank for each ASIN, element `{asin, sponsoredRank}` Example: {} |
updatedAt | string | optional | Data last updated time Example: {} |
asin | string | optional | ASIN Example: {} |
organicRank | integer | optional | The ASIN’s organic search ranking Example: {} |
asin | string | optional | ASIN Example: {} |
sponsoredRank | integer | optional | Ad Rank for this ASIN Example: {} |
Examples
Example arguments
{
"asins": [
"B0DXXXXXXX"
],
"marketplace": "us",
"needCount": 50,
"sort": "-monthly_search_volume_exact"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}