1688 Sourcing
1688 Product Detail
Retrieve public 1688 product, SKU, pricing, logistics, and supplier details. Call the 1688 Product Detail API via REST or MCP in your app or AI agent.
MCP tool name
nexscope_1688_product_detailMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "1688-product-detail-1",
"method": "tools/call",
"params": {
"name": "nexscope_1688_product_detail",
"arguments": {
"offerId": "1040473674152"
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
offerId | string | required | Positive integer 1688 product ID. Use a string to preserve large identifiers. Example: 1040473674152 |
country | string | optional | Optional upstream compatibility field; defaults to en. Example: en |
currency | string | optional | Optional three-letter currency code. The service normalizes it to uppercase. Example: USD |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
errcode | integer | optional | Gateway business status; `200` indicates success Example: {} |
errmsg | string | optional | Gateway message; success is `ok` Example: {} |
offerId | string | optional | 1688 Product ID Example: {} |
subject | string | optional | Chinese title Example: {} |
subjectTrans | string | optional | Upstream extension header field, may be empty or the same as `subject` Example: {} |
description | string | optional | Product details in Chinese, often containing HTML Example: {} |
descriptionTrans | string | optional | Upstream extension details field, may be missing Example: {} |
categoryId | string | optional | Current category ID Example: {} |
topCategoryId | string | optional | First level category ID Example: {} |
secondCategoryId | string | optional | Secondary category ID Example: {} |
thirdCategoryId | string | optional | Third-level category ID Example: {} |
categoryName | string | optional | Category name, may be missing Example: {} |
status | string | optional | Product status Example: {} |
createDate | string | optional | Product creation time Example: {} |
productUrl | string | optional | 1688 product promotion link Example: {} |
sourceType | string | optional | Data source, currently `1688` Example: {} |
type | string | optional | Result style, currently `productDetail` Example: {} |
costToken | integer | optional | The call consumes token; the current successful response is `1000` Example: {} |
productImage | object | optional | Original image: `images[]`, `whiteImage` Example: {} |
productImageTrans | object | optional | The upstream extended image field has the same structure as above and may be missing. Example: {} |
mainVideo | string | optional | Main video address Example: {} |
detailVideo | string | optional | Detailed video address Example: {} |
productAttributes | array | optional | Product attributes: `attributeId`, `attributeName`, `attributeNameTrans`, `value`, `valueTrans` Example: {} |
sellingPoints | array | optional | Product selling point, may be empty Example: {} |
skuList | array | optional | SKU, specifications, inventory, price and SKU pictures, see the table below for details Example: {} |
saleInfo | object | optional | Inventory, tiered prices, unit and distribution sales information, please see the table below Example: {} |
shippingInfo | object | optional | Please refer to the table below for details of shipping location, delivery time and product/SKU piece weight. Example: {} |
companyName | string | optional | Supplier/Store Name Example: {} |
sellerOpenId | string | optional | Merchant Encrypted ID Example: {} |
sellerDataInfo | object | optional | Seller services and transaction indicators, please see the table below for details Example: {} |
sellerMixSetting | object | optional | Mixed batch settings: `generalHunpi`, `mixAmount`, `mixNumber` Example: {} |
channelPrice | object | optional | Channel SKU Price: `skuPrices[].skuId/currentPrice` Example: {} |
promotion | object | optional | Marketing information: `hasPromotion`, `promotionType` Example: {} |
minOrderQuantity | integer | optional | Minimum minimum quantity Example: {} |
batchNumber | integer | optional | One lot quantity Example: {} |
productCargoNumber | string | optional | Product number Example: {} |
soldOut | string | optional | Product sales Example: {} |
isJxhy | boolean | optional | Whether to select supply sources Example: {} |
isSelect | boolean | optional | Whether to cross-border Select pallet Example: {} |
tradeScore | string | optional | Product Transaction Rating Example: {} |
offerIdentities | array | optional | Product or merchant identification Example: {} |
tags | array | optional | Service tags: `key`, `value` Example: {} |
certificates | array | optional | Certificate: `certificateName`, `certificateCode`, `certificatePhotoList[]` Example: {} |
invoiceInfo | object | optional | Invoice: `supportOnlineInvoice`, `supportFastInvoice`, `invoiceTypes[]`, `taxpayerType` Example: {} |
skuId | string | optional | SKU ID Example: {} |
specId | string | optional | Specification ID Example: {} |
cargoNumber | string | optional | SKU item number Example: {} |
amountOnSale | integer | optional | Available inventory Example: {} |
price | string | optional | SKU price (RMB); in the new retail price model, it is the wholesale price when the purchase quantity is greater than or equal to 2 pieces. The semantics of the old product model are combined with ladder and order preview judgments. Example: {} |
retailPrice | string | optional | SKU retail price (RMB), applicable to purchase quantity 1 piece; missing if the upstream does not have a retail price Example: {} |
foreignCurrencyRetailPrice | number | optional | SKU retail price in foreign currency, applicable to purchase quantity 1 piece; missing when no currency requested, no retail price, or conversion failure Example: {} |
promotionPrice | string | optional | marketing price Example: {} |
consignPrice | string | optional | Dropshipping price; the upstream obsolete compatibility field may be missing Example: {} |
attributes | array | optional | SKU attribute; contains name, value, and optional image Example: {} |
fenxiaoPriceInfo | object | optional | `offerPrice`、`onePiecePrice`、`foreignCurrencyPrice`、`foreignCurrencyPromotionPrice` Example: {} |
amountOnSale | integer | optional | Total merchandise inventory Example: {} |
retailPrice | string | optional | Product-level retail price (RMB), applicable to the purchase quantity of 1 piece; missing if the upstream does not have a retail price Example: {} |
foreignCurrencyRetailPrice | number | optional | Item-level retail price in foreign currency, applicable to purchase quantity 1 piece; missing when no currency requested, no retail price, or conversion failure Example: {} |
quoteType | integer | optional | `0` has no SKU and is based on product quantity; `1` is based on SKU specifications; `2` has SKU and is based on product quantity Example: {} |
priceRanges | array | optional | Wholesale tiered prices: `startQuantity`, `price`, `promotionPrice`, `foreignCurrencyPrice`, `foreignCurrencyPromotionPrice` Example: {} |
unitInfo | object | optional | Unit field `unit` and upstream extension field `transUnit` Example: {} |
fenxiaoSaleInfo | object | optional | `startQuantity`、`offerPrice`、`onePiecePrice`、`onePieceFreePostage` Example: {} |
sendGoodsAddressText | string | optional | Place of shipment Example: {} |
shippingTimeGuarantee | string | optional | Delivery guarantee Example: {} |
weight | number | optional | Product weight, unit kg Example: {} |
officialWeight | number | optional | Official measured weight in kg Example: {} |
pkgSizeSource | string | optional | Product weight data source Example: {} |
skuShippingInfoList | array | optional | SKU logistics specifications; `weight` unit is g, other dimensions are unit cm Example: {} |
skuShippingDetails | array | optional | SKU piece weight; `weight`/`officialWeight`/`aiWeight` unit kg, dimensions unit cm Example: {} |
tradeMedalLevel | string | optional | Seller Trading Medal Example: {} |
compositeServiceScore | string | optional | Comprehensive service points Example: {} |
logisticsExperienceScore | string | optional | Logistics experience points Example: {} |
disputeComplaintScore | string | optional | Dispute resolution points Example: {} |
offerExperienceScore | string | optional | Product experience points Example: {} |
consultingExperienceScore | string | optional | Consulting experience points Example: {} |
afterSalesExperienceScore | string | optional | Return or exchange experience points Example: {} |
repeatPurchasePercent | string | optional | Seller return rate Example: {} |
collect30DayWithin48HPercent | string | optional | Collection rate in the last 30 days and 48 hours Example: {} |
qualityRefundWithin30Day | string | optional | Quality refund rate in the last 30 days Example: {} |
Examples
Example arguments
{
"offerId": "1040473674152"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}