Nexscope

Amazon Marketplace Intelligence

Amazon Opportunity Search By Metrics MCP Tool

Amazon reverse product selection: filter Amazon niches and keywords by 30+ business dimensions (market size & growth, price tiers & share, competition density & top concentration, demographics such as age/gender/income, review highlights & pain points) from a metrics pool aggregated from historical business insight reports.

MCP tool name
nexscope_amazon_opportunity_search_by_metrics
Legacy MCP endpoint
/api/skill-api/v1/mcp
JSON-RPC method
tools/call

Authentication

Send the user API key as a bearer token on every MCP JSON-RPC request.

Authorization: Bearer nk-xxxxxxxxxxxxxxxxx

If 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-opportunity-search-by-metrics-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_amazon_opportunity_search_by_metrics",
    "arguments": {
      "amazonDomain": "US",
      "keyword": "phone case",
      "limit": 10
    }
  }
}
Legacy endpoint
POST /api/skill-api/v1/mcp
Canonical detail URL
https://www.nexscope.ai/mcp-map/amazon-opportunity-search-by-metrics

Arguments

NameTypeRequiredMeaning
amazonDomainstringoptional
Amazon site code (closed enum), currently only supports US. Defaults to US only if not specified
Example: {}
limitintegeroptional
Maximum number of results to return (1-200), default 25. No page parameter; returns the most recent N records sorted by collection time descending
Example: 1
keywordstringoptional
Search keyword text fragment (LIKE fuzzy match)
Example: phone case
nicheNamestringoptional
Normalized niche name fragment (LIKE, snake_case lowercase), suitable for niche time-series comparison
Example: {}
nicheRevenue360dMinUsdAtLeastGtenumberoptional
Minimum 360-day market revenue lower bound (USD)
Example: 1
nicheRevenue360dMinUsdAtLeastLtenumberoptional
Maximum 360-day market revenue lower bound (USD)
Example: 1
nicheRevenue360dMaxUsdAtLeastGtenumberoptional
Minimum 360-day market revenue upper bound (USD)
Example: 1
nicheRevenue360dMaxUsdAtLeastLtenumberoptional
Maximum 360-day market revenue upper bound (USD)
Example: 1
nichePeakSearchVolumeAtLeastGteintegeroptional
Peak monthly search volume minimum (non-negative integer)
Example: 1
nichePeakSearchVolumeAtLeastLteintegeroptional
Peak monthly search volume maximum (non-negative integer)
Example: 1
nicheSearchVolumeYoyChangePctAtLeastGtenumberoptional
Search volume YoY change rate minimum (%, signed)
Example: 1
nicheSearchVolumeYoyChangePctAtLeastLtenumberoptional
Search volume YoY change rate maximum (%, signed)
Example: 1
nichePeakMonthGteintegeroptional
Search peak month minimum (1-12)
Example: 1
nichePeakMonthLteintegeroptional
Search peak month maximum (1-12)
Example: 1
nicheBrandCountGteintegeroptional
Active brand count minimum
Example: 1
nicheBrandCountLteintegeroptional
Active brand count maximum
Example: 1
nicheBrandCountYoyChangePctAtLeastGtenumberoptional
Brand count YoY change rate minimum (%, signed)
Example: 1
nicheBrandCountYoyChangePctAtLeastLtenumberoptional
Brand count YoY change rate maximum (%, signed)
Example: 1
nicheTop5ProductClickSharePctAtLeastGtenumberoptional
Top 5 product click share minimum (0-100)
Example: 1
nicheTop5ProductClickSharePctAtLeastLtenumberoptional
Top 5 product click share maximum (0-100)
Example: 1
featureTop5BrandSharePctAtLeastGtenumberoptional
Top 5 brand combined share minimum (0-100)
Example: 1
featureTop5BrandSharePctAtLeastLtenumberoptional
Top 5 brand combined share maximum (0-100)
Example: 1
featureTopBrandsContainsstringoptional
Top 3 brand name fragment (original text LIKE, case-sensitive)
Example: {}
priceMinUsdGtenumberoptional
Niche minimum product price lower bound (USD)
Example: 1
priceMinUsdLtenumberoptional
Niche minimum product price upper bound (USD)
Example: 1
priceMaxUsdGtenumberoptional
Niche maximum product price lower bound (USD)
Example: 1
priceMaxUsdLtenumberoptional
Niche maximum product price upper bound (USD)
Example: 1
priceSweetSpotMinUsdGtenumberoptional
Sweet spot lower bound minimum (USD)
Example: 1
priceSweetSpotMinUsdLtenumberoptional
Sweet spot lower bound maximum (USD)
Example: 1
priceSweetSpotMaxUsdGtenumberoptional
Sweet spot upper bound minimum (USD)
Example: 1
priceSweetSpotMaxUsdLtenumberoptional
Sweet spot upper bound maximum (USD)
Example: 1
priceEntryClickSharePctAtLeastGtenumberoptional
Entry tier click share minimum (0-100)
Example: 1
priceEntryClickSharePctAtLeastLtenumberoptional
Entry tier click share maximum (0-100)
Example: 1
priceMidClickSharePctAtLeastGtenumberoptional
Mid tier click share minimum (0-100)
Example: 1
priceMidClickSharePctAtLeastLtenumberoptional
Mid tier click share maximum (0-100)
Example: 1
priceHighClickSharePctAtLeastGtenumberoptional
High tier click share minimum (0-100)
Example: 1
priceHighClickSharePctAtLeastLtenumberoptional
High tier click share maximum (0-100)
Example: 1
demoPrimaryAgeMinGteintegeroptional
Primary audience age lower bound minimum (0-120 years)
Example: 1
demoPrimaryAgeMinLteintegeroptional
Primary audience age lower bound maximum (0-120 years)
Example: 1
demoPrimaryAgeMaxGteintegeroptional
Primary audience age upper bound minimum (0-120 years)
Example: 1
demoPrimaryAgeMaxLteintegeroptional
Primary audience age upper bound maximum (0-120 years)
Example: 1
demoGenderDominantstringoptional
Dominant gender (closed enum): female / male / mixed / unspecified
Example: {}
demoPrimaryIncomeTierstringoptional
Income tier (closed enum): low / middle_low / middle / middle_upper / upper_middle / high
Example: {}
demoLifeStageTagsContainsstringoptional
Life stage tag fragment (snake_case, LIKE): parent, student, retiree, athlete, etc.
Example: {}
featureNewAvgReviewCountAtLeastGteintegeroptional
New product average review count minimum (non-negative integer)
Example: 1
featureNewAvgReviewCountAtLeastLteintegeroptional
New product average review count maximum (non-negative integer)
Example: 1
featureEstablishedAvgReviewCountAtLeastGteintegeroptional
Established product average review count minimum (non-negative integer)
Example: 1
featureEstablishedAvgReviewCountAtLeastLteintegeroptional
Established product average review count maximum (non-negative integer)
Example: 1
featureEmergingTrendTagsContainsstringoptional
Emerging trend feature tag fragment (snake_case, LIKE): cordless, portable, smart, etc.
Example: {}
featureUncommonFeatureTagsContainsstringoptional
Rare differentiation feature tag fragment (snake_case, LIKE): hema_free, medical_grade_silicone, etc.
Example: {}
searchTopCategory1Labelstringoptional
Search traffic top category 1 label fragment (snake_case, LIKE): core_product_terms, set_kit_configurations, etc.
Example: {}
reviewPositiveTop1Topicstringoptional
Positive review #1 topic fragment (snake_case, LIKE): comfort, quality_overall_generic, etc.
Example: {}
reviewPositiveTop1PctAtLeastGtenumberoptional
Positive review #1 topic share minimum (0-100, share among positive reviews)
Example: 1
reviewPositiveTop1PctAtLeastLtenumberoptional
Positive review #1 topic share maximum (0-100)
Example: 1
reviewNegativeTop1Topicstringoptional
Negative review #1 topic fragment (snake_case, LIKE): size, quality, durability, etc.
Example: {}
reviewNegativeTop1PctAtLeastGtenumberoptional
Negative review #1 topic share minimum (0-100, share among negative reviews)
Example: 1
reviewNegativeTop1PctAtLeastLtenumberoptional
Negative review #1 topic share maximum (0-100)
Example: 1
reviewNegativeTop2Topicstringoptional
Negative review #2 topic fragment (snake_case, LIKE)
Example: {}
reviewStrategicInsightTagsContainsstringoptional
Review strategic insight tag fragment (snake_case, LIKE): sizing_clarity, material_transparency, etc.
Example: {}

Response fields

Treat structuredContent as the programmatic API response payload.

NameTypeRequiredDescription
dataanyrequired
Data value used by this API operation.
codeintegerrequired
0 means accepted or successful; nonzero is a platform error.
msgstring | nullrequired
Msg value used by this API operation.
tsstringrequired
Epoch milliseconds.
timestringrequired
Server local time: yyyy-MM-dd HH:mm:ss.
coststringrequired
Elapsed milliseconds, never credits; -1 outside web requests.
traceIdstring | nullrequired
Trace id value used by this API operation.

Any of option 1

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.dataarrayoptional
Array of keyword metric records, each corresponding to a (site, keyword) combination, approximately 37 fields, sorted by collection time descending
Example: []
data.data[].amazonDomainstringoptional
Site code (currently fixed US)
Example: null
data.keywordstringoptional
Original search keyword
Example: phone case
data.data[].nicheNamestringoptional
Normalized niche name (snake_case)
Example: null
data.nicheRevenue360dMinUsdAtLeast/nicheRevenue360dMaxUsdAtLeastnumberoptional
Last 360 days market revenue lower bound / upper bound (USD)
Example: 1
data.nichePeakSearchVolumeAtLeastintegeroptional
Peak monthly search volume
Example: 1
data.nichePeakMonthintegeroptional
Search peak month (1-12)
Example: 1
data.nicheSearchVolumeYoyChangePctAtLeastnumberoptional
Search volume YoY change rate (%, signed)
Example: 1
data.nicheBrandCount/nicheBrandCountYoyChangePctAtLeastintegeroptional
Active brand count and its YoY change rate
Example: 1
data.nicheTop5ProductClickSharePctAtLeastnumberoptional
Top 5 product click share (0-100)
Example: 1
data.featureTop5BrandSharePctAtLeastnumberoptional
Top 5 brand combined share (0-100)
Example: 1
data.featureTopBrandsarrayoptional
Top 3 brand name list (original text)
Example: []
data.priceMinUsd/priceMaxUsdnumberoptional
Niche overall minimum / maximum product price
Example: 1
data.priceSweetSpotMinUsd/priceSweetSpotMaxUsdnumberoptional
Value sweet spot price range lower bound / upper bound
Example: 1
data.priceEntryClickSharePctAtLeast/priceMidClickSharePctAtLeast/priceHighClickSharePctAtLeastnumberoptional
Entry / Mid / High tier click share (0-100)
Example: 1
data.demoPrimaryAgeMin/demoPrimaryAgeMaxintegeroptional
Core audience age lower bound / upper bound
Example: 1
data.data[].demoGenderDominantstringoptional
Dominant gender (female / male / mixed / unspecified)
Example: null
data.data[].demoPrimaryIncomeTierstringoptional
Core audience income tier
Example: null
data.demoLifeStageTagsarrayoptional
Life stage tag list
Example: []
data.featureNewAvgReviewCountAtLeast/featureEstablishedAvgReviewCountAtLeastintegeroptional
New / Established product average review count
Example: 1
data.featureEmergingTrendTags/featureUncommonFeatureTagsarrayoptional
Emerging trend / Rare differentiation feature tags
Example: []
data.data[].searchTopCategory1Labelstringoptional
Traffic top category 1 normalized label
Example: null
data.reviewPositiveTop1Topic/reviewPositiveTop1PctAtLeastnumberoptional
Positive review #1 topic and its share among positive reviews
Example: 1
data.reviewNegativeTop1Topic/reviewNegativeTop1PctAtLeast/reviewNegativeTop2Topicnumberoptional
Negative review #1 topic, share, and secondary cause
Example: 1
data.reviewStrategicInsightTagsarrayoptional
Review strategic insight tags
Example: []
data.typestringoptional
Provider-specific render or payload type.
Example: null
data.titlestringoptional
Provider-specific response title.
Example: null
data.sourceTypestringoptional
Provider-specific source platform type.
Example: null
data.sourceToolstringoptional
Provider-specific source tool name.
Example: null
data.costTokenintegeroptional
Token cost reported by the upstream provider.
Example: null
data.costTimeintegeroptional
Execution time reported by the upstream provider.
Example: null
data.pageintegeroptional
Current page returned by the upstream provider.
Example: null
data.pageSizeintegeroptional
Page size returned by the upstream provider.
Example: null
data.pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
Example: null
data.totalPageintegeroptional
Total page count returned by the upstream provider.
Example: null
data.dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
datanullrequired
Data value used by this API operation.

Examples

Example arguments

{
  "amazonDomain": "US",
  "keyword": "phone case",
  "limit": 10
}

Example structuredContent

{
  "data": {
    "data": [],
    "keyword": "phone case",
    "nicheRevenue360dMinUsdAtLeast/nicheRevenue360dMaxUsdAtLeast": 1,
    "nichePeakSearchVolumeAtLeast": 1,
    "nichePeakMonth": 1,
    "nicheSearchVolumeYoyChangePctAtLeast": 1,
    "nicheBrandCount/nicheBrandCountYoyChangePctAtLeast": 1,
    "nicheTop5ProductClickSharePctAtLeast": 1,
    "featureTop5BrandSharePctAtLeast": 1,
    "featureTopBrands": [],
    "priceMinUsd/priceMaxUsd": 1,
    "priceSweetSpotMinUsd/priceSweetSpotMaxUsd": 1,
    "priceEntryClickSharePctAtLeast/priceMidClickSharePctAtLeast/priceHighClickSharePctAtLeast": 1,
    "demoPrimaryAgeMin/demoPrimaryAgeMax": 1,
    "demoLifeStageTags": [],
    "featureNewAvgReviewCountAtLeast/featureEstablishedAvgReviewCountAtLeast": 1,
    "featureEmergingTrendTags/featureUncommonFeatureTags": [],
    "reviewPositiveTop1Topic/reviewPositiveTop1PctAtLeast": 1,
    "reviewNegativeTop1Topic/reviewNegativeTop1PctAtLeast/reviewNegativeTop2Topic": 1,
    "reviewStrategicInsightTags": []
  },
  "code": 0,
  "msg": null,
  "ts": "0",
  "time": "2026-01-01 00:00:00",
  "cost": "-1",
  "traceId": null
}