Nexscope

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.

CostRecent 32 credits / call
Try online
POST · https://api.nexscope.ai/amazon/searchByImageMCP · nexscope_amazon_search_by_image

What this API does

Find visually similar Amazon products from an image URL across eight marketplaces, with optional sales-data enrichment. The request accepts imageUrl, amazonDomain, sort, deliveryZip, countryOrAreaCode. Its documented result includes totalCount, perPage, currentPage, sourceType, products, asin, title, imageUrl.

Amazon Search By Image API use cases

Find products matching a sourcing brief

To find products matching a sourcing brief, a marketplace analyst submits imageUrl and amazonDomain to Amazon Search By Image. The returned totalCount, perPage, currentPage help identify products matching the requested search criteria.

Compare a product search shortlist

A marketplace analyst uses Amazon Search By Image with imageUrl and amazonDomain to compare a product search shortlist. The returned totalCount, perPage, currentPage help compare candidates before requesting individual product details.

Collect candidates for a market review

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

Amazon Search By Image API FAQ

What does the Amazon Search By Image API return?

Find visually similar Amazon products from an image URL across eight marketplaces, with optional sales-data enrichment. The documented output includes totalCount, perPage, currentPage, sourceType, products, asin, title, imageUrl. It corresponds to the supplied imageUrl, amazonDomain, sort, deliveryZip, countryOrAreaCode. 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 Search By Image API cost?

The current documented cost is Recent 32 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 Search By Image API from my app or an MCP client?

Send a POST request to https://api.nexscope.ai/amazon/searchByImage 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_search_by_image. 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/searchByImage
MCP method
nexscope_amazon_search_by_image

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/searchByImage

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/searchByImage' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amazonDomain": "amazon.com",
  "imageUrl": "https://m.media-amazon.com/images/I/61pAlIX8SZL._AC_SY575_.jpg",
  "sort": "default"
}'

Code example

{
  "amazonDomain": "amazon.com",
  "imageUrl": "https://m.media-amazon.com/images/I/61pAlIX8SZL._AC_SY575_.jpg",
  "sort": "default"
}

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 Public Marketplace Data
POSThttps://api.nexscope.ai/amazon/searchByImage

Run this API

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

Endpoint

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

Request parameters

NameTypeRequiredDescription
imageUrlstringrequired
Valid image URL, maximum length 1000.
amazonDomainstringrequired
Site: `amazon.com`, `amazon.co.uk`, `amazon.de`, `amazon.fr`, `amazon.it`, `amazon.es`, `amazon.co.jp`, `amazon.in`.
sortstringoptional
`default`, `price-asc-rank`, `price-desc-rank`, `rating-asc-rank`, `rating-desc-rank`, `ratings-asc-rank` or `ratings-desc-rank`.
Example: default
deliveryZipstringoptional
The postal code or city of the delivery address on the site, the maximum length is 1000. The default postal codes of each site: `10001` in the United States, `EC1A 1BB` in the United Kingdom, `10115` in Germany, `75001` in France, `00100` in Italy, `28001` in Spain, `100-0001` in Japan, and `110034` in India.
countryOrAreaCodestringoptional
Off-site shipping country code, e.g. `CN`, `JP`, `KR`, `TW`, `HK`, `MO`, `SG`, `TH`, `VN`, `PH`, `MY`; cannot be specified at the same time as the postal code in the site, and the Indian site does not support it. Maximum length 1000.
aggregateByKeepaDatabooleanoptional
Whether to aggregate KP data, including sales ranking, monthly sales, FBA fees and sizes, etc.

Response example

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

No response example is published for this API. Refer to the response fields below.

Response fields

Response field reference (61 fields)

NameTypeRequiredDescription
totalintegeroptional
Total number of rows.
totalCountintegeroptional
Total quantity.
perPageintegeroptional
Quantity per page.
currentPageintegeroptional
Current page number.
typestringoptional
Rendering style.
sourceTypestringoptional
Source type.
columnsarrayoptional
Rendered columns.
costTokenintegeroptional
Consume Token.
productsarrayoptional
Product list.
asinstringoptional
ASIN。
titlestringoptional
Product title
imageUrlstringoptional
Image URL, that is, the request address.
asinUrlstringoptional
Amazon ASIN details URL.
pricenumberoptional
The current price, in the corresponding currency.
oldPricenumberoptional
Underline price.
currencystringoptional
Currency.
ratingnumberoptional
Current rating, range 0.0–5.0.
ratingsintegeroptional
Number of ratings.
brandstringoptional
brand.
sourceTypestringoptional
Source type.
salesRankintegeroptional
Sales Ranking (KP).
salesRank30integeroptional
Average sales ranking (KP) over the past 30 days.
salesRank90integeroptional
Average sales ranking (KP) over the past 90 days.
salesRank180integeroptional
Average sales ranking (KP) over the past 180 days.
monthlySalesUnitsintegeroptional
Monthly sales volume (KP).
monthlySalesRevenuenumberoptional
Monthly sales.
reviewCountintegeroptional
Number of comments (KP).
fbaFeesnumberoptional
FBA delivery fee, the unit is the corresponding currency.
profitnumberoptional
Profit percentage percentage, for example 25.5 means 25.5%.
referralFeePercentagenumberoptional
Referral fee percentage.
fulfillmentstringoptional
Delivery method: `AMZ`, `FBA`, `FBM`.
primePricenumberoptional
Prime Price.
buyBoxSellerIdstringoptional
Buy button seller ID.
sellerNumintegeroptional
Number of sellers.
variationNumintegeroptional
Number of variants.
parentAsinstringoptional
Parent ASIN.
availableDatestringoptional
Shelf time, in the format of `yyyy-MM-dd HH:mm:ss`.
lastUpdatestringoptional
Last updated time, in the format of `yyyy-MM-dd HH:mm:ss`.
manufacturerstringoptional
manufacturer.
modelstringoptional
model.
colorstringoptional
color.
materialstringoptional
Product material.
weightstringoptional
Weight in grams.
dimensionstringoptional
size.
itemLengthintegeroptional
Product length in millimeters; 0 or -1 if not available.
itemWidthintegeroptional
Product width in millimeters; 0 or -1 if not available.
itemHeightintegeroptional
Product height in millimeters; 0 or -1 if not available.
packageLengthintegeroptional
Package length in millimeters.
packageWidthintegeroptional
Package width in millimeters.
packageHeightintegeroptional
Package height in millimeters.
packageWeightstringoptional
Packaging weight in grams.
packageDimensionsstringoptional
Packaging size.
packageQuantityintegeroptional
Number of items in the package; 0 or -1 if not available.
dimensionsTypestringoptional
Size type.
categoryTreestringoptional
Category tree.
categoryTreeIdstringoptional
Category tree ID.
rootCategoryintegeroptional
Root category ID.
isAdultProductbooleanoptional
Whether it is an adult product.
isHazmatbooleanoptional
Whether it is dangerous goods.
urlSlugstringoptional
URL Slug。
productImageUrlsarrayoptional
List of product images.

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_search_by_image",
    "arguments": {
      "aggregateByKeepaData": false,
      "amazonDomain": "amazon.com",
      "imageUrl": "https://m.media-amazon.com/images/I/31SkgVLWSuL._SL75_.jpg"
    }
  }
}

Legacy MCP v1

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

GET / POST /mcp/legacy

Data Example

Request parameters

{
  "imageUrl": "https://store.nexscope.ai/skill-assets/121734630339559290/93dfa414-685d-423b-9378-f502760d7427/furniture.jpg",
  "amazonDomain": "amazon.com",
  "countryOrAreaCode": "SG",
  "aggregateByKeepaData": false
}

Response

{
  "code": 0,
  "msg": null,
  "data": {
    "total": 0,
    "sourceType": "amazon",
    "columns": [
      {
        "filterable": true,
        "cellType": "text",
        "field": "asin",
        "sortable": true,
        "title": "ASIN"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "parentAsin",
        "sortable": true,
        "title": "父ASIN(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "title",
        "sortable": true,
        "title": "商品标题"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "imageUrl",
        "sortable": true,
        "title": "图片URL(完整URL)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "productImageUrls",
        "sortable": true,
        "title": "商品图片列表(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "urlSlug",
        "sortable": true,
        "title": "URL Slug(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "asinUrl",
        "sortable": true,
        "title": "亚马逊asin的详情网址"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits",
        "sortable": true,
        "title": "月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesRevenue",
        "sortable": true,
        "title": "月销售额(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits1MonthAgo",
        "sortable": true,
        "title": "1月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits2MonthsAgo",
        "sortable": true,
        "title": "2月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits3MonthsAgo",
        "sortable": true,
        "title": "3月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits4MonthsAgo",
        "sortable": true,
        "title": "4月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits5MonthsAgo",
        "sortable": true,
        "title": "5月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits6MonthsAgo",
        "sortable": true,
        "title": "6月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits7MonthsAgo",
        "sortable": true,
        "title": "7月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits8MonthsAgo",
        "sortable": true,
        "title": "8月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits9MonthsAgo",
        "sortable": true,
        "title": "9月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits10MonthsAgo",
        "sortable": true,
        "title": "10月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits11MonthsAgo",
        "sortable": true,
        "title": "11月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "monthlySalesUnits12MonthsAgo",
        "sortable": true,
        "title": "12月前月销量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "salesRank",
        "sortable": true,
        "title": "销售排名(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "salesRank30",
        "sortable": true,
        "title": "近30天平均销售排名(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "salesRank90",
        "sortable": true,
        "title": "近90天平均销售排名(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "salesRank180",
        "sortable": true,
        "title": "近180天平均销售排名(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "rating",
        "sortable": true,
        "title": "当前评分"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "ratings",
        "sortable": true,
        "title": "评分数量"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "reviewCount",
        "sortable": true,
        "title": "评论数量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "availableDate",
        "sortable": true,
        "title": "上架时间(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "lastUpdate",
        "sortable": true,
        "title": "最后更新时间(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "price",
        "sortable": true,
        "title": "当前价格"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "oldPrice",
        "sortable": true,
        "title": "划线价格"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "primePrice",
        "sortable": true,
        "title": "prime价格(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "currency",
        "sortable": true,
        "title": "币种"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "fbaFees",
        "sortable": true,
        "title": "FBA配送费(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "profit",
        "sortable": true,
        "title": "利润率(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "fulfillment",
        "sortable": true,
        "title": "配送方式(AMZ,FBA,FBM)(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "referralFeePercentage",
        "sortable": true,
        "title": "推荐费百分比(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "brand",
        "sortable": true,
        "title": "品牌"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "manufacturer",
        "sortable": true,
        "title": "制造商(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "buyBoxSellerId",
        "sortable": true,
        "title": "购买按钮卖家ID(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "isHazmat",
        "sortable": true,
        "title": "是否为危险品(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "isAdultProduct",
        "sortable": true,
        "title": "是否为成人产品(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "variationNum",
        "sortable": true,
        "title": "变体数量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "sellerNum",
        "sortable": true,
        "title": "卖家数(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "rootCategory",
        "sortable": true,
        "title": "根类目ID(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "categoryTree",
        "sortable": true,
        "title": "类目树(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "categoryTreeId",
        "sortable": true,
        "title": "类目树Id(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "packageHeight",
        "sortable": true,
        "title": "包装高度(毫米)(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "packageLength",
        "sortable": true,
        "title": "包装长度(毫米)(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "packageWidth",
        "sortable": true,
        "title": "包装宽度(毫米)(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "packageDimensions",
        "sortable": true,
        "title": "包装尺寸(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "packageQuantity",
        "sortable": true,
        "title": "包装中商品的数量(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "packageWeight",
        "sortable": true,
        "title": "包装重量(克)(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "weight",
        "sortable": true,
        "title": "重量(克)(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "model",
        "sortable": true,
        "title": "型号(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "color",
        "sortable": true,
        "title": "颜色(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "material",
        "sortable": true,
        "title": "产品的材质(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "dimensionsType",
        "sortable": true,
        "title": "尺寸类型(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "dimension",
        "sortable": true,
        "title": "尺寸(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "itemHeight",
        "sortable": true,
        "title": "商品高度(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "itemLength",
        "sortable": true,
        "title": "商品长度(keepa)"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "itemWidth",
        "sortable": true,
        "title": "商品宽度(keepa)"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "sourceType",
        "sortable": true,
        "title": "来源类型"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "sourceTool",
        "sortable": true,
        "title": "来源工具"
      }
    ],
    "totalCount": 0,
    "type": "productWorkbenches",
    "products": [],
    "keepaDataEnriched": false
  }
}

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.

Recent 32 credits / callAPI usage records

Try it

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

Endpoint
/amazon/searchByImage
MCP method
nexscope_amazon_search_by_image
cURL
curl -X POST \
  https://api.nexscope.ai/amazon/searchByImage \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "amazonDomain": "amazon.com", "imageUrl": "https://m.media-amazon.com/images/I/61pAlIX8SZL._AC_SY575_.jpg", "sort": "default" }'
Response
No response yet. Run the request to see the response here.

Related APIs