Nexscope

1688 Search By Image

Find visually similar 1688 supplier products from an image URL. Call the 1688 Search By Image API via REST or MCP with your Nexscope API key.

CostRecent 10 credits / call
Try online
POST · https://api.nexscope.ai/alibaba1688/imageSearchMCP · nexscope_1688_search_by_image

What this API does

Find visually similar 1688 supplier products from an image URL. The request accepts imageUrl, imageBase64, imageId, page, pageSize. Its documented result includes imageId, products.asin, products.asinUrl, products.compositeServiceScore, products.consignPrice, products.currency, products.dataType, products.deliveryTime.

1688 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 imageBase64 to 1688 Search By Image. The returned imageId, products.asin, products.asinUrl help identify products matching the requested search criteria.

Compare a product search shortlist

A marketplace analyst uses 1688 Search By Image with imageUrl and imageBase64 to compare a product search shortlist. The returned imageId, products.asin, products.asinUrl help compare candidates before requesting individual product details.

Collect candidates for a market review

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

1688 Search By Image API FAQ

What does the 1688 Search By Image API return?

Find visually similar 1688 supplier products from an image URL. The documented output includes imageId, products.asin, products.asinUrl, products.compositeServiceScore, products.consignPrice, products.currency, products.dataType, products.deliveryTime. It corresponds to the supplied imageUrl, imageBase64, imageId, page, pageSize. 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 1688 Search By Image API cost?

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

Send a POST request to https://api.nexscope.ai/alibaba1688/imageSearch 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_1688_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/alibaba1688/imageSearch
MCP method
nexscope_1688_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/alibaba1688/imageSearch

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/alibaba1688/imageSearch' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "filter": "1688Selection,totalEpScoreLv1,qrr0",
  "imageUrl": "https://m.media-amazon.com/images/I/719mRAn2VrL._AC_SL1500_.jpg",
  "page": 1,
  "pageSize": 20,
  "sort": "{\"price\":\"desc\"}"
}'

Code example

{
  "filter": "1688Selection,totalEpScoreLv1,qrr0",
  "imageUrl": "https://m.media-amazon.com/images/I/719mRAn2VrL._AC_SL1500_.jpg",
  "page": 1,
  "pageSize": 20,
  "sort": "{\"price\":\"desc\"}"
}

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/ 1688 Sourcing
POSThttps://api.nexscope.ai/alibaba1688/imageSearch

Run this API

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

Endpoint

MethodPOST
Pathhttps://api.nexscope.ai/alibaba1688/imageSearch
AuthBearer API key
Content-Typeapplication/json

Request parameters

NameTypeRequiredDescription
filterstringoptional
Comma-separated filters: 1688Selection, certifiedFactory, totalEpScoreLv1, totalEpScoreLv2, totalEpScoreLv3, totalEpScoreLv4, qrr0, qrr1, qrr5, qrr10, shipInToday, shipIn24Hours, shipIn48Hours, noReason7DReturn, isOnePsale, isOnePsaleFreePost, new7, new30, isQqyx, JPFL, USFL, KRFL, VNFL, SAFL, RUFL, KZFL, HKFL, MOFL, TWFL.
imageBase64stringoptional
Pure Base64 encoding, does not contain `data:image/jpeg;base64,` prefix; only supports png/jpg/jpeg; choose one of `imageUrl` and `imageId`
imageIdstringoptional
1688 picture ID; it is recommended to carry `page>1` when paging, which can speed up the response; choose one of three `imageUrl` and `imageBase64`
imageUrlstringoptional
Image URL, maximum length 1000; only supports png/jpg/jpeg; choose one of `imageBase64`, `imageId`
Maximum length: 1000
keywordstringoptional
Keywords to further search in the results
pageintegeroptional
Page number, starting from 1
Default: 1
Minimum: 1
pageSizeintegeroptional
The number of products per page cannot exceed 50
Default: 20
Minimum: 1
Maximum: 50
priceEndstringoptional
Price filter end value (RMB), such as `100`
priceStartstringoptional
Price filter starting value (RMB), such as `10`
productCollectionIdstringoptional
One cross-border product collection ID from the allowed values.
Allowed: 262105288, 262105286, 262105253, 262105281, 262105280, 262105277, 262105276, 262105274, 262105269, 262185282
sortstringoptional
JSON-encoded string: price, rePurchaseRate, or monthSold with asc or desc.
Default: {"monthSold":"desc"}

Any of option 1 — requires imageUrl

Any of option 2 — requires imageBase64

Any of option 3 — requires imageId

Response example

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

{
  "code": 0,
  "cost": "0",
  "data": {
    "products": [
      {
        "currency": "CNY",
        "offerId": "1234567890123456789",
        "price": 4.2,
        "title": "Example product"
      }
    ],
    "total": 1,
    "columns": []
  },
  "msg": null,
  "time": "2026-10-20T00:00:00Z",
  "traceId": null,
  "ts": "0"
}

Response fields

NameTypeRequiredDescription
codeintegeroptional
Nexscope transport/business envelope code; 0 means the request was processed. Inspect data for operation outcomes.
coststringoptional
Processing time in milliseconds, not credits.
dataobjectoptional
Data value used by this API operation.
data.columnsarrayoptional
Render column definition
data.columns[]anyrequired
Item in data columns.
data.imageIdstringoptional
The image ID after uploading; returning it during paging query can speed up the process
data.productsarrayoptional
Products value used by this API operation.
data.products[]objectrequired
Item in data products.
data.products[].asinstringoptional
Item number, same as `offerId`
data.products[].asinUrlstringoptional
Product link
data.products[].compositeServiceScorestringoptional
Comprehensive service experience points
data.products[].consignPricenumberoptional
Price for one piece (yuan)
data.products[].currencystringoptional
Currency, fixed to `¥`
data.products[].dataTypestringoptional
Data type, fixed to `monthlyData`
data.products[].deliveryTimestringoptional
Shipping time (24/48 hours)
data.products[].estimatedSalesAmountnumberoptional
Estimated sales
data.products[].hasPromotionstringoptional
Is there a marketing campaign (yes/no)
data.products[].imageUrlstringoptional
Product pictures
data.products[].isJxhystringoptional
Whether to select supply sources (yes/no)
data.products[].isOnePsalestringoptional
Whether to ship on behalf of one piece (yes/no)
data.products[].isPatentProductstringoptional
Is it a patented product (yes/no)
data.products[].isSelectstringoptional
Cross-Border Select Pallet Identification
data.products[].offerIdstringoptional
Product ID
data.products[].offerIdentitiesstringoptional
Product label (carefully selected)
data.products[].pricenumberoptional
Wholesale price (yuan)
data.products[].promotionTypestringoptional
marketing type
data.products[].quantityBeginintegeroptional
Minimum batch size
data.products[].repurchaseRatestringoptional
Repurchase rate
data.products[].salesQuantityintegeroptional
Number of pieces sold per month
data.products[].sellerIdentitiesstringoptional
Merchant identity (super factory/powerful merchant/integrity member)
data.products[].sendGoodsAddressTextstringoptional
Place of shipment
data.products[].sourceTypestringoptional
Source type, fixed to `1688`
data.products[].titlestringoptional
Product title
data.products[].tradeScorestringoptional
Product Transaction Rating
data.sourceTypestringoptional
Source type, fixed to `1688`
data.totalintegeroptional
Quantity of products on this page
data.totalPageintegeroptional
Total pages
data.typestringoptional
Rendering style, fixed to `productWorkbenches`
msgstring | nulloptional
Safe response message.
timestringoptional
Server response time.
traceIdstring | nulloptional
Request trace identifier.
tsstringoptional
Server timestamp.

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_1688_search_by_image",
    "arguments": {
      "imageUrl": "https://m.media-amazon.com/images/I/61v6nYvQ7+L._AC_SL1500_.jpg",
      "page": 1,
      "pageSize": 20
    }
  }
}

Legacy MCP v1

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

GET / POST /mcp/legacy

What can you do with this API?

Data explained and practical use cases

AI Guide

Question

What data can 1688 Search By Image provide, and how might I use it?

AI answer

Submit a product image URL, Base64 image, or existing imageId to find visually similar 1688 listings. Results include product summaries and can be paged, filtered, and sorted.

Data categoryDocumented fieldsWhat the values mean
Visual matchesproducts, total, totalPageListings on the current page, the number on that page, and the reported page count.
Product identityofferId, asin, title, imageUrl, asinUrlListing identifiers, title, image, and product link.
Buying termsprice, consignPrice, quantityBegin, currencyWholesale price, one-piece price, minimum batch size, and currency; prices are documented in yuan.
Sales indicatorssalesQuantity, estimatedSalesAmount, repurchaseRateMonthly pieces sold, estimated sales, and reported repurchase rate.
Seller and servicesellerIdentities, tradeScore, compositeServiceScore, deliveryTime, sendGoodsAddressTextMerchant identity, transaction and service indicators, shipping time, and shipment origin.
Product flagsisOnePsale, isJxhy, isPatentProduct, isSelectReported one-piece shipping, selected-source, patent-product, and cross-border selection flags.
  • Upload a reference product photo to discover visually similar wholesale listings.
    • Prompt example: “Use the product photo at [paste image URL] to find wholesale listings for a similar ribbed ceramic mug. Show the first ten visual matches with their image, title, yuan price and listing link.”
  • Compare match images and listing links before investigating potential suppliers.
    • Prompt example: “For my reference image at [paste image URL], put the five closest-looking listings in a comparison table with each match image and product URL. I want to inspect whether the handle and glaze really match before contacting a supplier.”
  • Narrow similar items by yuan price, minimum batch size, and monthly units sold.
    • Prompt example: “Using [paste image URL], find similar canvas tote bags priced at ¥12 or less, with a minimum batch of 100 or fewer and at least 500 reported monthly units sold. Show the returned values for each candidate.”
  • Review one-piece shipping and seller indicators when screening candidates for small orders.
    • Prompt example: “I need to test-sell one unit of the item in [paste image URL]. Which visual matches report one-piece shipping? For each, show the one-piece price if returned, seller identity, service score, delivery time and product link.”

Visual similarity does not establish that two listings describe the same product. The optional flags are reported listing data, not independent verification.

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 10 credits / callAPI usage records

Try it

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

Endpoint
/alibaba1688/imageSearch
MCP method
nexscope_1688_search_by_image
cURL
curl -X POST \
  https://api.nexscope.ai/alibaba1688/imageSearch \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "filter": "1688Selection,totalEpScoreLv1,qrr0", "imageUrl": "https://m.media-amazon.com/images/I/719mRAn2VrL._AC_SL1500_.jpg", "page": 1, "pageSize": 20, "sort": "{\"price\":\"desc\"}" }'
Response
No response yet. Run the request to see the response here.

Related APIs