Skip to content

获取 Amazon ASIN HTML 结果

GET /v3/merchant/amazon/asin/task_get/html/{id}

接口说明

用于根据任务 id 获取 Amazon ASIN 任务的 HTML 抓取结果。

  • 请求方式:GET
  • 接口地址:https://api.seermartech.cn/v3/merchant/amazon/asin/task_get/html/$id

该接口用于查询已创建任务的结果。任务发布后,通常应通过已完成任务列表接口获取可拉取的任务,再根据任务 id 获取。

计费说明

本接口本身不针对结果拉取重复计费,账户在创建任务时扣费。任务结果在生成后的 7 天可重复获取。

扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

路径参数

字段类型说明
idstring任务唯一标识符,UUID 格式。该 id 可在任务完成后的 7 天用于随时获取结果。

返回结构

接口返回 JSON 数据,顶层 tasks 数组,每个任务对象中对应结果。

顶层字段

字段类型说明
versionstring当前 API 版本。
status_codeinteger通用状态码。完整列表参考 /v3/appendix/errors。建议对异常状态进行完整处理。
status_messagestring通用状态说明。完整列表参考 /v3/appendix/errors
timestring接口执行时间,单位秒。
costfloat本次请求总成本,单位。
tasks_countintegertasks 数组中的任务数量。
tasks_errorintegertasks 数组中返回错误的任务数量。
tasksarray任务结果数组。

tasks[] 字段

字段类型说明
idstring任务唯一标识符,UUID 格式。
status_codeinteger任务级状态码,范围通常为 10000-60000。完整列表参考 /v3/appendix/errors
status_messagestring任务级状态说明。
timestring任务执行时间,单位秒。
costfloat当前任务成本,单位。
result_countintegerresult 数组中的结果数量。
patharray当前请求的 URL 路径信息。
dataobject与创建任务时传参数一致的数据对象。
resultarray任务结果数组。

tasks[].result[] 字段

字段类型说明
product_idstringPOST 提交时传的 ASIN。
typestringPOST 提交时指定的搜索引擎类型。
se_domainstringPOST 提交时指定的搜索引擎域名。
location_codeintegerPOST 提交时指定的位置编码。
language_codestringPOST 提交时指定的语言编码。
datetimestring结果获取时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
items_countintegeritems 数组中的结果数。
itemsarrayHTML 页面及数据。

tasks[].result[].items[] 字段

字段类型说明
pageinteger返回的 HTML 页面序号。
datestringHTML 页面抓取时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
htmlstring页面 HTML。

使用说明

推荐调用流程如下:

  1. 调用 /v3/merchant/amazon/asin/tasks_ready 获取已完成任务;
  2. 从返回结果中取得可用任务 idendpoint_html
  3. 再调用 /v3/merchant/amazon/asin/task_get/html/$id 拉取对应 HTML 结果。

请求示例

cURL

bash
id="04171455-0696-0192-0000-4c69cc29b945"

curl --location --request GET "https://api.seermartech.cn/v3/merchant/amazon/asin/task_get/html/${id}" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"

Python

python
import requests

task_id = "02201115-0001-0066-0000-c06c8f23fce5"
url = f"https://api.seermartech.cn/v3/merchant/amazon/asin/task_get/html/{task_id}"

headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.status_code)
print(response.text)

TypeScript

typescript
import axios from "axios";

const taskId = "02201115-0001-0066-0000-c06c8f23fce5";

axios({
 method: "get",
 url: `https://api.seermartech.cn/v3/merchant/amazon/asin/task_get/html/${taskId}`,
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
})
 .then((response) => {
 // 输出结果数据
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error.response?.data || error.message);
 });

结合 tasks_ready 获取结果示例

Python

python
import requests

headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

# 1)获取已完成任务列表
ready_url = "https://api.seermartech.cn/v3/merchant/amazon/asin/tasks_ready"
ready_resp = requests.get(ready_url, headers=headers)
ready_data = ready_resp.json

results = []

if ready_data.get("status_code") == 20000:
 for task_group in ready_data.get("tasks", []):
 for task_item in task_group.get("result", []) or []:
 endpoint_html = task_item.get("endpoint_html")
 task_id = task_item.get("id")

 # 2)优使用 endpoint_html 获取结果
 if endpoint_html:
 result_resp = requests.get(
 f"https://api.seermartech.cn{endpoint_html}",
 headers=headers
 )
 results.append(result_resp.json)

 # 3)或使用任务 id 直接获取
 # if task_id:
 # result_resp = requests.get(
 # f"https://api.seermartech.cn/v3/merchant/amazon/asin/task_get/html/{task_id}",
 # headers=headers
 # )
 # results.append(result_resp.json)

print(results)

TypeScript

typescript
import axios from "axios";

const headers = {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
};

async function fetchReadyTasksAndResults {
 const readyResponse = await axios.get(
 "https://api.seermartech.cn/v3/merchant/amazon/asin/tasks_ready",
 { headers }
 );

 const readyData = readyResponse.data;
 const results: any[] = [];

 if (readyData.status_code === 20000) {
 for (const taskGroup of readyData.tasks || []) {
 for (const task of taskGroup.result || []) {
 if (task.endpoint_html) {
 const resultResponse = await axios.get(
 `https://api.seermartech.cn${task.endpoint_html}`,
 { headers }
 );
 results.push(resultResponse.data);
 }

 // 也可以改为通过 id 获取
 // if (task.id) {
 // const resultResponse = await axios.get(
 // `https://api.seermartech.cn/v3/merchant/amazon/asin/task_get/html/${task.id}`,
 // { headers }
 // );
 // results.push(resultResponse.data);
 // }
 }
 }
 } else {
 console.error(`错误:${readyData.status_code} - ${readyData.status_message}`);
 }

 console.log(results);
}

fetchReadyTasksAndResults.catch(console.error);

响应示例

json
{
 "version": "0.1.20200416",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.2244 sec.",
 "cost": 0,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "id": "04171455-0696-0192-0000-4c69cc29b945",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.0218 sec.",
 "cost": 0,
 "result_count": 1,
 "path": [
 "v3",
 "merchant",
 "amazon",
 "asin",
 "task_get",
 "html",
 "04171455-0696-0192-0000-4c69cc29b945"
 ],
 "data": {
 "se_type": "shopping",
 "api": "merchant",
 "function": "asin",
 "se": "amazon",
 "language_code": "en_US",
 "location_code": 2840,
 "asin": "B0756FCPPN",
 "priority": 2,
 "device": "desktop",
 "os": "windows"
 },
 "result": [
 {
 "product_id": "B0756FCPPN",
 "type": "shopping",
 "se_domain": "amazon.com",
 "location_code": 2840,
 "language_code": "en_US",
 "datetime": "2019-11-15 12:57:46 +00:00",
 "items_count": 1,
 "items": [
 {
 "page": 1,
 "date": "2019-11-15 12:57:46 +00:00",
 "html": "<html>...</html>"
 }
 ]
 }
 ]
 }
 ]
}

状态码与错误处理

  • 顶层 status_code 表示本次 API 请求是否成功;
  • tasks[].status_code 表示任务是否成功;
  • 建议同时校验:
  • HTTP 状态码
  • 顶层 status_code
  • 任务级 tasks[].status_code
  • result 是否为空

完整错误码与信息可参考 /v3/appendix/errors

常见处理建议:

场景建议
status_code20000视为请求级失败,记录日志并重试或告警。
tasks[].status_code >= 40000视为任务级错误,检查任务参数或任务状态。
result 为空任务可能尚未完成,建议通过 /v3/merchant/amazon/asin/tasks_ready 确认可拉取状态。
过 7 天未拉取结果可能已过期,需重新创建任务。

结果解读

该接口返回的是目标 ASIN 页面原始 HTML,可用于:

  • 自定义解析商品标题、价格、评分、评论数、库存状态等字段;
  • 对比不同国家站点、语言、设备环境下的页面差异;
  • 存档页面快,用于异常排查或竞品监测。

需要注意:

  • html 为原始页面,体积可能较大;
  • 不同地区、设备、语言设置下页面结构可能不同;
  • 建议在本地建立解析与容错机制,依赖固定 DOM 结构。

实用场景

  • 监控商品页变动:定期抓取指定 ASIN 的原始 HTML,及时发现标题、价格、评分或页面结构变化。
  • 解析竞品页:提取竞品商品页中的核心展示信息,为选品分析、价格监控和优化提供依据。
  • 对比多站点展示差异:获取不同 location_codelanguage_code 下的页面 HTML,分析本地化呈现策略。
  • 追踪页面异常:在商品转化下滑或流量异常时,回溯历史 HTML 快,定位页面缺失、信息变更或渲染异常。
  • 构建自定义字段抽取器:基于返回的 html 搭建解析规则,沉淀适合自身业务的商品页数据资产。

统一入口:官网 · LLM API · 控制台