Nexscope

Amazon Search By Image API

REST API and MCP service documentation generated from server-side API definitions. Responses use the shared code, msg, and data envelope.

API selector
Amazon Marketplace Intelligence

API overview

Find visually similar Amazon products from an image URL across eight marketplaces, with optional sales-data enrichment.

Try this API
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-search-by-image/run
MCP method
nexscope_amazon_search_by_image

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 .
POSThttps://api.nexscope.ai/api/skill-api/v1/skills/amazon-search-by-image/run

Run an API

Request parameters documented by ecommerce.amazon-search-by-image.

Slugamazon-search-by-image
HeadersAuthorization: Bearer nk-...
Content-Type: application/json
Request bodyAPI-specific JSON object.
Response bodyPlatform envelope: code, msg, data, ts, time, cost, traceId. Inspect data.status for asynchronous completion.

Status codes

CodeDescription
200HTTP request completed. Check JSON code; only 0 indicates business success or acceptance.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

Example request

curl -X POST https://api.nexscope.ai/api/skill-api/v1/skills/amazon-search-by-image/run \
  -H "Authorization: Bearer nk-xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{   "imageUrl": "https://m.media-amazon.com/images/I/31SkgVLWSuL._SL75_.jpg",   "amazonDomain": "amazon.com",   "aggregateByKeepaData": false }'
All categories/ Amazon Marketplace Intelligence
POSThttps://api.nexscope.ai/api/skill-api/v1/skills/amazon-search-by-image/run

Run this API

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

Endpoint

MethodPOST
Pathhttps://api.nexscope.ai/api/skill-api/v1/skills/amazon-search-by-image/run
AuthBearer API key
Content-Typeapplication/json

Request body

NameTypeRequiredDescription
imageUrlstringrequired
Valid, publicly accessible image URL (maximum 1,000 characters)
Example: https://m.media-amazon.com/images/I/31SkgVLWSuL._SL75_.jpg
amazonDomainstringrequired
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
sortstringoptional
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
deliveryZipstringoptional
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
countryOrAreaCodestringoptional
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
aggregateByKeepaDatabooleanoptional
Whether to enrich results with Keepa data such as sales rank, monthly sales, FBA fees, and dimensions
Example: false

Request example

{
  "imageUrl": "https://m.media-amazon.com/images/I/31SkgVLWSuL._SL75_.jpg",
  "amazonDomain": "amazon.com",
  "aggregateByKeepaData": false
}

Response body

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

Any of option 1

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.totalintegeroptional
Total rows
Example: 1
data.totalCountintegeroptional
Total count
Example: 1
data.perPageintegeroptional
Items per page
Example: 1
data.currentPageintegeroptional
Current page
Example: 1
data.typestringoptional
Rendering style
Example: null
data.sourceTypestringoptional
Source type
Example: null
data.columnsarrayoptional
Column definitions used for rendering
Example: []
data.costTokenintegeroptional
Tokens consumed
Example: 1
data.productsarrayoptional
Product list; see the product fields below
Example: []
data.asinstringoptional
ASIN
Example: B072MQ5BRX
data.titlestringoptional
Product title
Example: null
data.imageUrlstringoptional
Image URL
Example: https://example.com/image.jpg
data.asinUrlstringoptional
Amazon ASIN detail URL
Example: B072MQ5BRX
data.pricenumberoptional
Current price in the marketplace currency
Example: 1
data.oldPricenumberoptional
List price
Example: 1
data.products[].currencystringoptional
Currency
Example: null
data.ratingnumberoptional
Current rating from 0.0 to 5.0
Example: 1
data.ratingsintegeroptional
Rating count
Example: 1
data.products[].brandstringoptional
Brand
Example: null
data.sourceToolstringoptional
Source tool
Example: null
data.salesRankintegeroptional
Sales rank from Keepa
Example: 1
data.salesRank30integeroptional
Average sales rank over the past 30 days from Keepa
Example: 1
data.salesRank90integeroptional
Average sales rank over the past 90 days from Keepa
Example: 1
data.salesRank180integeroptional
Average sales rank over the past 180 days from Keepa
Example: 1
data.monthlySalesUnitsintegeroptional
Monthly units sold from Keepa
Example: 1
data.monthlySalesRevenuenumberoptional
Monthly sales revenue from Keepa
Example: 1
data.monthlySalesUnits1MonthAgo~monthlySalesUnits12MonthsAgointegeroptional
Monthly sales from 1 through 12 months ago, from Keepa
Example: 1
data.reviewCountintegeroptional
Review count from Keepa
Example: 1
data.fbaFeesnumberoptional
FBA fulfillment fee in the marketplace currency from Keepa
Example: 1
data.profitnumberoptional
Profit margin percentage from Keepa; for example, 25.5 means 25.5%
Example: 1
data.referralFeePercentagenumberoptional
Referral fee percentage from Keepa
Example: 1
data.products[].fulfillmentstringoptional
Fulfillment method from Keepa: AMZ, FBA, or FBM
Example: null
data.primePricenumberoptional
Prime price from Keepa
Example: 1
data.buyBoxSellerIdstringoptional
Buy Box seller ID from Keepa
Example: example-id
data.sellerNumintegeroptional
Seller count from Keepa
Example: 1
data.variationNumintegeroptional
Variation count from Keepa
Example: 1
data.parentAsinstringoptional
Parent ASIN from Keepa
Example: B072MQ5BRX
data.availableDatestringoptional
Listing date from Keepa in yyyy-MM-dd HH:mm:ss format
Example: 2026-01-01
data.lastUpdatestringoptional
Last update time from Keepa in yyyy-MM-dd HH:mm:ss format
Example: 2026-01-01
data.products[].manufacturerstringoptional
Manufacturer from Keepa
Example: null
data.products[].modelstringoptional
Model from Keepa
Example: null
data.products[].colorstringoptional
Color from Keepa
Example: null
data.products[].materialstringoptional
Primary materials used in the product construction, from Keepa
Example: null
data.products[].weightstringoptional
Weight in grams from Keepa
Example: null
data.products[].dimensionstringoptional
Dimensions from Keepa
Example: null
data.itemLengthintegeroptional
Product length in millimeters from Keepa; 0 or -1 when unavailable
Example: 1
data.itemWidthintegeroptional
Product width in millimeters from Keepa; 0 or -1 when unavailable
Example: 1
data.itemHeightintegeroptional
Product height in millimeters from Keepa; 0 or -1 when unavailable
Example: 1
data.packageLengthintegeroptional
Package length in millimeters from Keepa
Example: 1
data.packageWidthintegeroptional
Package width in millimeters from Keepa
Example: 1
data.packageHeightintegeroptional
Package height in millimeters from Keepa
Example: 1
data.products[].packageWeightstringoptional
Package weight in grams from Keepa
Example: null
data.products[].packageDimensionsstringoptional
Package dimensions from Keepa
Example: null
data.packageQuantityintegeroptional
Number of items in the package from Keepa; 0 or -1 when unavailable
Example: 1
data.products[].dimensionsTypestringoptional
Dimension type from Keepa
Example: null
data.products[].categoryTreestringoptional
Category tree from Keepa
Example: null
data.categoryTreeIdstringoptional
Category tree ID from Keepa
Example: example-id
data.rootCategoryintegeroptional
Root category ID from Keepa
Example: 1
data.isAdultProductbooleanoptional
Whether the product is classified as adult content by Keepa
Example: false
data.isHazmatbooleanoptional
Whether the product is classified as hazardous by Keepa
Example: false
data.urlSlugstringoptional
URL slug from Keepa
Example: https://example.com/image.jpg
data.productImageUrlsarrayoptional
Product image URLs from Keepa
Example: []
data.costTimeintegeroptional
Execution time reported by the upstream provider.
Example: null
data.pageintegeroptional
Current page returned by the upstream provider.
Example: null
data.pageSizeintegeroptional
Page size returned by the upstream provider.
Example: null
data.pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
Example: null
data.totalPageintegeroptional
Total page count returned by the upstream provider.
Example: null
data.dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
datanullrequired
Data value used by this API operation.

Response example

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

{
  "data": {
    "total": 1,
    "totalCount": 1,
    "perPage": 1,
    "currentPage": 1,
    "columns": [],
    "costToken": 1,
    "products": [],
    "asin": "B072MQ5BRX",
    "imageUrl": "https://example.com/image.jpg",
    "asinUrl": "B072MQ5BRX",
    "price": 1,
    "oldPrice": 1,
    "rating": 1,
    "ratings": 1,
    "salesRank": 1,
    "salesRank30": 1,
    "salesRank90": 1,
    "salesRank180": 1,
    "monthlySalesUnits": 1,
    "monthlySalesRevenue": 1,
    "monthlySalesUnits1MonthAgo~monthlySalesUnits12MonthsAgo": 1,
    "reviewCount": 1,
    "fbaFees": 1,
    "profit": 1,
    "referralFeePercentage": 1,
    "primePrice": 1,
    "buyBoxSellerId": "example-id",
    "sellerNum": 1,
    "variationNum": 1,
    "parentAsin": "B072MQ5BRX",
    "availableDate": "2026-01-01",
    "lastUpdate": "2026-01-01",
    "itemLength": 1,
    "itemWidth": 1,
    "itemHeight": 1,
    "packageLength": 1,
    "packageWidth": 1,
    "packageHeight": 1,
    "packageQuantity": 1,
    "categoryTreeId": "example-id",
    "rootCategory": 1,
    "isAdultProduct": false,
    "isHazmat": false,
    "urlSlug": "https://example.com/image.jpg",
    "productImageUrls": []
  },
  "code": 0,
  "msg": null,
  "ts": "0",
  "time": "2026-01-01 00:00:00",
  "cost": "-1",
  "traceId": null
}

Responses

CodeDescription
200HTTP request completed. Check JSON code; only 0 indicates business success or acceptance.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI 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.

Related APIs

MCP

Use the MCP endpoint when an agent needs to discover and call API tools with JSON-RPC.

GET /api/skill-api/v1/mcp
POST /api/skill-api/v1/mcp
Authorization: Bearer nk-xxxxxxxxxxxxxxxxx
Content-Type: application/json

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_amazon_search_by_image",
    "arguments": {
      "imageUrl": "https://m.media-amazon.com/images/I/31SkgVLWSuL._SL75_.jpg",
      "amazonDomain": "amazon.com",
      "aggregateByKeepaData": false
    }
  }
}

Online test

Execute the current API with your API key and JSON payload.

21 credits / callAPI usage records

Try it

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

Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-search-by-image/run
MCP method
nexscope_amazon_search_by_image
cURL
curl -X POST \
  https://api.nexscope.ai/api/skill-api/v1/skills/amazon-search-by-image/run \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "imageUrl": "https://m.media-amazon.com/images/I/31SkgVLWSuL._SL75_.jpg", "amazonDomain": "amazon.com", "aggregateByKeepaData": false }'
Response
No response yet. Run the request to see the response here.