Produkt-Keyword-Suche API

POST /v1/products/search — keyword search returning a paginated product list.

  • Taobao → upstream /traffic/item/search
  • 1688 → upstream product.search.keywordQuery

Related: Product detail · Product response models · Response format

Unsupported fields for a channel are silently ignored (no extra response headers).

Common request fields

FieldRequiredDescription
channelYes1688 | taobao
keywordYesSearch term
languageNoDefault en
page / page_sizeNoPagination (Taobao max 20 per page)
response_formatNostandard (default) or upstream
sort_fieldNoprice | sales | credit (credit is 1688-only; Taobao ignores)
sort_orderNoasc | desc (default asc; use with sort_field)
price_start / price_endNoPrice range in yuan (decimals allowed, e.g. 19.9)
ship_within_hoursNo0 (same day) | 24 | 48
category_idsNoComma-separated category IDs. 1688 only; Taobao ignores
product_collection_idNoBusiness pool ID. 1688 only; Taobao ignores

Sort (sort_field + sort_order)

sort_fieldsort_order→ 1688→ Taobao
priceasc / desc{"bid":"asc|desc"}PRICE_ASC / PRICE_DESC
salesasc / desc{"sale":"asc|desc"}SALE_QTY_ASC / SALE_QTY_DESC
creditasc / desc{"credit":"asc|desc"}Ignored

Legacy aliases for sort_field: bidprice, salesales.

Price

  • Gateway always uses yuan (decimals OK).
  • 1688 → priceStart / priceEnd.
  • Taobao → filters min_price / max_price in fen (Math.round(yuan * 100)).

Shipping (ship_within_hours)

Value→ 1688 filter→ Taobao filters
0shipInTodayIgnored
24shipIn24Hours24shipping
48shipIn48Hours48shipping

1688-only filters (Taobao ignores)

FieldTypeDescription
experience_score_levelinteger14totalEpScoreLv1Lv4
product_attrsstringComma-separated: isOnePsale, isOnePsaleFreePost, new7, new30, 1688Selection, isQqyx
filterstringAdvanced comma-separated tags; merged with semantic fields above
sale_filtersobject[]Maps to saleFilterList (sale_type: sales7 | sales14 | sales30 | totalSales, optional sale_start / sale_end)
keyword_translatebooleanWhether the keyword is already translated

Deprecated aliases: category_id, category_id_list (prefer category_ids).

Examples

1688

POST /v1/products/search
{
  "channel": "1688",
  "keyword": "phone case",
  "language": "en",
  "page": 1,
  "page_size": 20,
  "sort_field": "sales",
  "sort_order": "desc",
  "price_start": 10.5,
  "price_end": 99.9,
  "ship_within_hours": 24,
  "experience_score_level": 2,
  "product_attrs": "isOnePsale,1688Selection",
  "filter": "noReason7DReturn",
  "category_ids": "123,456",
  "product_collection_id": "262105288"
}

Taobao

POST /v1/products/search
{
  "channel": "taobao",
  "keyword": "帽子",
  "language": "en",
  "page": 1,
  "page_size": 20,
  "sort_field": "price",
  "sort_order": "asc",
  "price_start": 20,
  "price_end": 100,
  "ship_within_hours": 24
}

Response

StandardProductList — summary cards in items[]. Call product detail for full SKU matrix and stock.

With response_format: "upstream", the response is the channel vendor payload wrapped by HIOBuy (see Response format).