Amazon Public Marketplace Data
Amazon Search
Find Amazon products by keyword and marketplace. Results come back as structured JSON. Call the Amazon Search API via REST or MCP from 21 credits per call.
MCP tool name
nexscope_amazon_searchMCP 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": "amazon-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_amazon_search",
"arguments": {
"keyword": "phone case",
"page": 1
}
}
}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 |
|---|---|---|---|
keyword | string | optional | Keyword; please translate to the language of the target country whenever possible, e.g., use English keywords for the US, German keywords for Germany, etc. (max length 1024) Example: phone case |
amazonDomain | string | optional | Amazon country site, default amazon.com Example: {} |
node | string | optional | Amazon category node (max length 1000) Example: {} |
language | string | optional | Language/region code, e.g., en_US, de_DE, ja_JP, fr_FR (max length 1000) Example: {} |
sort | string | optional | Sort order: relevanceblender (Featured, default), price-asc-rank (Price low to high), price-desc-rank (Price high to low), review-rank (Avg. customer review), date-desc-rank (Newest arrivals), exact-aware-popularity-rank (Best sellers) Example: {} |
page | integer | optional | Page number (starting from 1, ~20 items per page), default 1 Example: 1 |
deliveryZip | string | optional | Delivery zip code, used to simulate Amazon frontend address. It is recommended to use commonly used zip codes for major cities in the target country, e.g., New York zip code 10001 for the US site (max length 1000) Example: {} |
device | string | optional | Device type: desktop, mobile, tablet, default desktop (max length 1000) Example: {} |
includeSellerSpriteData | boolean | optional | Enable additional product-data enrichment, including availableDate when available. Default: false. Enabling enrichment incurs additional dynamic charges and does not guarantee a date for every ASIN. Example: false |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
total | integer | optional | Total number of rows. Example: {} |
keyword | string | optional | Search keywords. Example: {} |
type | string | optional | Rendering style. Example: {} |
sellerSpriteEnriched | boolean | optional | Whether additional product-data enrichment was enabled for this request. May be absent. Not a plan or account entitlement indicator and not a guarantee that every product was enriched. Example: false |
columns | array | optional | Rendered column definitions. Example: {} |
costToken | integer | optional | Consume Token. Example: {} |
products | array | optional | List of search results. Example: {} |
asin | string | optional | ASIN。 Example: {} |
title | string | optional | title. Example: {} |
brand | string | optional | brand. Example: {} |
price | number | optional | price. Example: {} |
extractedPrice | number | optional | The parsed price. Example: {} |
oldPrice | number | optional | Underline price. Example: {} |
extractedOldPrice | number | optional | The parsed underlined price. Example: {} |
currency | string | optional | Currency. Example: {} |
priceUnit | string | optional | price unit. Example: {} |
extractedPriceUnit | number | optional | The parsed price unit. Example: {} |
rating | number | optional | Rating. Example: {} |
ratings | integer | optional | Rating number. Example: {} |
position | integer | optional | location. Example: {} |
sponsored | boolean | optional | Sponsor or not. Example: {} |
imageUrl | string | optional | Thumbnail. Example: {} |
asinUrl | string | optional | Product link. Example: {} |
delivery | string | optional | Shipping information. Example: {} |
fulfillment | string | optional | Shipping information, such as FBA. Example: {} |
availableDate | string (date) | optional | Data-source listing date, populated through includeSellerSpriteData=true when available; may still be absent. Not a verified brand launch date; timezone is unspecified. For direct ASIN lookups, use amazon-product-history or amazon-market-product-detail. Example: {} |
monthlySalesUnits | integer | optional | Monthly sales volume. Example: {} |
monthlySalesRevenue | string | optional | Monthly sales. Example: {} |
sellerNation | string | optional | Seller’s nationality. Example: {} |
dimension | string | optional | size. Example: {} |
weight | string | optional | weight. Example: {} |
options | string | optional | options. Example: {} |
offers | string | optional | Offer information. Example: {} |
badges | string | optional | Amazon front search logo. Example: {} |
tags | string | optional | label. Example: {} |
snapEbtEligible | boolean | optional | SNAP/EBT eligibility. Example: {} |
sourceType | string | optional | Source type: `amazon`. Example: {} |
keyword | string | optional | Keywords. Example: {} |
Examples
Example arguments
{
"keyword": "phone case",
"page": 1
}Example structuredContent
{}