Nexscope

Amazon Opportunity Search By Metrics

Filter Amazon niches and keywords using 30+ business metrics covering market size, growth, competition, pricing, demographics. Available via REST API or MCP.

CostRecent Avg. 21 · Range 10–125 credits / call
Try online
POST · https://api.nexscope.ai/amazon/opportunity/searchByMetricsMCP · nexscope_amazon_opportunity_search_by_metrics

Choose an integration method

Amazon ABA & Business Insights

What this API does

Filter Amazon niches and keywords using 30+ business metrics covering market size, growth, competition, pricing, demographics. The request accepts amazonDomain, limit, keyword, nicheName, nicheRevenue360dMinUsdAtLeastGte. Its documented result includes amazonDomain, dataSnapshotMonth, demoGenderDominant, demoLifeStageTags, demoPrimaryIncomeTier, featureTop5BrandSharePctAtLeast, featureTopBrands, keyword.

Amazon Opportunity Search By Metrics API use cases

Find products matching a sourcing brief

To find products matching a sourcing brief, a marketplace analyst submits amazonDomain and limit to Amazon Opportunity Search By Metrics. The returned amazonDomain, dataSnapshotMonth, demoGenderDominant help identify products matching the requested search criteria.

Compare a product search shortlist

A marketplace analyst uses Amazon Opportunity Search By Metrics with amazonDomain and limit to compare a product search shortlist. The returned amazonDomain, dataSnapshotMonth, demoGenderDominant help compare candidates before requesting individual product details.

Collect candidates for a market review

For this workflow, a marketplace analyst calls Amazon Opportunity Search By Metrics with amazonDomain and limit to collect candidates for a market review. The result helps choose products for a supplier or competitor review.

Amazon Opportunity Search By Metrics API FAQ

What does the Amazon Opportunity Search By Metrics API return?

Filter Amazon niches and keywords using 30+ business metrics covering market size, growth, competition, pricing, demographics. The documented output includes amazonDomain, dataSnapshotMonth, demoGenderDominant, demoLifeStageTags, demoPrimaryIncomeTier, featureTop5BrandSharePctAtLeast, featureTopBrands, keyword. It corresponds to the supplied amazonDomain, limit, keyword, nicheName, nicheRevenue360dMinUsdAtLeastGte. Optional fields can be absent; a missing value should not be interpreted as a measured zero. Example values illustrate the response shape, rather than live account results.

How many credits does the Amazon Opportunity Search By Metrics API cost?

The current documented cost is Recent Avg. 21 · Range 10–125 credits / call. This is the same cost shown at the top of this page. If a range or estimate is displayed, the final charge depends on the request. Review your available credits and the pricing page before calling the API, and check API usage records for the actual charge.

How do I call the Amazon Opportunity Search By Metrics API from my app or an MCP client?

Send a POST request to https://api.nexscope.ai/amazon/opportunity/searchByMetrics with your API key as a Bearer token and the JSON inputs shown in API integration. In a compatible MCP client such as Claude or Cursor, connect Nexscope and call nexscope_amazon_opportunity_search_by_metrics. Use the MCP arguments shown in the MCP guide, or switch Online test to MCP to review its request before adding it to your app.

View plans and creditsConnect this API with MCP

Try this API
Endpoint
https://api.nexscope.ai/amazon/opportunity/searchByMetrics
MCP method
nexscope_amazon_opportunity_search_by_metrics

Step 1 of 3 · Authenticate

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 .

Step 2 of 3 · Send a request

POSThttps://api.nexscope.ai/amazon/opportunity/searchByMetrics

Run an API

Send a JSON request body using the parameters described below.

Example request

Replace YOUR_API_KEY, then run this command in your terminal.

curl -X POST 'https://api.nexscope.ai/amazon/opportunity/searchByMetrics' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "featureNewAvgReviewCountAtLeastLte": 500,
  "limit": 25,
  "nicheBrandCountLte": 20,
  "nicheSearchVolumeYoyChangePctAtLeastGte": 100
}'

Step 3 of 3 · Inspect the result

Check the response

Read code for the request status and data for the result. Open the parameter and response reference for the full field definitions.

HTTP status codes

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.
All categories/ Amazon ABA & Business Insights
POSThttps://api.nexscope.ai/amazon/opportunity/searchByMetrics

Run this API

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

Endpoint

MethodPOST
Pathhttps://api.nexscope.ai/amazon/opportunity/searchByMetrics
AuthBearer API key
Content-Typeapplication/json

Request parameters

NameTypeRequiredDescription
amazonDomainstringoptional
Amazon site code (closed enumeration), currently only supports `US`; if not specified, only the US site will be checked by default.
limitintegeroptional
Returns the upper limit of the number of items; without the `page` parameter, the most recent N items are returned in reverse order of collection time.
keywordstringoptional
Search keyword text fragments (LIKE fuzzy matching).
nicheNamestringoptional
Track normalized name fragment (LIKE, snake_case lowercase), suitable for track timing comparison.
nicheRevenue360dMinUsdAtLeastGtenumberoptional
The minimum value of the 360-day market revenue lower bound (USD).
nicheRevenue360dMinUsdAtLeastLtenumberoptional
The maximum value of the 360-day market revenue lower bound (USD).
nicheRevenue360dMaxUsdAtLeastGtenumberoptional
The minimum value of the 360-day market revenue upper bound (USD).
nicheRevenue360dMaxUsdAtLeastLtenumberoptional
The maximum value of the 360-day market revenue upper bound (USD).
nichePeakSearchVolumeAtLeastGteintegeroptional
Lower bound for peak monthly search volume.
nichePeakSearchVolumeAtLeastLteintegeroptional
The upper bound of peak monthly search volume.
nicheSearchVolumeYoyChangePctAtLeastGtenumberoptional
The lower limit of the year-on-year change rate of search volume (%, signed).
nicheSearchVolumeYoyChangePctAtLeastLtenumberoptional
The upper limit of the year-over-year change rate of search volume (%, signed).
nichePeakMonthGteintegeroptional
Search peak month lower limit.
nichePeakMonthLteintegeroptional
Search peak month cap.
nicheBrandCountGteintegeroptional
Minimum number of active brands.
nicheBrandCountLteintegeroptional
Maximum number of active brands.
nicheBrandCountYoyChangePctAtLeastGtenumberoptional
The lower limit of the year-on-year change rate of the number of brands (%, with sign).
nicheBrandCountYoyChangePctAtLeastLtenumberoptional
The upper limit of the year-on-year change rate of the number of brands (%, with sign).
nicheTop5ProductClickSharePctAtLeastGtenumberoptional
The lower limit for the click share of the top 5 products.
nicheTop5ProductClickSharePctAtLeastLtenumberoptional
The upper limit of the click share of the top 5 products.
featureTop5BrandSharePctAtLeastGtenumberoptional
The lower limit of the total share of the top 5 brands.
featureTop5BrandSharePctAtLeastLtenumberoptional
The upper limit of the total share of the top 5 brands.
featureTopBrandsContainsstringoptional
Top 3 brand name fragments (original text LIKE, case sensitive).
priceMinUsdGtenumberoptional
The lowest product price limit on the track (USD).
priceMinUsdLtenumberoptional
The track’s minimum product price limit (USD).
priceMaxUsdGtenumberoptional
The track’s maximum product price limit (USD).
priceMaxUsdLtenumberoptional
The track’s maximum product price limit (USD).
priceSweetSpotMinUsdGtenumberoptional
The lower bound of the Sweet Spot lower limit (USD).
priceSweetSpotMinUsdLtenumberoptional
The upper bound of the Sweet Spot lower limit (USD).
priceSweetSpotMaxUsdGtenumberoptional
Lower bound of Sweet Spot upper limit (USD).
priceSweetSpotMaxUsdLtenumberoptional
The upper bound of the Sweet Spot limit (USD).
priceEntryClickSharePctAtLeastGtenumberoptional
Minimum click share for entry-level users.
priceEntryClickSharePctAtLeastLtenumberoptional
The entry level click share limit.
priceMidClickSharePctAtLeastGtenumberoptional
Mid-range click share floor.
priceMidClickSharePctAtLeastLtenumberoptional
Mid-range click share cap.
priceHighClickSharePctAtLeastGtenumberoptional
The lower limit of click share for high-end products.
priceHighClickSharePctAtLeastLtenumberoptional
High-end click share limit.
demoPrimaryAgeMinGteintegeroptional
The minimum value of the lower bound of the age of the main population.
demoPrimaryAgeMinLteintegeroptional
The maximum value of the lower bound of the age of the host group.
demoPrimaryAgeMaxGteintegeroptional
The minimum value of the upper bound of the age of the main population.
demoPrimaryAgeMaxLteintegeroptional
The maximum value of the upper bound of the age of the host group.
demoGenderDominantstringoptional
Gender dominant (closed enumeration): `female` / `male` / `mixed` / `unspecified`.
demoPrimaryIncomeTierstringoptional
Income file (closed enumeration): `low` / `middle_low` / `middle` / `middle_upper` / `upper_middle` / `high`.
demoLifeStageTagsContainsstringoptional
Life stage tag fragment (snake_case, LIKE), such as `parent`, `student`, `retiree`, `athlete`.
featureNewAvgReviewCountAtLeastGteintegeroptional
The lower limit for the average number of reviews for new products.
featureNewAvgReviewCountAtLeastLteintegeroptional
The upper limit of the average number of reviews for new products.
featureEstablishedAvgReviewCountAtLeastGteintegeroptional
The lower limit of the average number of comments for mature and old products.
featureEstablishedAvgReviewCountAtLeastLteintegeroptional
The upper limit of the average number of comments for mature and old products.
featureEmergingTrendTagsContainsstringoptional
Emerging trend feature tag fragments (snake_case, LIKE), such as `cordless`, `portable`, `smart`.
featureUncommonFeatureTagsContainsstringoptional
Rare differentiation feature tag fragments (snake_case, LIKE), such as `hema_free`, `medical_grade_silicone`.
searchTopCategory1Labelstringoptional
Search traffic first type target tag fragment (snake_case, LIKE), such as `core_product_terms`, `set_kit_configurations`.
reviewPositiveTop1Topicstringoptional
Like #1 theme snippets (snake_case, LIKE), such as `comfort`, `quality_overall_generic`.
reviewPositiveTop1PctAtLeastGtenumberoptional
The lower limit of the proportion of positive #1 topics (the proportion of positive comments).
reviewPositiveTop1PctAtLeastLtenumberoptional
The upper limit of the proportion of positive #1 topics.
reviewNegativeTop1Topicstringoptional
Negative review #1 topic snippet (snake_case, LIKE), such as `size`, `quality`, `durability`.
reviewNegativeTop1PctAtLeastGtenumberoptional
The lower limit of negative review #1 topic proportion (proportion of negative reviews).
reviewNegativeTop1PctAtLeastLtenumberoptional
The upper limit for the proportion of negative review #1 topics.
reviewNegativeTop2Topicstringoptional
Negative review #2 topic snippet (snake_case, LIKE).
reviewStrategicInsightTagsContainsstringoptional
Comment policy suggests tag snippets (snake_case, LIKE), such as `sizing_clarity`, `material_transparency`.

Code example

{
  "featureNewAvgReviewCountAtLeastLte": 500,
  "limit": 25,
  "nicheBrandCountLte": 20,
  "nicheSearchVolumeYoyChangePctAtLeastGte": 100
}

Response example

Platform response envelope. code 0 indicates success or acceptance; data contains the business result.

{
  "code": 0,
  "cost": "-1",
  "data": {},
  "msg": null,
  "time": "2026-01-01 00:00:00",
  "traceId": null,
  "ts": "0"
}

Response fields

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

Any of option 1

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.amazonDomainanyoptional
Amazon domain value used by this API operation.
data.costTimeanyoptional
Cost time value used by this API operation.
data.costTokenanyoptional
Cost token value used by this API operation.
data.dataanyoptional
Data value used by this API operation.
data.dataSnapshotMonthanyoptional
Data snapshot month value used by this API operation.
data.demoGenderDominantanyoptional
Demo gender dominant value used by this API operation.
data.demoLifeStageTagsanyoptional
Demo life stage tags value used by this API operation.
data.demoPrimaryIncomeTieranyoptional
Demo primary income tier value used by this API operation.
data.featureTop5BrandSharePctAtLeastanyoptional
Feature top5 brand share pct at least value used by this API operation.
data.featureTopBrandsanyoptional
Feature top brands value used by this API operation.
data.keywordanyoptional
Keyword value used by this API operation.
data.nicheNameanyoptional
Niche name value used by this API operation.
data.nichePeakMonthanyoptional
Niche peak month value used by this API operation.
data.nichePeakSearchVolumeAtLeastanyoptional
Niche peak search volume at least value used by this API operation.
data.nicheSearchVolumeYoyChangePctAtLeastanyoptional
Niche search volume yoy change pct at least value used by this API operation.
data.nicheTop5ProductClickSharePctAtLeastanyoptional
Niche top5 product click share pct at least value used by this API operation.
data.pageanyoptional
Page value used by this API operation.
data.pageItemCountanyoptional
Page item count value used by this API operation.
data.pageSizeanyoptional
Page size value used by this API operation.
data.reviewStrategicInsightTagsanyoptional
Review strategic insight tags value used by this API operation.
data.searchTopCategory1Labelanyoptional
Search top category1 label value used by this API operation.
data.sourceToolanyoptional
Source tool value used by this API operation.
data.sourceTypeanyoptional
Source type value used by this API operation.
data.titleanyoptional
Title value used by this API operation.
data.totalPageanyoptional
Total page value used by this API operation.
data.typeanyoptional
Type value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.amazonDomainstringoptional
Site code, currently fixed to `US`.
Example: null

Any of option 2

NameTypeRequiredDescription
data.amazonDomainnulloptional
Amazon domain value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.costTimeintegeroptional
Execution time reported by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.costTimenulloptional
Cost time value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.costTokenintegeroptional
Token cost reported by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.costTokennulloptional
Cost token value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.dataarrayoptional
Keyword indicator record array, each corresponding to a (site, keyword) combination, about 37 fields, in reverse order of collection time.
Example: null

Any of option 2

NameTypeRequiredDescription
data.datanulloptional
Data value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.dataSnapshotMonthnulloptional
Data snapshot month value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.demoGenderDominantstringoptional
Gender Dominant (`female` / `male` / `mixed` / `unspecified`).
Example: null

Any of option 2

NameTypeRequiredDescription
data.demoGenderDominantnulloptional
Demo gender dominant value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.demoLifeStageTagsarrayoptional
List of life stage tags.
Example: null

Any of option 2

NameTypeRequiredDescription
data.demoLifeStageTagsnulloptional
Demo life stage tags value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.demoPrimaryIncomeTierstringoptional
Income bracket of the core population.
Example: null

Any of option 2

NameTypeRequiredDescription
data.demoPrimaryIncomeTiernulloptional
Demo primary income tier value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.featureTop5BrandSharePctAtLeastnumberoptional
Total share of top 5 brands (0-100).
Example: null

Any of option 2

NameTypeRequiredDescription
data.featureTop5BrandSharePctAtLeastnulloptional
Feature top5 brand share pct at least value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.featureTopBrandsarrayoptional
Top3 brand name list (original text).
Example: null

Any of option 2

NameTypeRequiredDescription
data.featureTopBrandsnulloptional
Feature top brands value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.keywordstringoptional
Original search keyword.
Example: null

Any of option 2

NameTypeRequiredDescription
data.keywordnulloptional
Keyword value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.nicheNamestringoptional
Track normalized name (snake_case).
Example: null

Any of option 2

NameTypeRequiredDescription
data.nicheNamenulloptional
Niche name value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.nichePeakMonthintegeroptional
Peak search months (1-12).
Example: null

Any of option 2

NameTypeRequiredDescription
data.nichePeakMonthnulloptional
Niche peak month value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.nichePeakSearchVolumeAtLeastintegeroptional
Peak monthly search volume.
Example: null

Any of option 2

NameTypeRequiredDescription
data.nichePeakSearchVolumeAtLeastnulloptional
Niche peak search volume at least value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.nicheSearchVolumeYoyChangePctAtLeastnumberoptional
Search volume year-over-year change rate (%, signed).
Example: null

Any of option 2

NameTypeRequiredDescription
data.nicheSearchVolumeYoyChangePctAtLeastnulloptional
Niche search volume yoy change pct at least value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.nicheTop5ProductClickSharePctAtLeastnumberoptional
Top5 product click share (0-100).
Example: null

Any of option 2

NameTypeRequiredDescription
data.nicheTop5ProductClickSharePctAtLeastnulloptional
Niche top5 product click share pct at least value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.pageintegeroptional
Current page returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.pagenulloptional
Page value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.pageItemCountnulloptional
Page item count value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.pageSizeintegeroptional
Page size returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.pageSizenulloptional
Page size value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.reviewStrategicInsightTagsarrayoptional
Comment policy suggestion tags.
Example: null

Any of option 2

NameTypeRequiredDescription
data.reviewStrategicInsightTagsnulloptional
Review strategic insight tags value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.searchTopCategory1Labelstringoptional
Normalized label of the first category of traffic.
Example: null

Any of option 2

NameTypeRequiredDescription
data.searchTopCategory1Labelnulloptional
Search top category1 label value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.sourceToolstringoptional
Provider-specific source tool name.
Example: null

Any of option 2

NameTypeRequiredDescription
data.sourceToolnulloptional
Source tool value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.sourceTypestringoptional
Provider-specific source platform type.
Example: null

Any of option 2

NameTypeRequiredDescription
data.sourceTypenulloptional
Source type value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.titlestringoptional
Provider-specific response title.
Example: null

Any of option 2

NameTypeRequiredDescription
data.titlenulloptional
Title value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.totalPageintegeroptional
Total page count returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.totalPagenulloptional
Total page value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.typestringoptional
Provider-specific render or payload type.
Example: null

Any of option 2

NameTypeRequiredDescription
data.typenulloptional
Type value used by this API operation.

Any of option 2

NameTypeRequiredDescription
datanullrequired
Data value used by this API operation.

Responses

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.

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.

Step 1 of 2 · Connect your MCP client

MCP

V2 recommended

Connect remote agents through the standard MCP 2025-11-25 Streamable HTTP endpoint. Use OAuth 2.1 Authorization Code with PKCE, or an API key for compatibility.

POST https://api.nexscope.ai/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
Authentication

OAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.

Step 2 of 2 · Call the tool

Call a tool

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

Legacy MCP v1

Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.

GET / POST /mcp/legacy

Online test

Execute the current API with your API key and JSON payload. Online tests use this site's configured API environment; the Endpoint and copyable examples use the public integration address.

10 credits / callAPI usage records

Try it

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

Endpoint
/amazon/opportunity/searchByMetrics
MCP method
nexscope_amazon_opportunity_search_by_metrics
cURL
curl -X POST \
  https://api.nexscope.ai/amazon/opportunity/searchByMetrics \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "featureNewAvgReviewCountAtLeastLte": 500, "limit": 25, "nicheBrandCountLte": 20, "nicheSearchVolumeYoyChangePctAtLeastGte": 100 }'
Response
No response yet. Run the request to see the response here.

Related APIs