https://api.nexscope.ai/api/skill-api/v1/skills/amazon-opportunity-search-by-metrics/runRun this API
Send a JSON request to execute this API and receive the documented response payload.
Endpoint
| Method | POST |
| Path | https://api.nexscope.ai/api/skill-api/v1/skills/amazon-opportunity-search-by-metrics/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
amazonDomain | string | optional | Amazon site code (closed enum), currently only supports US. Defaults to US only if not specified Example: US |
limit | integer | optional | 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: 25 |
keyword | string | optional | Search keyword text fragment (LIKE fuzzy match) Example: phone case |
nicheName | string | optional | Normalized niche name fragment (LIKE, snake_case lowercase), suitable for niche time-series comparison |
nicheRevenue360dMinUsdAtLeastGte | number | optional | Minimum 360-day market revenue lower bound (USD) Example: 1 |
nicheRevenue360dMinUsdAtLeastLte | number | optional | Maximum 360-day market revenue lower bound (USD) Example: 1 |
nicheRevenue360dMaxUsdAtLeastGte | number | optional | Minimum 360-day market revenue upper bound (USD) Example: 1 |
nicheRevenue360dMaxUsdAtLeastLte | number | optional | Maximum 360-day market revenue upper bound (USD) Example: 1 |
nichePeakSearchVolumeAtLeastGte | integer | optional | Peak monthly search volume minimum (non-negative integer) Example: 1 |
nichePeakSearchVolumeAtLeastLte | integer | optional | Peak monthly search volume maximum (non-negative integer) Example: 1 |
nicheSearchVolumeYoyChangePctAtLeastGte | number | optional | Search volume YoY change rate minimum (%, signed) Example: 1 |
nicheSearchVolumeYoyChangePctAtLeastLte | number | optional | Search volume YoY change rate maximum (%, signed) Example: 1 |
nichePeakMonthGte | integer | optional | Search peak month minimum (1-12) Example: 1 |
nichePeakMonthLte | integer | optional | Search peak month maximum (1-12) Example: 1 |
nicheBrandCountGte | integer | optional | Active brand count minimum Example: 1 |
nicheBrandCountLte | integer | optional | Active brand count maximum Example: 1 |
nicheBrandCountYoyChangePctAtLeastGte | number | optional | Brand count YoY change rate minimum (%, signed) Example: 1 |
nicheBrandCountYoyChangePctAtLeastLte | number | optional | Brand count YoY change rate maximum (%, signed) Example: 1 |
nicheTop5ProductClickSharePctAtLeastGte | number | optional | Top 5 product click share minimum (0-100) Example: 1 |
nicheTop5ProductClickSharePctAtLeastLte | number | optional | Top 5 product click share maximum (0-100) Example: 1 |
featureTop5BrandSharePctAtLeastGte | number | optional | Top 5 brand combined share minimum (0-100) Example: 1 |
featureTop5BrandSharePctAtLeastLte | number | optional | Top 5 brand combined share maximum (0-100) Example: 1 |
featureTopBrandsContains | string | optional | Top 3 brand name fragment (original text LIKE, case-sensitive) |
priceMinUsdGte | number | optional | Niche minimum product price lower bound (USD) Example: 1 |
priceMinUsdLte | number | optional | Niche minimum product price upper bound (USD) Example: 1 |
priceMaxUsdGte | number | optional | Niche maximum product price lower bound (USD) Example: 1 |
priceMaxUsdLte | number | optional | Niche maximum product price upper bound (USD) Example: 1 |
priceSweetSpotMinUsdGte | number | optional | Sweet spot lower bound minimum (USD) Example: 1 |
priceSweetSpotMinUsdLte | number | optional | Sweet spot lower bound maximum (USD) Example: 1 |
priceSweetSpotMaxUsdGte | number | optional | Sweet spot upper bound minimum (USD) Example: 1 |
priceSweetSpotMaxUsdLte | number | optional | Sweet spot upper bound maximum (USD) Example: 1 |
priceEntryClickSharePctAtLeastGte | number | optional | Entry tier click share minimum (0-100) Example: 1 |
priceEntryClickSharePctAtLeastLte | number | optional | Entry tier click share maximum (0-100) Example: 1 |
priceMidClickSharePctAtLeastGte | number | optional | Mid tier click share minimum (0-100) Example: 1 |
priceMidClickSharePctAtLeastLte | number | optional | Mid tier click share maximum (0-100) Example: 1 |
priceHighClickSharePctAtLeastGte | number | optional | High tier click share minimum (0-100) Example: 1 |
priceHighClickSharePctAtLeastLte | number | optional | High tier click share maximum (0-100) Example: 1 |
demoPrimaryAgeMinGte | integer | optional | Primary audience age lower bound minimum (0-120 years) Example: 1 |
demoPrimaryAgeMinLte | integer | optional | Primary audience age lower bound maximum (0-120 years) Example: 1 |
demoPrimaryAgeMaxGte | integer | optional | Primary audience age upper bound minimum (0-120 years) Example: 1 |
demoPrimaryAgeMaxLte | integer | optional | Primary audience age upper bound maximum (0-120 years) Example: 1 |
demoGenderDominant | string | optional | Dominant gender (closed enum): female / male / mixed / unspecified |
demoPrimaryIncomeTier | string | optional | Income tier (closed enum): low / middle_low / middle / middle_upper / upper_middle / high |
demoLifeStageTagsContains | string | optional | Life stage tag fragment (snake_case, LIKE): parent, student, retiree, athlete, etc. |
featureNewAvgReviewCountAtLeastGte | integer | optional | New product average review count minimum (non-negative integer) Example: 1 |
featureNewAvgReviewCountAtLeastLte | integer | optional | New product average review count maximum (non-negative integer) Example: 1 |
featureEstablishedAvgReviewCountAtLeastGte | integer | optional | Established product average review count minimum (non-negative integer) Example: 1 |
featureEstablishedAvgReviewCountAtLeastLte | integer | optional | Established product average review count maximum (non-negative integer) Example: 1 |
featureEmergingTrendTagsContains | string | optional | Emerging trend feature tag fragment (snake_case, LIKE): cordless, portable, smart, etc. |
featureUncommonFeatureTagsContains | string | optional | Rare differentiation feature tag fragment (snake_case, LIKE): hema_free, medical_grade_silicone, etc. |
searchTopCategory1Label | string | optional | Search traffic top category 1 label fragment (snake_case, LIKE): core_product_terms, set_kit_configurations, etc. |
reviewPositiveTop1Topic | string | optional | Positive review #1 topic fragment (snake_case, LIKE): comfort, quality_overall_generic, etc. |
reviewPositiveTop1PctAtLeastGte | number | optional | Positive review #1 topic share minimum (0-100, share among positive reviews) Example: 1 |
reviewPositiveTop1PctAtLeastLte | number | optional | Positive review #1 topic share maximum (0-100) Example: 1 |
reviewNegativeTop1Topic | string | optional | Negative review #1 topic fragment (snake_case, LIKE): size, quality, durability, etc. |
reviewNegativeTop1PctAtLeastGte | number | optional | Negative review #1 topic share minimum (0-100, share among negative reviews) Example: 1 |
reviewNegativeTop1PctAtLeastLte | number | optional | Negative review #1 topic share maximum (0-100) Example: 1 |
reviewNegativeTop2Topic | string | optional | Negative review #2 topic fragment (snake_case, LIKE) |
reviewStrategicInsightTagsContains | string | optional | Review strategic insight tag fragment (snake_case, LIKE): sizing_clarity, material_transparency, etc. |
Code example
{
"amazonDomain": "US",
"keyword": "phone case",
"limit": 10
}Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"code": 0,
"cost": "-1",
"data": {
"data": [
{
"demoLifeStageTags": [],
"demoPrimaryAgeMax": 1,
"demoPrimaryAgeMin": 1,
"featureEmergingTrendTags": [],
"featureEstablishedAvgReviewCountAtLeast": 1,
"featureNewAvgReviewCountAtLeast": 1,
"featureTop5BrandSharePctAtLeast": 1,
"featureTopBrands": [],
"featureUncommonFeatureTags": [],
"keyword": "phone case",
"nicheBrandCount": 1,
"nicheBrandCountYoyChangePctAtLeast": 1,
"nichePeakMonth": 1,
"nichePeakSearchVolumeAtLeast": 1,
"nicheRevenue360dMaxUsdAtLeast": 1,
"nicheRevenue360dMinUsdAtLeast": 1,
"nicheSearchVolumeYoyChangePctAtLeast": 1,
"nicheTop5ProductClickSharePctAtLeast": 1,
"priceEntryClickSharePctAtLeast": 1,
"priceHighClickSharePctAtLeast": 1,
"priceMaxUsd": 1,
"priceMidClickSharePctAtLeast": 1,
"priceMinUsd": 1,
"priceSweetSpotMaxUsd": 1,
"priceSweetSpotMinUsd": 1,
"reviewNegativeTop1PctAtLeast": 1,
"reviewPositiveTop1PctAtLeast": 1,
"reviewStrategicInsightTags": []
}
]
},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}Response fields
| Name | Type | Required | Description |
|---|---|---|---|
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
data | any | required | Data value used by this API operation. |
msg | string | null | required | Msg value used by this API operation. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
traceId | string | null | required | Trace id value used by this API operation. |
ts | string | required | Epoch milliseconds. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.costTime | integer | optional | Execution time reported by the upstream provider. Example: null |
data.costToken | integer | optional | Token cost reported by the upstream provider. Example: null |
data.data | array | optional | Array of keyword metric records, each corresponding to a (site, keyword) combination, approximately 37 fields, sorted by collection time descending Example: [] |
data.data[] | object | required | Item in data data. |
data.data[].amazonDomain | string | optional | Site code (currently fixed US) Example: null |
data.data[].demoGenderDominant | string | optional | Dominant gender (female / male / mixed / unspecified) Example: null |
data.data[].demoLifeStageTags | array | optional | Life stage tag list Example: [] |
data.data[].demoPrimaryAgeMax | integer | optional | Core audience age lower bound / upper bound Example: 1 |
data.data[].demoPrimaryAgeMin | integer | optional | Core audience age lower bound / upper bound Example: 1 |
data.data[].demoPrimaryIncomeTier | string | optional | Core audience income tier Example: null |
data.data[].featureEmergingTrendTags | array | optional | Emerging trend / Rare differentiation feature tags Example: [] |
data.data[].featureEstablishedAvgReviewCountAtLeast | integer | optional | New / Established product average review count Example: 1 |
data.data[].featureNewAvgReviewCountAtLeast | integer | optional | New / Established product average review count Example: 1 |
data.data[].featureTop5BrandSharePctAtLeast | number | optional | Top 5 brand combined share (0-100) Example: 1 |
data.data[].featureTopBrands | array | optional | Top 3 brand name list (original text) Example: [] |
data.data[].featureUncommonFeatureTags | array | optional | Emerging trend / Rare differentiation feature tags Example: [] |
data.data[].keyword | string | optional | Original search keyword Example: phone case |
data.data[].nicheBrandCount | integer | optional | Active brand count and its YoY change rate Example: 1 |
data.data[].nicheBrandCountYoyChangePctAtLeast | number | optional | Active brand count YoY change rate Example: 1 |
data.data[].nicheName | string | optional | Normalized niche name (snake_case) Example: null |
data.data[].nichePeakMonth | integer | optional | Search peak month (1-12) Example: 1 |
data.data[].nichePeakSearchVolumeAtLeast | integer | optional | Peak monthly search volume Example: 1 |
data.data[].nicheRevenue360dMaxUsdAtLeast | number | optional | Last 360 days market revenue lower bound / upper bound (USD) Example: 1 |
data.data[].nicheRevenue360dMinUsdAtLeast | number | optional | Last 360 days market revenue lower bound / upper bound (USD) Example: 1 |
data.data[].nicheSearchVolumeYoyChangePctAtLeast | number | optional | Search volume YoY change rate (%, signed) Example: 1 |
data.data[].nicheTop5ProductClickSharePctAtLeast | number | optional | Top 5 product click share (0-100) Example: 1 |
data.data[].priceEntryClickSharePctAtLeast | number | optional | Entry / Mid / High tier click share (0-100) Example: 1 |
data.data[].priceHighClickSharePctAtLeast | number | optional | Entry / Mid / High tier click share (0-100) Example: 1 |
data.data[].priceMaxUsd | number | optional | Niche overall minimum / maximum product price Example: 1 |
data.data[].priceMidClickSharePctAtLeast | number | optional | Entry / Mid / High tier click share (0-100) Example: 1 |
data.data[].priceMinUsd | number | optional | Niche overall minimum / maximum product price Example: 1 |
data.data[].priceSweetSpotMaxUsd | number | optional | Value sweet spot price range lower bound / upper bound Example: 1 |
data.data[].priceSweetSpotMinUsd | number | optional | Value sweet spot price range lower bound / upper bound Example: 1 |
data.data[].reviewNegativeTop1PctAtLeast | number | optional | Negative review #1 topic, share, and secondary cause Example: 1 |
data.data[].reviewNegativeTop1Topic | string | optional | Negative review #1 topic Example: null |
data.data[].reviewNegativeTop2Topic | string | optional | Negative review #2 topic Example: null |
data.data[].reviewPositiveTop1PctAtLeast | number | optional | Positive review #1 topic and its share among positive reviews Example: 1 |
data.data[].reviewPositiveTop1Topic | string | optional | Positive review #1 topic Example: null |
data.data[].reviewStrategicInsightTags | array | optional | Review strategic insight tags Example: [] |
data.data[].searchTopCategory1Label | string | optional | Traffic top category 1 normalized label Example: null |
data.dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: null |
data.page | integer | optional | Current page returned by the upstream provider. Example: null |
data.pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: null |
data.pageSize | integer | optional | Page size returned by the upstream provider. Example: null |
data.sourceTool | string | optional | Provider-specific source tool name. Example: null |
data.sourceType | string | optional | Provider-specific source platform type. Example: null |
data.title | string | optional | Provider-specific response title. Example: null |
data.totalPage | integer | optional | Total page count returned by the upstream provider. Example: null |
data.type | string | optional | Provider-specific render or payload type. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |
Responses
| Code | Description |
|---|---|
| 200 | HTTP request completed. Check JSON code; only 0 indicates business success or acceptance. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API 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.