Nexscope logo

Amazon Opportunity Search By Metrics API

REST API and MCP service documentation generated from server-side API definitions. Responses shown here are the direct payload returned by each API execution.

API selector
Amazon Marketplace Intelligence

API overview

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.

Try this API
Endpoint
https://claw-callback.nexscope.ai/api/skill-api/v1/skills/amazon-opportunity-search-by-metrics/run
MCP method
nexscope_amazon_opportunity_search_by_metrics

Authentication

All run endpoints require a user API key. Send it as a bearer token in the Authorization header.

Authorization: Bearer nk_xxxxxxxxxxxxxxxxx
Missing or invalid API keys return an authentication error. Manage keys from .
POSThttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/amazon-opportunity-search-by-metrics/run

Run an API

Request parameters documented by ecommerce.amazon-opportunity-search-by-metrics.

Slugamazon-opportunity-search-by-metrics
HeadersAuthorization: Bearer nk_...
Content-Type: application/json
Request bodyAPI-specific JSON object.
Response bodyDirect API response payload. No data/result wrapper is added.

Status codes

CodeDescription
200API executed successfully. Body is the direct response payload.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

Example request

curl -X POST https://api.nexscope.ai/api/skill-api/v1/skills/amazon-opportunity-search-by-metrics/run \
  -H "Authorization: Bearer nk_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{   "keyword": "phone case",   "limit": 10,   "amazonDomain": "US" }'
All categories/ Amazon Marketplace Intelligence
POSThttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/amazon-opportunity-search-by-metrics/run

Run this API

Send a JSON request to execute this API and receive the direct response payload.

Open tester

Endpoint

MethodPOST
Pathhttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/amazon-opportunity-search-by-metrics/run
AuthBearer API key
Content-Typeapplication/json

Request body

NameTypeRequiredDescription
amazonDomainstringoptional
Amazon site code (closed enum), currently only supports US. Defaults to US only if not specified
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
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)
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
demoPrimaryIncomeTierstringoptional
Income tier (closed enum): low / middle_low / middle / middle_upper / upper_middle / high
demoLifeStageTagsContainsstringoptional
Life stage tag fragment (snake_case, LIKE): parent, student, retiree, athlete, etc.
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.
featureUncommonFeatureTagsContainsstringoptional
Rare differentiation feature tag fragment (snake_case, LIKE): hema_free, medical_grade_silicone, etc.
searchTopCategory1Labelstringoptional
Search traffic top category 1 label fragment (snake_case, LIKE): core_product_terms, set_kit_configurations, etc.
reviewPositiveTop1Topicstringoptional
Positive review #1 topic fragment (snake_case, LIKE): comfort, quality_overall_generic, etc.
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.
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)
reviewStrategicInsightTagsContainsstringoptional
Review strategic insight tag fragment (snake_case, LIKE): sizing_clarity, material_transparency, etc.

Request example

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

Response body

Returns the documented upstream API response directly without an additional wrapper.

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

Response example

Direct response payload. No extra wrapper is added.

{
  "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": []
}

Responses

CodeDescription
200API executed successfully. Body is the direct response payload.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI 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.

Related APIs

MCP

Use the MCP endpoint when an agent needs to discover and call API tools with JSON-RPC.

GET /api/skill-api/v1/mcp
POST /api/skill-api/v1/mcp
Authorization: Bearer nk_xxxxxxxxxxxxxxxxx
Content-Type: application/json

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_amazon_opportunity_search_by_metrics",
    "arguments": {
      "keyword": "phone case",
      "limit": 10,
      "amazonDomain": "US"
    }
  }
}

Online test

Execute the current API with your API key and JSON payload.

Try it

Send a real request with the same contract shown in the reference.

Endpoint
https://claw-callback.nexscope.ai/api/skill-api/v1/skills/amazon-opportunity-search-by-metrics/run
MCP method
nexscope_amazon_opportunity_search_by_metrics
cURL
curl -X POST \
  https://claw-callback.nexscope.ai/api/skill-api/v1/skills/amazon-opportunity-search-by-metrics/run \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "keyword": "phone case", "limit": 10, "amazonDomain": "US" }'
Response
No response yet. Run the request to see the response here.