🎯 一款可定制、具备反检测功能的云浏览器,由自主研发的 Chromium驱动,专为网页爬虫AI 代理设计。👉立即试用
返回博客

亚马逊ASIN查询:使用Scraper API将ASIN转化为产品记录

Isabella Garcia
Isabella Garcia

Web Data Collection Specialist

29-Jun-2026

TL;DR:

  • ASIN是亚马逊产品的主键,而亚马逊抓取API将其转换为完整的产品记录。 传递包含ASIN的产品URL,scraper.amazon演员返回标题、品牌、定价、可用性、评分、卖家和类别字段,结果为结构化的JSON。
  • 查找通过一个经过身份验证的端点运行: POST https://api.scrapeless.com/api/v1/scraper/request,带有x-api-token头部,actorscraper.amazon,并且input对象包含urltypeproduct
  • 响应在一个有效载荷中分离原始数据和解析数据。 每次调用返回三个顶级键——html(渲染的页面),metadata(请求回声),和result(解析的产品对象)——因此您可以读取干净的字段或回退到HTML。
  • 国家定位是一个一流的请求字段。 一个proxy对象带有countryUS,将查找通过美国居民出口路由,从而保持价格、可用性和购买框与美国购物者看到的一致。
  • 同一个演员涵盖的不仅仅是产品查找。type切换为keywords使该演员转变为搜索结果读取器(页面、关键字和一个result数组的列表),因此ASIN增强和发现共享一个集成。
  • 免费开始。 新的Scrapeless账户包含免费的抓取API积分——请在app.scrapeless.com注册。

介绍:将ASIN转化为结构化产品记录

每个亚马逊产品都有一个十字符的ASIN,它是唯一一个在产品的标题、价格和卖家变化时保持不变的标识符。定价团队、目录构建者和AI代理都以此为基础。困难在于反向操作:从ASIN回到干净的当前产品字段。

手动抓取产品页面意味着渲染一个JavaScript重的页面,克服亚马逊对数据中心流量施加的访问挑战,然后对在布局和区域之间改变的标记编写选择器。选择器会失效,价格因地区而本地化到错误的国家,您解析的购买框卖家与您想要的区域不符。

本指南将带您了解如何在Scrapeless亚马逊抓取API上进行ASIN查找——广义抓取API线中的管理scraper.amazon演员。您发送一个产品URL,该演员在服务器端渲染并解析页面,然后您会获得一个结构化的产品对象。本文将涵盖端点及其参数、身份验证请求、真实响应架构,以及一个消费解析字段的Python读取器。


亚马逊ASIN查找API的功能

亚马逊抓取API接收一个包含ASIN的产品URL,并返回该列表的解析产品记录。您提供规范的产品路径——https://www.amazon.com/dp/<ASIN>——然后scraper.amazon演员在服务器上处理渲染、防检测和字段提取,然后返回JSON

  • 将ASIN解析为产品字段。 单个type: product调用返回该URL中ASIN的标题、品牌、价格、可用性、评分、评论数、卖家和类别路径。
  • 读取解析对象和原始页面。 result对象包含结构化字段;html键包含渲染页面的字节,用于解析器未提取的任何内容。
  • 固定店面区域。 proxy.country值通过该国的居民出口路由查找,因此价格和可用性与该地区相匹配,而不是随机出口。
  • 重用该集成进行发现。 同一个演员接受带有type: keywords的搜索URL,并返回分页搜索结果,因此目录发现和每个ASIN的增强通过同一个端点进行。
  • 跳过浏览器的准备工作。 不需要本地无头浏览器、不需要代理池,也不需要选择器维护——您可以从解析的架构中读取字段,而不必维护其中的任何内容。

端点和参数

亚马逊ASIN查找通过抓取API请求端点进行一次同步调用。

Copy
POST https://api.scrapeless.com/api/v1/scraper/request

请求体包含三个顶级字段:

字段 类型 必需 描述
actor 字符串 抓取服务标识符——亚马逊使用scraper.amazon
input 对象 任务参数。对于ASIN查找:url/dp/<ASIN>产品URL)和typeproduct)。
proxy 对象 出口配置。country(例如US)固定店面区域。

input内,ASIN查找使用两个字段:

input字段 示例 描述
url https://www.amazon.com/dp/B07ZPKBL9V 规范的产品URL。ASIN位于/dp/路径段中。
type product 选择产品详细解析器。将其设置为 keywords 以读取搜索结果 URL。

身份验证是一个单一的头部 x-api-token,包含您的 Scrapeless API 密钥。产品查询会在线返回 —— JSON 主体将在同一 HTTP 响应 中返回,因此对于 scraper.amazon 不需要结果轮询步骤。

在免费计划中获取您的 API 密钥: app.scrapeless.com


身份验证的 ASIN 查询

此请求查找一个 ASIN,并将出站限制在美国商店。x-api-token 头部携带您的密钥;请将其保存在环境变量中,而不是命令中。

bash Copy
# 查找一个 ASIN (B07ZPKBL9V) 并将其锁定在美国商店。
curl -s -X POST "https://api.scrapeless.com/api/v1/scraper/request" \
  -H "Content-Type: application/json" \
  -H "x-api-token: ${SCRAPELESS_API_KEY}" \
  -d '{
    "actor": "scraper.amazon",
    "input": {
      "url": "https://www.amazon.com/dp/B07ZPKBL9V",
      "type": "product"
    },
    "proxy": { "country": "US" }
  }'

响应将作为一个 JSON 对象到达,包含 htmlmetadataresult 键。metadata 对象回显请求 —— 您请求的 type 和指向所存渲染页面的 rawUrl

json Copy
{
  "rawUrl": "https://api.scrapeless.com/storage/scrapeless.scraper.amazon/<hash>.html",
  "type": "product"
}

响应架构

解析的 结构化产品数据 位于 result 下。以下是针对 ASIN B07ZPKBL9V 返回的形状,字段名称与演员发出的完全相同,值从实时查询中捕获。

json Copy
{
  // 架构准确反映 scraper.amazon 产品解析器发出的内容。
  // 值为 ASIN B07ZPKBL9V 的真实捕获;特性数组为示例。
  "result": {
    "asin": "B07ZPKBL9V",
    "input_asin": "B07ZPKBL9V",
    "parent_asin": "B0GR1S2JM2",
    "title": "Apple iPhone 11, 64GB, PRODUCT RED - 解锁版 (翻新)",
    "brand": "Apple",
    "manufacturer": "Apple Computer",
    "final_price": "$174.00",
    "initial_price": "$174.64",
    "discount": "-11%",
    "availability": "库存仅剩4个 - 请尽快下单。",
    "is_available": true,
    "reviews_count": 60289,
    "seller_name": "WirelessSource",
    "categories": ["手机及配件", "手机"],
    "domain": "https://www.amazon.com",
    "url": "https://www.amazon.com/dp/B07ZPKBL9V",
    "images_count": 1,
    "features": ["...", "...", "..."]
  }
}

产品对象包含的字段超过上述字段 —— 完整的 result 还暴露 buybox_sellernumber_of_sellersproduct_dimensionsitem_weightdate_first_availablemodel_numbervariationsproduct_detailsprices_breakdown 和一个嵌套的 images 数组等。对于某些列表不适用的字段会返回空而不是缺失,因此请根据存在性而非缺失性编码。

有几个字段需要特别关注:

  • asininput_asinparent_asin input_asin 是您发送的 ASIN;asin 是页面解析的列表;parent_asin 是该列表所属的变体组。对于子变体,这三者都可能不同。
  • 价格是带有货币符号的字符串。 final_price"$174.00",不是数字 —— 如果需要进行算术运算,请自行解析数字值,并读取 prices_breakdown 以获取组件价格。
  • is_available 是布尔值用于分支。 availability 是人类可读的字符串("库存仅剩4个");is_available 是机器标志。
  • reviews_count 是整数。 它在查询时计算该列表的评分,并在调用之间变化。

处理结构化输出

在代码中,查询是一个 POST 请求和对 result 的读取。以下 Python 读取器提取大多数目录需要的字段并打印平面记录。

python Copy
import os
import requests

API_URL = "https://api.scrapeless.com/api/v1/scraper/request"


def lookup_asin(asin: str, country: str = "US") -> dict:
    """解析一个 Amazon ASIN 以获取其解析的产品记录。"""
    payload = {
        "actor": "scraper.amazon",
        "input": {
            "url": f"https://www.amazon.com/dp/{asin}",
            "type": "product",
        },
        "proxy": {"country": country},
    }
    headers = {
        "Content-Type": "application/json",
        "x-api-token": os.environ["SCRAPELESS_API_KEY"],
    }
    response = requests.post(API_URL, json=payload, headers=headers, timeout=120)
    response.raise_for_status()
    return response.json()["result"]


if __name__ == "__main__":
    product = lookup_asin("B07ZPKBL9V")
    record = {
        "asin": product.get("asin"),
        "title": product.get("title"),

"品牌": product.get("brand"),
"价格": product.get("final_price"),
"库存": product.get("is_available"),
"评分数量": product.get("reviews_count"),
"卖家": product.get("seller_name"),
"类别": " > ".join(product.get("categories") or []),
}
print(record)

Copy
阅读者通过 `result` 处理所有内容,并通过 `.get()` 将缺失字段视为空值,这与行为者返回不适用字段为空的方式相符。为了丰富 ASIN 列表,遍历它们并保持适度的并发——几个工作者同时处理就足够了,这样可以保持每个商店的流出干净。

对于目录发现而不是每个 ASIN 的丰富,交换 `type` 为 `keywords` 并传递搜索 URL (`https://www.amazon.com/s?k=<query>`); 然后同样的调用返回一个包含 `keyword`、`current_page`、`total_page` 和一个 `result` 列表的对象,你可以将其反馈到上面的 ASIN 查找中。相同的模式扩展到竞争定价或目录管道的其余部分——将其与 [最佳亚马逊抓取工具指南](https://www.scrapeless.com/zh/blog/best-amazon-scrapers-2026) 中的排名概述配对,查看管理行为者与其他选择的适应性,并在扩大调用量之前查看 [抓取 API 定价](https://www.scrapeless.com/zh/pricing?utm_source=website&utm_medium=blog&utm_campaign=scraperapi&utm_term=amazon-asin-lookup-api)。

---

## 结论:构建一个 ASIN 键值的产品供给

一个亚马逊 ASIN 查找可简化为四个决策:发送 `/dp/<ASIN>` URL,将 `type` 设置为 `product`,将 `proxy.country` 固定到你想要的商店,并从 `result` 中读取解析字段。管理的 [亚马逊抓取 API](https://www.scrapeless.com/zh/product/scraping-api?utm_source=website&utm_medium=blog&utm_campaign=scraperapi&utm_term=amazon-asin-lookup-api) 处理呈现、反检测和解析,因此你可以针对解析的模式进行编码,而不是一个在下一个设计中会破坏的选择集。

在这里,相同的 `scraper.amazon` 行为者为更广泛的管道提供信息:`type: keywords` 发现 ASIN,`type: product` 丰富每个 ASIN,设置国别流出保持每个地区的价格和可用性准确。完整的请求和响应参考可在 [Scrapeless 文档](https://docs.scrapeless.com?utm_source=website&utm_medium=blog&utm_campaign=scraperapi&utm_term=amazon-asin-lookup-api) 中找到。将字符串价格视为字符串,基于 `is_available` 分支,并将空字段视为可为空而非错误。

---

## 准备好构建您的 AI 驱动的数据管道了吗?

加入我们的社区,领取免费计划,与构建亚马逊产品数据管道的开发者联系:[Discord](https://discord.gg/VU2vtbq7Q2) · [Telegram](https://t.me/scrapeless)。

在 [app.scrapeless.com](https://app.scrapeless.com/passport/login/?utm_source=website&utm_medium=blog&utm_campaign=scraperapi&utm_term=amazon-asin-lookup-api) 注册以获得免费的抓取 API 额度,并根据你的目录需求调整上面的查询 ASIN、商店和地区。

---

## 常见问题

**问:什么是 ASIN,在哪里可以找到它?**
ASIN 是亚马逊产品的十字符标准识别号。它出现在产品 URL 的 `/dp/` 之后(例如,在 `amazon.com/dp/B07ZPKBL9V` 中的 `B07ZPKBL9V`)以及列表的 "产品信息" 部分。亚马逊抓取 API 直接从你传递的 `url` 中读取 ASIN。

**问:我应该发送 ASIN 还是完整 URL?**
你需要发送包含 ASIN 的完整产品 URL (`/dp/` 部分),并将 `input.type` 设置为 `product`。该行为者会从路径中解析出 ASIN 并将其作为 `input_asin`(你发送的内容)和 `asin`(页面解析出的内容)返还给你。

**问:通过 ASIN 抓取亚马逊产品数据是否合法?**
公共产品列表数据通常是可以访问的,但合法性取决于你的管辖区域、你收集的数据和亚马逊的服务条款。请审核适用条款,并为你的具体用例咨询法律顾问。Scrapeless 仅访问公共可用数据。

**问:我需要固定代理国家吗?**
为了保持价格和可用性的一致性,是的。亚马逊根据地区本地化价格、买家框和库存,所以将 `proxy.country` 设置为你想要的商店(例如,`US` 对应于 `amazon.com`)。否则,流出区域可能会有所不同,从而导致你读取的价格偏差。

**问:为什么响应中有些字段为空?**
产品解析器在其模式中返回每个字段,对于不适用于某个列表的字段,则将其留空而不是删除它们。更新的手机不会带有 `ingredients`;书籍不会带有 `item_weight`。在你的代码中将空字段视为可为空,并根据其存在与否进行分支。

**问:我可以一次查找多个 ASIN 吗?**
该端点每个请求解析一个 ASIN,因此遍历你的 ASIN 列表并逐个调用。保持适度的并发——同时几个工作者——以保持每个商店的流出干净,同时你充实一个目录。

**问:我如何找到可以查找的 ASIN?**
使用相同的演员,`input.type` 设置为 `keywords` 和搜索 URL(`amazon.com/s?k=<query>`)。它返回一个分页的 `result` 数组,其中包含带有 ASIN 的商品列表,然后您将这些 ASIN 输入到 `type: product` 查找中,以获取完整记录。

在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。

最受欢迎的文章

目录