---
document_id: agent.collection.task.taobao_product_search_v1
schema_version: 2
parent_document_id: agent.querying
section: querying
---

<!-- Generated by scripts.build_agent_guide; do not edit. -->

# Product search / 商品搜索

Search Taobao and Tmall products by keyword, one page per request.

按关键词搜索淘宝和天猫商品，每次请求查询一页。

Task / 任务: `taobao_product_search_v1`
Platform / 平台: Taobao/Tmall / 淘宝/天猫
Billing / 计费: 36 Credits per successful task / 每个成功任务 36 Credits
Estimate / 估价: call `estimate_collection`; start directly when `approval_required=false`, otherwise obtain approval for `upper_bound_credits`.
估价：调用 `estimate_collection`；`approval_required=false` 时直接启动，否则请用户确认 `upper_bound_credits`。

## Limitations / 限制

- One fixed marketplace data route is called per task; no automatic version fallback or cross-platform fan-out is performed.
- Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
- Each successful request is charged once by the configured Asklear task price.
- Production exposure requires the configured marketplace data connection and bounded live acceptance evidence.

## Inputs / 输入

- `keyword` — Keyword / 关键词; kind=text; required=True; default=''; bounds=min_length=1, max_length=200
- `page` — Page / 页码; kind=integer; required=False; default=1; bounds=min=1, max=1000
- `sort` — Sort / 排序; kind=select; required=False; default='_sale'; allowed=_sale, _bid, bid, _coefp
- `tmall` — Tmall only / 仅天猫; kind=select; required=False; default='false'; allowed=false, true
- `start_price` — Minimum price / 最低价格; kind=text; required=False; default=''; bounds=min_length=0, max_length=32
- `end_price` — Maximum price / 最高价格; kind=text; required=False; default=''; bounds=min_length=0, max_length=32

## Minimal call / 最小调用

`estimate_collection`

```json
{
  "task_query": "搜索淘宝和天猫上的耳机商品",
  "task_code": "taobao_product_search_v1",
  "input": {
    "keyword": "耳机",
    "page": 1,
    "sort": "_sale",
    "tmall": "false"
  }
}
```


## Result and pagination / 结果与分页

- mode=page
- current page: `data.page`; page bound: `data.max_page`; next page: `data.next_page` → `page` (null means stop). / 下一页使用 `data.next_page`，为 null 时结束；总页数未知不代表没有下一页。

Only the fields listed below are part of the stable result contract. /
只有下方列出的字段属于稳定结果契约。

## Result fields / 结果字段

- `meta.request_id` — type=string; Asklear request identifier for tracing. / 用于追踪的 Asklear 请求 ID。
- `meta.api_name` — type=string; Executed collection operation name. / 实际执行的采集操作名称。
- `meta.latency_ms` — type=integer; Collection execution latency in milliseconds. / 采集执行耗时（毫秒）。
- `meta.credits_charged` — type=integer; Asklear user-side Credits settled for this task after completion. / 任务完成后 Asklear 用户侧实际结算的 Credits。
- `data.items` — type=array<object>; Projected public items for this task. / 本任务投影后的公开条目。
- `data.items[].item_id` — type=scalar|null; Product identifier, when available. / 商品 ID（如有）。
- `data.items[].title` — type=scalar|null; Title, when available. / 标题（如有）。
- `data.items[].url` — type=scalar|null; Public URL, when available. / 公开链接（如有）。
- `data.items[].price` — type=string|number|object|null; Price, when available. / 价格（如有）。
- `data.items[].currency` — type=scalar|null; Currency, when available. / 币种（如有）。
- `data.items[].image` — type=scalar|null; Image, when available. / 图片（如有）。
- `data.items[].images` — type=array<string>|null; Product images, when available. / 商品图片（如有）。
- `data.items[].sales` — type=scalar|null; Sales information, when available. / 销量信息（如有）。
- `data.items[].seller_id` — type=scalar|null; Seller identifier, when available. / 卖家 ID（如有）。
- `data.items[].seller_name` — type=scalar|null; Seller name, when available. / 卖家名称（如有）。
- `data.items[].shop_url` — type=scalar|null; Shop URL, when available. / 店铺链接（如有）。
- `data.items[].rating` — type=scalar|null; Rating, when available. / 评分（如有）。
- `data.items[].description` — type=scalar|null; Description, when available. / 描述（如有）。
- `data.items[].extended_data` — type=object; Sanitized business extensions; nested keys vary by product and source. / 安全清洗后的业务扩展字段；内部键随商品和来源变化。
- `data.extended_data` — type=object; Sanitized page-level business extensions, when available. / 安全清洗后的页级业务扩展字段（如有）。
- `data.page` — type=integer; Current page number. / 当前页码。
- `data.max_page` — type=integer|null; Last page hint when supplied. / 如提供则为末页提示。
- `data.next_page` — type=integer|null; Next page, or null when finished. / 下一页页码；结束时为 null。
- `data.total` — type=integer|null; Total result count when supplied. / 如提供则为结果总数。

Use `list_collection_tasks` as the runtime authority, then `describe_collection_task` for one task's full input contract, examples and limits. Collection access is entitlement-gated. /
以 `list_collection_tasks` 返回为运行时准据，再用 `describe_collection_task` 取单个任务的完整入参契约、示例与限制；采集能力受 entitlement 控制。
