# 闲鱼商品搜索

按关键词和排序方式搜索闲鱼二手商品。

ID: task:xianyu_product_search_v1 · Region: cn · Status: available

catalog_version: 5c920c774a55e44d7e8c709143b88a18b8b2afcef91a5d19a8c9ae5d565d9077
updated_at: 2026-10-21T12:06:16.523771+00:00

闲鱼

历史数据以数据集发布版本定义覆盖周期；实时读取反映请求时资料，不保证覆盖全部记录。

Docs: https://docs.asklear.cn/capabilities/task%3Axianyu_product_search_v1

## GET /v1/collections/tasks/xianyu_product_search_v1

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。



执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "xianyu_product_search_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "task_code": "xianyu_product_search_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "keyword": "相机",
      "page": 1,
      "sort": "active"
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "keyword": {
        "maxLength": 200,
        "minLength": 1,
        "type": "string",
        "ui_default": ""
      },
      "page": {
        "default": 1,
        "maximum": 1000,
        "minimum": 1,
        "type": "integer"
      },
      "sort": {
        "default": "active",
        "enum": [
          "active",
          "recent",
          "credit",
          "price_asc",
          "price_desc",
          "price_drop",
          "newest"
        ],
        "type": "string"
      }
    },
    "required": [
      "keyword"
    ],
    "type": "object"
  }
}
```

- input_schema (object): 暂无字段说明
- examples (array<object>): 暂无字段说明
## describe_collection_task

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。



执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "xianyu_product_search_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "task_code": "xianyu_product_search_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "keyword": "相机",
      "page": 1,
      "sort": "active"
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "keyword": {
        "maxLength": 200,
        "minLength": 1,
        "type": "string",
        "ui_default": ""
      },
      "page": {
        "default": 1,
        "maximum": 1000,
        "minimum": 1,
        "type": "integer"
      },
      "sort": {
        "default": "active",
        "enum": [
          "active",
          "recent",
          "credit",
          "price_asc",
          "price_desc",
          "price_drop",
          "newest"
        ],
        "type": "string"
      }
    },
    "required": [
      "keyword"
    ],
    "type": "object"
  }
}
```

- input_schema (object): 暂无字段说明
- examples (array<object>): 暂无字段说明
## asklear collection describe

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。



执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "xianyu_product_search_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "task_code": "xianyu_product_search_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "keyword": "相机",
      "page": 1,
      "sort": "active"
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "keyword": {
        "maxLength": 200,
        "minLength": 1,
        "type": "string",
        "ui_default": ""
      },
      "page": {
        "default": 1,
        "maximum": 1000,
        "minimum": 1,
        "type": "integer"
      },
      "sort": {
        "default": "active",
        "enum": [
          "active",
          "recent",
          "credit",
          "price_asc",
          "price_desc",
          "price_drop",
          "newest"
        ],
        "type": "string"
      }
    },
    "required": [
      "keyword"
    ],
    "type": "object"
  }
}
```

- input_schema (object): 暂无字段说明
- examples (array<object>): 暂无字段说明
## POST /v1/collections/estimate

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
When the keyword has no matches, Xianyu may return a recommendation feed; tpp_failover=true reports a recommendation fallback, false reports no fallback, and null means the signal is missing or unrecognized. This page-level flag does not verify individual item relevance.
data.tpp_failover belongs to the Collection page result. The development-only native operation that retains the xianyu_product_search_v1 alias has a separate canonical item-level schema and source-owned page envelope; neither currently publishes this Collection marker.
Availability depends on the current service release and this account's access.

每个成功任务 48 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "keyword": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sort": {
          "default": "active",
          "enum": [
            "active",
            "recent",
            "credit",
            "price_asc",
            "price_desc",
            "price_drop",
            "newest"
          ],
          "type": "string"
        }
      },
      "required": [
        "keyword"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "xianyu_product_search_v1"
    }
  },
  "required": [
    "task_code",
    "input"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "input": {
    "keyword": "相机",
    "page": 1,
    "sort": "active"
  },
  "task_code": "xianyu_product_search_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "quote_token": "quote-token-from-estimate",
  "upper_bound_credits": 48
}
```

- quote_token (string): 暂无字段说明
- upper_bound_credits (integer): 暂无字段说明
## estimate_collection

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
When the keyword has no matches, Xianyu may return a recommendation feed; tpp_failover=true reports a recommendation fallback, false reports no fallback, and null means the signal is missing or unrecognized. This page-level flag does not verify individual item relevance.
data.tpp_failover belongs to the Collection page result. The development-only native operation that retains the xianyu_product_search_v1 alias has a separate canonical item-level schema and source-owned page envelope; neither currently publishes this Collection marker.
Availability depends on the current service release and this account's access.

每个成功任务 48 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "keyword": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sort": {
          "default": "active",
          "enum": [
            "active",
            "recent",
            "credit",
            "price_asc",
            "price_desc",
            "price_drop",
            "newest"
          ],
          "type": "string"
        }
      },
      "required": [
        "keyword"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "xianyu_product_search_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "input": {
    "keyword": "相机",
    "page": 1,
    "sort": "active"
  },
  "task_code": "xianyu_product_search_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "quote_token": "quote-token-from-estimate",
  "upper_bound_credits": 48
}
```

- quote_token (string): 暂无字段说明
- upper_bound_credits (integer): 暂无字段说明
## asklear collection estimate

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
When the keyword has no matches, Xianyu may return a recommendation feed; tpp_failover=true reports a recommendation fallback, false reports no fallback, and null means the signal is missing or unrecognized. This page-level flag does not verify individual item relevance.
data.tpp_failover belongs to the Collection page result. The development-only native operation that retains the xianyu_product_search_v1 alias has a separate canonical item-level schema and source-owned page envelope; neither currently publishes this Collection marker.
Availability depends on the current service release and this account's access.

每个成功任务 48 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "keyword": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sort": {
          "default": "active",
          "enum": [
            "active",
            "recent",
            "credit",
            "price_asc",
            "price_desc",
            "price_drop",
            "newest"
          ],
          "type": "string"
        }
      },
      "required": [
        "keyword"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "xianyu_product_search_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "input": {
    "keyword": "相机",
    "page": 1,
    "sort": "active"
  },
  "task_code": "xianyu_product_search_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "quote_token": "quote-token-from-estimate",
  "upper_bound_credits": 48
}
```

- quote_token (string): 暂无字段说明
- upper_bound_credits (integer): 暂无字段说明
## POST /v1/collections/jobs

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
When the keyword has no matches, Xianyu may return a recommendation feed; tpp_failover=true reports a recommendation fallback, false reports no fallback, and null means the signal is missing or unrecognized. This page-level flag does not verify individual item relevance.
data.tpp_failover belongs to the Collection page result. The development-only native operation that retains the xianyu_product_search_v1 alias has a separate canonical item-level schema and source-owned page envelope; neither currently publishes this Collection marker.
Availability depends on the current service release and this account's access.

每个成功任务 48 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "keyword": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sort": {
          "default": "active",
          "enum": [
            "active",
            "recent",
            "credit",
            "price_asc",
            "price_desc",
            "price_drop",
            "newest"
          ],
          "type": "string"
        }
      },
      "required": [
        "keyword"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "quote_token": {
      "maxLength": 4096,
      "minLength": 16,
      "type": "string"
    },
    "task_code": {
      "const": "xianyu_product_search_v1"
    }
  },
  "required": [
    "task_code",
    "input",
    "quote_token",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "keyword": "相机",
    "page": 1,
    "sort": "active"
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "xianyu_product_search_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "job_id": "collection-example",
  "status": "queued"
}
```

- job_id (string): 暂无字段说明
- status (string): 暂无字段说明

Follow up: GET /v1/collections/jobs/{job_id}
Read job status and its saved public result.

## start_collection

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
When the keyword has no matches, Xianyu may return a recommendation feed; tpp_failover=true reports a recommendation fallback, false reports no fallback, and null means the signal is missing or unrecognized. This page-level flag does not verify individual item relevance.
data.tpp_failover belongs to the Collection page result. The development-only native operation that retains the xianyu_product_search_v1 alias has a separate canonical item-level schema and source-owned page envelope; neither currently publishes this Collection marker.
Availability depends on the current service release and this account's access.

每个成功任务 48 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "keyword": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sort": {
          "default": "active",
          "enum": [
            "active",
            "recent",
            "credit",
            "price_asc",
            "price_desc",
            "price_drop",
            "newest"
          ],
          "type": "string"
        }
      },
      "required": [
        "keyword"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "quote_token": {
      "maxLength": 4096,
      "minLength": 16,
      "type": "string"
    },
    "task_code": {
      "const": "xianyu_product_search_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input",
    "quote_token",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "keyword": "相机",
    "page": 1,
    "sort": "active"
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "xianyu_product_search_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "job_id": "collection-example",
  "status": "queued"
}
```

- job_id (string): 暂无字段说明
- status (string): 暂无字段说明

Follow up: GET /v1/collections/jobs/{job_id}
Read job status and its saved public result.

## asklear collection start

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
When the keyword has no matches, Xianyu may return a recommendation feed; tpp_failover=true reports a recommendation fallback, false reports no fallback, and null means the signal is missing or unrecognized. This page-level flag does not verify individual item relevance.
data.tpp_failover belongs to the Collection page result. The development-only native operation that retains the xianyu_product_search_v1 alias has a separate canonical item-level schema and source-owned page envelope; neither currently publishes this Collection marker.
Availability depends on the current service release and this account's access.

每个成功任务 48 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "keyword": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sort": {
          "default": "active",
          "enum": [
            "active",
            "recent",
            "credit",
            "price_asc",
            "price_desc",
            "price_drop",
            "newest"
          ],
          "type": "string"
        }
      },
      "required": [
        "keyword"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "quote_token": {
      "maxLength": 4096,
      "minLength": 16,
      "type": "string"
    },
    "task_code": {
      "const": "xianyu_product_search_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input",
    "quote_token",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "keyword": "相机",
    "page": 1,
    "sort": "active"
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "xianyu_product_search_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "job_id": "collection-example",
  "status": "queued"
}
```

- job_id (string): 暂无字段说明
- status (string): 暂无字段说明

Follow up: GET /v1/collections/jobs/{job_id}
Read job status and its saved public result.

## GET /v1/collections/jobs/{job_id}

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
When the keyword has no matches, Xianyu may return a recommendation feed; tpp_failover=true reports a recommendation fallback, false reports no fallback, and null means the signal is missing or unrecognized. This page-level flag does not verify individual item relevance.
data.tpp_failover belongs to the Collection page result. The development-only native operation that retains the xianyu_product_search_v1 alias has a separate canonical item-level schema and source-owned page envelope; neither currently publishes this Collection marker.
Availability depends on the current service release and this account's access.

执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "properties": {
    "job_id": {
      "type": "string"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "job_id"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "job_id": "collection-example"
}
```

### Response schema / 响应契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "description": "The limited metadata safe to store and expose with a collection result.",
      "properties": {
        "api_name": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        },
        "credits_charged": {
          "maximum": 1000000,
          "minimum": 0,
          "type": "integer"
        },
        "latency_ms": {
          "maximum": 120000,
          "minimum": 0,
          "type": "integer"
        },
        "request_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        }
      },
      "required": [
        "request_id",
        "api_name",
        "latency_ms",
        "credits_charged"
      ],
      "type": "object"
    }
  },
  "additionalProperties": true,
  "properties": {
    "result": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "meta": {
          "$ref": "#/$defs/Schema1"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "type": "object"
    }
  },
  "type": "object"
}
```

### Synthetic response / 合成响应

```json
{
  "result": {
    "data": {},
    "meta": {
      "api_name": "https://www.linkedin.com/in/example",
      "credits_charged": 0,
      "latency_ms": 0,
      "request_id": "https://www.linkedin.com/in/example"
    }
  },
  "status": "succeeded"
}
```

- result.meta.request_id (string): 用于追踪的 Asklear 请求 ID。
- result.meta.api_name (string): 实际执行的采集操作名称。
- result.meta.latency_ms (integer): 采集执行耗时（毫秒）。
- result.meta.credits_charged (integer): 任务完成后 Asklear 用户侧实际结算的 Credits。
- result.data.items (array<object>): 本任务投影后的公开条目。
- result.data.items[].item_id (scalar|null): 商品 ID（如有）。
- result.data.items[].title (scalar|null): 标题（如有）。
- result.data.items[].url (scalar|null): 公开链接（如有）。
- result.data.items[].price (string|number|object|null): 价格（如有）。
- result.data.items[].currency (scalar|null): 币种（如有）。
- result.data.items[].image (scalar|null): 图片（如有）。
- result.data.items[].images (array<string>|null): 商品图片（如有）。
- result.data.items[].sales (scalar|null): 销量信息（如有）。
- result.data.items[].seller_id (string|null): 如有则返回卖家 ID，以字符串保留全部位数；已保存的业务扩展可在结果读回时补齐。
- result.data.items[].seller_name (scalar|null): 卖家名称（如有）。
- result.data.items[].shop_url (scalar|null): 店铺链接（如有）。
- result.data.items[].rating (scalar|null): 评分（如有）。
- result.data.items[].description (scalar|null): 描述（如有）。
- result.data.items[].view_count (integer|null): 来源提供的非负整数浏览数。搜索卡片可能不含此字段，可查商品详情；缺失或无效值省略，不推断为 0。
- result.data.items[].want_count (integer|null): 来源提供的非负整数想要数，表示意向互动而非销量。缺失、近似或无效值省略，不推断为 0。
- result.data.items[].extended_data (object): 安全清洗后的业务扩展字段；内部键随商品和来源变化。
- result.data.extended_data (object): 安全清洗后的页级业务扩展字段（如有）。
- result.data.page (integer): 当前页码。
- result.data.max_page (integer|null): 如提供则为末页提示。
- result.data.next_page (integer|null): 下一页页码；结束时为 null。
- result.data.total (integer|null): 如提供则为结果总数。
- result.data.tpp_failover (boolean|null): Collection 页级标记：闲鱼明确报告推荐兜底时为 true，明确报告未兜底时为 false；信号缺失或不可识别（含未保存标记的历史结果）时为 null。该标记不验证单条商品相关性。使用同一旧别名的开发态 native source 采用独立的 canonical 单条商品 schema 和页级 envelope，当前两者均不发布此 Collection 标记。
## get_collection_job

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
When the keyword has no matches, Xianyu may return a recommendation feed; tpp_failover=true reports a recommendation fallback, false reports no fallback, and null means the signal is missing or unrecognized. This page-level flag does not verify individual item relevance.
data.tpp_failover belongs to the Collection page result. The development-only native operation that retains the xianyu_product_search_v1 alias has a separate canonical item-level schema and source-owned page envelope; neither currently publishes this Collection marker.
Availability depends on the current service release and this account's access.

执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "properties": {
    "job_id": {
      "type": "string"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "job_id"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "job_id": "collection-example"
}
```

### Response schema / 响应契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "description": "The limited metadata safe to store and expose with a collection result.",
      "properties": {
        "api_name": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        },
        "credits_charged": {
          "maximum": 1000000,
          "minimum": 0,
          "type": "integer"
        },
        "latency_ms": {
          "maximum": 120000,
          "minimum": 0,
          "type": "integer"
        },
        "request_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        }
      },
      "required": [
        "request_id",
        "api_name",
        "latency_ms",
        "credits_charged"
      ],
      "type": "object"
    }
  },
  "additionalProperties": true,
  "properties": {
    "result": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "meta": {
          "$ref": "#/$defs/Schema1"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "type": "object"
    }
  },
  "type": "object"
}
```

### Synthetic response / 合成响应

```json
{
  "result": {
    "data": {},
    "meta": {
      "api_name": "https://www.linkedin.com/in/example",
      "credits_charged": 0,
      "latency_ms": 0,
      "request_id": "https://www.linkedin.com/in/example"
    }
  },
  "status": "succeeded"
}
```

- result.meta.request_id (string): 用于追踪的 Asklear 请求 ID。
- result.meta.api_name (string): 实际执行的采集操作名称。
- result.meta.latency_ms (integer): 采集执行耗时（毫秒）。
- result.meta.credits_charged (integer): 任务完成后 Asklear 用户侧实际结算的 Credits。
- result.data.items (array<object>): 本任务投影后的公开条目。
- result.data.items[].item_id (scalar|null): 商品 ID（如有）。
- result.data.items[].title (scalar|null): 标题（如有）。
- result.data.items[].url (scalar|null): 公开链接（如有）。
- result.data.items[].price (string|number|object|null): 价格（如有）。
- result.data.items[].currency (scalar|null): 币种（如有）。
- result.data.items[].image (scalar|null): 图片（如有）。
- result.data.items[].images (array<string>|null): 商品图片（如有）。
- result.data.items[].sales (scalar|null): 销量信息（如有）。
- result.data.items[].seller_id (string|null): 如有则返回卖家 ID，以字符串保留全部位数；已保存的业务扩展可在结果读回时补齐。
- result.data.items[].seller_name (scalar|null): 卖家名称（如有）。
- result.data.items[].shop_url (scalar|null): 店铺链接（如有）。
- result.data.items[].rating (scalar|null): 评分（如有）。
- result.data.items[].description (scalar|null): 描述（如有）。
- result.data.items[].view_count (integer|null): 来源提供的非负整数浏览数。搜索卡片可能不含此字段，可查商品详情；缺失或无效值省略，不推断为 0。
- result.data.items[].want_count (integer|null): 来源提供的非负整数想要数，表示意向互动而非销量。缺失、近似或无效值省略，不推断为 0。
- result.data.items[].extended_data (object): 安全清洗后的业务扩展字段；内部键随商品和来源变化。
- result.data.extended_data (object): 安全清洗后的页级业务扩展字段（如有）。
- result.data.page (integer): 当前页码。
- result.data.max_page (integer|null): 如提供则为末页提示。
- result.data.next_page (integer|null): 下一页页码；结束时为 null。
- result.data.total (integer|null): 如提供则为结果总数。
- result.data.tpp_failover (boolean|null): Collection 页级标记：闲鱼明确报告推荐兜底时为 true，明确报告未兜底时为 false；信号缺失或不可识别（含未保存标记的历史结果）时为 null。该标记不验证单条商品相关性。使用同一旧别名的开发态 native source 采用独立的 canonical 单条商品 schema 和页级 envelope，当前两者均不发布此 Collection 标记。
## asklear collection get-job

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
When the keyword has no matches, Xianyu may return a recommendation feed; tpp_failover=true reports a recommendation fallback, false reports no fallback, and null means the signal is missing or unrecognized. This page-level flag does not verify individual item relevance.
data.tpp_failover belongs to the Collection page result. The development-only native operation that retains the xianyu_product_search_v1 alias has a separate canonical item-level schema and source-owned page envelope; neither currently publishes this Collection marker.
Availability depends on the current service release and this account's access.

执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "properties": {
    "job_id": {
      "type": "string"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "job_id"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "job_id": "collection-example"
}
```

### Response schema / 响应契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "description": "The limited metadata safe to store and expose with a collection result.",
      "properties": {
        "api_name": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        },
        "credits_charged": {
          "maximum": 1000000,
          "minimum": 0,
          "type": "integer"
        },
        "latency_ms": {
          "maximum": 120000,
          "minimum": 0,
          "type": "integer"
        },
        "request_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        }
      },
      "required": [
        "request_id",
        "api_name",
        "latency_ms",
        "credits_charged"
      ],
      "type": "object"
    }
  },
  "additionalProperties": true,
  "properties": {
    "result": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "meta": {
          "$ref": "#/$defs/Schema1"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "type": "object"
    }
  },
  "type": "object"
}
```

### Synthetic response / 合成响应

```json
{
  "result": {
    "data": {},
    "meta": {
      "api_name": "https://www.linkedin.com/in/example",
      "credits_charged": 0,
      "latency_ms": 0,
      "request_id": "https://www.linkedin.com/in/example"
    }
  },
  "status": "succeeded"
}
```

- result.meta.request_id (string): 用于追踪的 Asklear 请求 ID。
- result.meta.api_name (string): 实际执行的采集操作名称。
- result.meta.latency_ms (integer): 采集执行耗时（毫秒）。
- result.meta.credits_charged (integer): 任务完成后 Asklear 用户侧实际结算的 Credits。
- result.data.items (array<object>): 本任务投影后的公开条目。
- result.data.items[].item_id (scalar|null): 商品 ID（如有）。
- result.data.items[].title (scalar|null): 标题（如有）。
- result.data.items[].url (scalar|null): 公开链接（如有）。
- result.data.items[].price (string|number|object|null): 价格（如有）。
- result.data.items[].currency (scalar|null): 币种（如有）。
- result.data.items[].image (scalar|null): 图片（如有）。
- result.data.items[].images (array<string>|null): 商品图片（如有）。
- result.data.items[].sales (scalar|null): 销量信息（如有）。
- result.data.items[].seller_id (string|null): 如有则返回卖家 ID，以字符串保留全部位数；已保存的业务扩展可在结果读回时补齐。
- result.data.items[].seller_name (scalar|null): 卖家名称（如有）。
- result.data.items[].shop_url (scalar|null): 店铺链接（如有）。
- result.data.items[].rating (scalar|null): 评分（如有）。
- result.data.items[].description (scalar|null): 描述（如有）。
- result.data.items[].view_count (integer|null): 来源提供的非负整数浏览数。搜索卡片可能不含此字段，可查商品详情；缺失或无效值省略，不推断为 0。
- result.data.items[].want_count (integer|null): 来源提供的非负整数想要数，表示意向互动而非销量。缺失、近似或无效值省略，不推断为 0。
- result.data.items[].extended_data (object): 安全清洗后的业务扩展字段；内部键随商品和来源变化。
- result.data.extended_data (object): 安全清洗后的页级业务扩展字段（如有）。
- result.data.page (integer): 当前页码。
- result.data.max_page (integer|null): 如提供则为末页提示。
- result.data.next_page (integer|null): 下一页页码；结束时为 null。
- result.data.total (integer|null): 如提供则为结果总数。
- result.data.tpp_failover (boolean|null): Collection 页级标记：闲鱼明确报告推荐兜底时为 true，明确报告未兜底时为 false；信号缺失或不可识别（含未保存标记的历史结果）时为 null。该标记不验证单条商品相关性。使用同一旧别名的开发态 native source 采用独立的 canonical 单条商品 schema 和页级 envelope，当前两者均不发布此 Collection 标记。
