1688 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
REST API and MCP service documentation generated from server-side API definitions. Responses use the shared code, msg, and data envelope.
Find visually similar 1688 supplier products from an image URL, including price, minimum order quantity, sales, supplier, and trade data.
https://api.nexscope.ai/api/skill-api/v1/skills/1688-search-by-image/runnexscope_1688_search_by_imageAll run endpoints require a user API key. Send it as a bearer token in the Authorization header.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxhttps://api.nexscope.ai/api/skill-api/v1/skills/1688-search-by-image/runRequest parameters documented by ecommerce.1688-search-by-image.
| Slug | 1688-search-by-image |
| Headers | Authorization: Bearer nk-...Content-Type: application/json |
| Request body | API-specific JSON object. |
| Response body | Platform envelope: code, msg, data, ts, time, cost, traceId. Inspect data.status for asynchronous completion. |
| Code | Description |
|---|---|
| 200 | HTTP request completed. Check JSON code; only 0 indicates business success or acceptance. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API execution or upstream service failed. |
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 '{
"pageSize": 10,
"page": 1,
"imageUrl": "https://m.media-amazon.com/images/I/61v6nYvQ7+L._AC_SL1500_.jpg"
}'https://api.nexscope.ai/api/skill-api/v1/skills/1688-search-by-image/runSend a JSON request to execute this API and receive the documented response payload.
| Method | POST |
| Path | https://api.nexscope.ai/api/skill-api/v1/skills/1688-search-by-image/run |
| Auth | Bearer API key |
| Content-Type | application/json |
| Name | Type | Required | Description |
|---|---|---|---|
imageUrl | string | optional | 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. imageId or ambiguous multiple sources preserve provider behavior and skip new preflight. Provide at least one image source. Example: https://m.media-amazon.com/images/I/61v6nYvQ7+L._AC_SL1500_.jpg |
imageBase64 | string | optional | 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. Multiple-source inputs retain existing provider behavior. |
{
"pageSize": 10,
"page": 1,
"imageUrl": "https://m.media-amazon.com/images/I/61v6nYvQ7+L._AC_SL1500_.jpg"
}Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"data": {
"imageId": "example-id",
"total": 1,
"totalPage": 1,
"columns": [],
"costToken": 1,
"products": [],
"offerId": "example-id",
"asin": "B072MQ5BRX",
"imageUrl": "https://example.com/image.jpg",
"price": 1,
"consignPrice": 1,
"salesQuantity": 1,
"estimatedSalesAmount": 1,
"asinUrl": "B072MQ5BRX",
"quantityBegin": 1
},
"code": 0,
"msg": null,
"ts": "0",
"time": "2026-01-01 00:00:00",
"cost": "-1",
"traceId": null
}| Name | Type | Required | Description |
|---|---|---|---|
data | any | required | Data value used by this API operation. |
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
msg | string | null | required | Msg value used by this API operation. |
ts |
| Code | Description |
|---|---|
| 200 | HTTP request completed. Check JSON code; only 0 indicates business success or acceptance. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API execution or upstream service failed. |
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.
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/jsonOAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.
{
"jsonrpc": "2.0",
"id": "tool-call-1",
"method": "tools/call",
"params": {
"name": "nexscope_1688_search_by_image",
"arguments": {
"pageSize": 10,
"page": 1,
"imageUrl": "https://m.media-amazon.com/images/I/61v6nYvQ7+L._AC_SL1500_.jpg"
}
}
}Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.
GET / POST /api/skill-api/v1/mcpExecute the current API with your API key and JSON payload.
Send a real request with the same contract shown in the reference.
https://api.nexscope.ai/api/skill-api/v1/skills/1688-search-by-image/runnexscope_1688_search_by_imagecurl -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 '{ "pageSize": 10, "page": 1, "imageUrl": "https://m.media-amazon.com/images/I/61v6nYvQ7+L._AC_SL1500_.jpg" }'No response yet. Run the request to see the response here.
Retrieve public 1688 product, SKU, pricing, logistics, and supplier details while preserving long offer identifiers as exact strings.
Query 1688 bestseller charts for wholesale sourcing and product research. Review request parameters, response fields, and MCP usage.
Search 1688 wholesale products for sourcing, supplier discovery, and product selection across Alibaba’s domestic B2B marketplace.
imageId | string | optional | 1688 image ID. Image-search results also return this value; include it when page is greater than 1 to improve response time |
page | integer | optional | Page number starting from 1 Example: 1 |
pageSize | integer | optional | Number of products per page, maximum 50 Example: 10 |
priceStart | string | optional | Minimum price in CNY, for example 10 |
priceEnd | string | optional | Maximum price in CNY, for example 100 |
filter | string | optional | Comma-separated filter conditions. Use the supported filter values documented for this endpoint |
sort | string | optional | Sort condition as JSON in the form {field: direction}. Fields: price, rePurchaseRate, or monthSold. Directions: asc or desc |
keyword | string | optional | Keyword used to search within the results Example: phone case |
productCollectionId | string | optional | Single product-collection ID. Use a supported collection ID documented for this endpoint Example: example-id |
string |
| required |
Epoch milliseconds. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
traceId | string | null | required | Trace id value used by this API operation. |
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.imageId | string | optional | Uploaded image ID; send it with paginated requests to improve response time Example: example-id |
data.total | integer | optional | Number of products on this page Example: 1 |
data.totalPage | integer | optional | Total number of pages Example: 1 |
data.sourceType | string | optional | Source type; fixed value "1688" Example: null |
data.type | string | optional | Rendering style; fixed value "productWorkbenches" Example: null |
data.columns | array | optional | Column definitions used for rendering Example: [] |
data.costToken | integer | optional | Tokens consumed Example: 1 |
data.products | array | optional | Product list; see the product fields below Example: [] |
data.offerId | string | optional | Product ID Example: example-id |
data.asin | string | optional | Product identifier, same as offerId Example: B072MQ5BRX |
data.imageUrl | string | optional | Product image URL Example: https://example.com/image.jpg |
data.title | string | optional | Product title Example: null |
data.price | number | optional | Wholesale price in CNY Example: 1 |
data.consignPrice | number | optional | Single-item dropshipping price in CNY Example: 1 |
data.salesQuantity | integer | optional | Monthly units sold Example: 1 |
data.estimatedSalesAmount | number | optional | Estimated sales revenue Example: 1 |
data.asinUrl | string | optional | Product URL Example: B072MQ5BRX |
data.products[].isOnePsale | string | optional | Whether single-item dropshipping is available Example: null |
data.products[].isJxhy | string | optional | Whether the product is a selected supply source Example: null |
data.products[].sellerIdentities | string | optional | Seller identities, such as Super Factory, Verified Supplier, or TrustPass member Example: null |
data.products[].offerIdentities | string | optional | Product badge, such as Strict Selection Example: null |
data.products[].repurchaseRate | string | optional | Repurchase rate Example: null |
data.products[].tradeScore | string | optional | Product transaction score Example: null |
data.products[].compositeServiceScore | string | optional | Composite service-experience score Example: null |
data.products[].sendGoodsAddressText | string | optional | Dispatch location Example: null |
data.products[].deliveryTime | string | optional | Dispatch time, such as 24 or 48 hours Example: null |
data.quantityBegin | integer | optional | Minimum order quantity Example: 1 |
data.products[].hasPromotion | string | optional | Whether a promotion is active Example: null |
data.products[].promotionType | string | optional | Promotion type Example: null |
data.products[].isPatentProduct | string | optional | Whether the product is patented Example: null |
data.products[].isSelect | string | optional | Cross-border Select collection indicator Example: null |
data.products[].currency | string | optional | Currency; fixed value "¥" Example: null |
data.sourceTool | string | optional | Source tool; fixed value identifying 1688 image search Example: null |
data.products[].dataType | string | optional | Data type; fixed value "monthlyData" Example: null |
data.costTime | integer | optional | Execution time reported by the upstream provider. Example: null |
data.page | integer | optional | Current page returned by the upstream provider. Example: null |
data.pageSize | integer | optional | Page size returned by the upstream provider. Example: null |
data.pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: null |
data.dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: null |
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |