Amazon Public Marketplace Data
Amazon Search By Image
Find visually similar Amazon products from an image URL across eight marketplaces, with optional sales-data enrichment. Call it via REST API or MCP.
MCP tool name
nexscope_amazon_search_by_imageMCP 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-by-image-1",
"method": "tools/call",
"params": {
"name": "nexscope_amazon_search_by_image",
"arguments": {
"aggregateByKeepaData": false,
"amazonDomain": "amazon.com",
"imageUrl": "https://m.media-amazon.com/images/I/31SkgVLWSuL._SL75_.jpg"
}
}
}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 |
|---|---|---|---|
imageUrl | string | required | Valid, publicly accessible image URL (maximum 1,000 characters) Example: https://m.media-amazon.com/images/I/31SkgVLWSuL._SL75_.jpg |
amazonDomain | string | required | Amazon marketplace. Supported domains: United States (amazon.com), United Kingdom (amazon.co.uk), Germany (amazon.de), France (amazon.fr), Italy (amazon.it), Spain (amazon.es), Japan (amazon.co.jp), and India (amazon.in). Default: amazon.com Example: amazon.com |
sort | string | optional | Sort by price, rating, or rating count. Values: default, price-asc-rank, price-desc-rank, rating-asc-rank, rating-desc-rank, ratings-asc-rank, and ratings-desc-rank Example: {} |
deliveryZip | string | optional | Delivery postal code or city within the selected marketplace. If omitted, the marketplace default is used. Maximum 1,000 characters. Defaults: United States=10001, United Kingdom=EC1A 1BB, Germany=10115, France=75001, Italy=00100, Spain=28001, Japan=100-0001, and India=110034 Example: {} |
countryOrAreaCode | string | optional | Destination country or region code for cross-border delivery, such as CN, JP, KR, TW, HK, MO, SG, TH, VN, PH, or MY. Do not provide this together with deliveryZip. Amazon India does not support cross-border destination settings. Maximum 1,000 characters Example: {} |
aggregateByKeepaData | boolean | optional | Whether to enrich results with Nexscope data such as sales rank, monthly sales, FBA fees, and dimensions Example: false |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
total | integer | optional | Total number of rows. Example: {} |
totalCount | integer | optional | Total quantity. Example: {} |
perPage | integer | optional | Quantity per page. Example: {} |
currentPage | integer | optional | Current page number. Example: {} |
type | string | optional | Rendering style. Example: {} |
sourceType | string | optional | Source type. Example: {} |
columns | array | optional | Rendered columns. Example: {} |
costToken | integer | optional | Consume Token. Example: {} |
products | array | optional | Product list. Example: {} |
asin | string | optional | ASIN。 Example: {} |
title | string | optional | Product title. Example: {} |
imageUrl | string | optional | Image URL, that is, the request address. Example: {} |
asinUrl | string | optional | Amazon ASIN details URL. Example: {} |
price | number | optional | The current price, in the corresponding currency. Example: {} |
oldPrice | number | optional | Underline price. Example: {} |
currency | string | optional | Currency. Example: {} |
rating | number | optional | Current rating, range 0.0–5.0. Example: {} |
ratings | integer | optional | Number of ratings. Example: {} |
brand | string | optional | brand. Example: {} |
sourceType | string | optional | Source type. Example: {} |
salesRank | integer | optional | Sales Ranking (KP). Example: {} |
salesRank30 | integer | optional | Average sales ranking (KP) over the past 30 days. Example: {} |
salesRank90 | integer | optional | Average sales ranking (KP) over the past 90 days. Example: {} |
salesRank180 | integer | optional | Average sales ranking (KP) over the past 180 days. Example: {} |
monthlySalesUnits | integer | optional | Monthly sales volume (KP). Example: {} |
monthlySalesRevenue | number | optional | Monthly sales. Example: {} |
reviewCount | integer | optional | Number of comments (KP). Example: {} |
fbaFees | number | optional | FBA delivery fee, the unit is the corresponding currency. Example: {} |
profit | number | optional | Profit percentage percentage, for example 25.5 means 25.5%. Example: {} |
referralFeePercentage | number | optional | Referral fee percentage. Example: {} |
fulfillment | string | optional | Delivery method: `AMZ`, `FBA`, `FBM`. Example: {} |
primePrice | number | optional | Prime Price. Example: {} |
buyBoxSellerId | string | optional | Buy button seller ID. Example: {} |
sellerNum | integer | optional | Number of sellers. Example: {} |
variationNum | integer | optional | Number of variants. Example: {} |
parentAsin | string | optional | Parent ASIN. Example: {} |
availableDate | string | optional | Shelf time, in the format of `yyyy-MM-dd HH:mm:ss`. Example: {} |
lastUpdate | string | optional | Last updated time, in the format of `yyyy-MM-dd HH:mm:ss`. Example: {} |
manufacturer | string | optional | manufacturer. Example: {} |
model | string | optional | model. Example: {} |
color | string | optional | color. Example: {} |
material | string | optional | Product material. Example: {} |
weight | string | optional | Weight in grams. Example: {} |
dimension | string | optional | size. Example: {} |
itemLength | integer | optional | Product length in millimeters; 0 or -1 if not available. Example: {} |
itemWidth | integer | optional | Product width in millimeters; 0 or -1 if not available. Example: {} |
itemHeight | integer | optional | Product height in millimeters; 0 or -1 if not available. Example: {} |
packageLength | integer | optional | Package length in millimeters. Example: {} |
packageWidth | integer | optional | Package width in millimeters. Example: {} |
packageHeight | integer | optional | Package height in millimeters. Example: {} |
packageWeight | string | optional | Packaging weight in grams. Example: {} |
packageDimensions | string | optional | Packaging size. Example: {} |
packageQuantity | integer | optional | Number of items in the package; 0 or -1 if not available. Example: {} |
dimensionsType | string | optional | Size type. Example: {} |
categoryTree | string | optional | Category tree. Example: {} |
categoryTreeId | string | optional | Category tree ID. Example: {} |
rootCategory | integer | optional | Root category ID. Example: {} |
isAdultProduct | boolean | optional | Whether it is an adult product. Example: {} |
isHazmat | boolean | optional | Whether it is dangerous goods. Example: {} |
urlSlug | string | optional | URL Slug。 Example: {} |
productImageUrls | array | optional | List of product images. Example: {} |
Examples
Example arguments
{
"aggregateByKeepaData": false,
"amazonDomain": "amazon.com",
"imageUrl": "https://m.media-amazon.com/images/I/31SkgVLWSuL._SL75_.jpg"
}Example structuredContent
{}