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 from 10 credits per call.

CostRecent 10 credits / call
Try online
POST · https://api.nexscope.ai/api/skill-api/v1/skills/1688-search-by-image/runMCP · nexscope_1688_search_by_image
1688 Sourcing

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 dataSnapshotMonth, imageId, page, pageItemCount, pageSize, products.asin, products.asinUrl, products.compositeServiceScore.

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 dataSnapshotMonth, imageId, page 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 dataSnapshotMonth, imageId, page 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 dataSnapshotMonth, imageId, page, pageItemCount, pageSize, products.asin, products.asinUrl, products.compositeServiceScore. 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/api/skill-api/v1/skills/1688-search-by-image/run 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. The same documented request parameters apply; use Online test to review a request before adding it to your app.

View plans and creditsConnect this API with MCP

Try this API
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/1688-search-by-image/run
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/api/skill-api/v1/skills/1688-search-by-image/run

Run an API

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

Example request

Replace YOUR_API_KEY, then run this command in your terminal.

curl -X POST 'https://api.nexscope.ai/api/skill-api/v1/skills/1688-search-by-image/run' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "imageUrl": "https://m.media-amazon.com/images/I/61v6nYvQ7+L._AC_SL1500_.jpg",
  "page": 1,
  "pageSize": 20
}'

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
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.
All categories/ 1688 Sourcing
POSThttps://api.nexscope.ai/api/skill-api/v1/skills/1688-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/1688-search-by-image/run
AuthBearer API key
Content-Typeapplication/json

Request parameters

NameTypeRequiredDescription
imageUrlstringoptional
Public HTTP/80 or HTTPS/443 URL, maximum 1,000 characters, without redirects. A sole direct source is checked for PNG/JPEG headers, at most 14.3 MiB, each dimension at most 20,000 and at most 40,000,000 pixels. This is not full pixel-integrity validation. Provide exactly one of imageUrl, imageBase64, or imageId.
Example: https://m.media-amazon.com/images/I/61v6nYvQ7+L._AC_SL1500_.jpg
imageBase64stringoptional
Raw standard Base64 for PNG/JPEG; optional padding and outer whitespace allowed, embedded whitespace and data URI prefixes rejected for a sole direct source. Byte/header limits match imageUrl; at most 19,992,848 Base64 characters after outer whitespace trimming. Provide this as the only image source.
imageIdstringoptional
1688 image ID. Image-search results also return this value; include it when page is greater than 1 to improve response time
pageintegeroptional
Page number starting from 1
Example: 1
pageSizeintegeroptional
Number of products per page; default 20, maximum 50
Example: 20
priceStartstringoptional
Minimum price in CNY, for example 10
priceEndstringoptional
Maximum price in CNY, for example 100
filterstringoptional
Comma-separated filter conditions. Use the supported filter values documented for this endpoint
sortstringoptional
Sort condition as JSON in the form {field: direction}. Fields: price, rePurchaseRate, or monthSold. Directions: asc or desc
keywordstringoptional
Keyword used to search within the results
Example: phone case
productCollectionIdstringoptional
Single product-collection ID. Use a supported collection ID documented for this endpoint
Example: example-id

Code example

{
  "imageUrl": "https://m.media-amazon.com/images/I/61v6nYvQ7+L._AC_SL1500_.jpg",
  "page": 1,
  "pageSize": 20
}

Response example

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

{
  "code": 0,
  "cost": "-1",
  "data": {
    "columns": [],
    "costToken": 1,
    "imageId": "example-id",
    "products": [
      {
        "asin": "example-id",
        "asinUrl": "https://detail.1688.com/offer/1040473674152.html",
        "consignPrice": 1,
        "estimatedSalesAmount": 1,
        "imageUrl": "https://example.com/image.jpg",
        "offerId": "example-id",
        "price": 1,
        "quantityBegin": 1,
        "salesQuantity": 1
      }
    ],
    "total": 1,
    "totalPage": 1
  },
  "msg": null,
  "time": "2026-01-01 00:00:00",
  "traceId": null,
  "ts": "0"
}

Response fields

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

Any of option 1

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.columnsarrayoptional
Column definitions used for rendering
Example: []
data.costTimeintegeroptional
Execution time reported by the upstream provider.
Example: null
data.costTokenintegeroptional
Tokens consumed
Example: 1
data.dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.
Example: null
data.imageIdstringoptional
Uploaded image ID; send it with paginated requests to improve response time
Example: example-id
data.pageintegeroptional
Current page returned by the upstream provider.
Example: null
data.pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
Example: null
data.pageSizeintegeroptional
Page size returned by the upstream provider.
Example: null
data.productsarrayoptional
Product list; see the product fields below
Example: []
data.products[]objectrequired
Item in data products.
data.products[].asinstringoptional
Product identifier, same as offerId
Example: example-id
data.products[].asinUrlstringoptional
Product URL
Example: https://detail.1688.com/offer/1040473674152.html
data.products[].compositeServiceScorestringoptional
Composite service-experience score
Example: null
data.products[].consignPricenumberoptional
Single-item dropshipping price in CNY
Example: 1
data.products[].currencystringoptional
Currency; fixed value "¥"
Example: null
data.products[].dataTypestringoptional
Data type; fixed value "monthlyData"
Example: null
data.products[].deliveryTimestringoptional
Dispatch time, such as 24 or 48 hours
Example: null
data.products[].estimatedSalesAmountnumberoptional
Estimated sales revenue
Example: 1
data.products[].hasPromotionstringoptional
Whether a promotion is active
Example: null
data.products[].imageUrlstringoptional
Product image URL
Example: https://example.com/image.jpg
data.products[].isJxhystringoptional
Whether the product is a selected supply source
Example: null
data.products[].isOnePsalestringoptional
Whether single-item dropshipping is available
Example: null
data.products[].isPatentProductstringoptional
Whether the product is patented
Example: null
data.products[].isSelectstringoptional
Cross-border Select collection indicator
Example: null
data.products[].offerIdstringoptional
Product ID
Example: example-id
data.products[].offerIdentitiesstringoptional
Product badge, such as Strict Selection
Example: null
data.products[].pricenumberoptional
Wholesale price in CNY
Example: 1
data.products[].promotionTypestringoptional
Promotion type
Example: null
data.products[].quantityBeginintegeroptional
Minimum order quantity
Example: 1
data.products[].repurchaseRatestringoptional
Repurchase rate
Example: null
data.products[].salesQuantityintegeroptional
Monthly units sold
Example: 1
data.products[].sellerIdentitiesstringoptional
Seller identities, such as Super Factory, Verified Supplier, or TrustPass member
Example: null
data.products[].sendGoodsAddressTextstringoptional
Dispatch location
Example: null
data.products[].sourceToolstringoptional
Source tool; fixed value identifying 1688 image search
Example: null
data.products[].sourceTypestringoptional
Source type; fixed value "1688"
Example: null
data.products[].titlestringoptional
Product title
Example: null
data.products[].tradeScorestringoptional
Product transaction score
Example: null
data.sourceToolstringoptional
Provider-specific source tool name.
Example: null
data.sourceTypestringoptional
Source type; fixed value "1688"
Example: null
data.titlestringoptional
Provider-specific response title.
Example: null
data.totalintegeroptional
Number of products on this page
Example: 1
data.totalPageintegeroptional
Total number of pages
Example: 1
data.typestringoptional
Rendering style; fixed value "productWorkbenches"
Example: null

Any of option 2

NameTypeRequiredDescription
datanullrequired
Data value used by this API operation.

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.

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/api/skill-api/v2/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 /api/skill-api/v1/mcp

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.

10 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/1688-search-by-image/run
MCP method
nexscope_1688_search_by_image
cURL
curl -X POST \
  https://api.nexscope.ai/api/skill-api/v1/skills/1688-search-by-image/run \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "imageUrl": "https://m.media-amazon.com/images/I/61v6nYvQ7+L._AC_SL1500_.jpg", "page": 1, "pageSize": 20 }'
Response
No response yet. Run the request to see the response here.

Related APIs