Skip to content

Product Object

product 对象是 Keepa 最核心的返回对象,包含一个 ASIN 的全部基础信息、价格历史、销量排名、变种、Buy Box、A+ 内容等。/api/keepa/product/api/keepa/productsearch/api/keepa/productfinder 返回的都是它(或它的列表)。

对应 Keepa 官方:Product Object

重要:先看 productType

任何对该对象的解析逻辑都应该首先判断 productType,因为它决定了哪些字段会被填充:

名称可用数据
0STANDARD全部数据可用
1DOWNLOADABLE无价格 / 评分 / offers,更新频率较低
2EBOOK同上
3INACCESSIBLE无价格 / 评分 / offers;销量排名和 offer 计数有但更新慢,部分字段缺失
4INVALIDASIN 失效或非法导致暂时无数据,可能稍后恢复
5VARIATION_PARENT是变体父 ASIN,请看 variations 字段

detailLevel 与字段可见性

Keepamore 在透传 Keepa 原始 product 之前,按 detailLevel 做了一次裁剪(详见 /api/keepa/product 文档):

detailLevel删除的字段备注
summary仅保留下表里 ✅ summary 列标记的字段给 LLM 用,最省 token
lite(默认)csvvariationCSVsalesRankscouponHistorymonthlySoldHistoryparentAsinHistorysalesRankReferenceHistoryreviews、所有以 History 结尾的数组;variations 超过 5 个时只留前 5 个业务/选品场景的最佳平衡
full不裁剪,与 Keepa 官方一致离线分析或下游再处理时使用

下表的 summary 列:✅ = summary 也保留;其余 detailLevel=lite / full 默认都返回,除非另注 (lite 删)

字段:基础元信息

字段类型summary说明
asinstringASIN,10 位字母数字。例:B00M0QVG3W
domainIdint站点 ID。映射见 domain 列表
productTypeint产品类型,见上表。
titlestring标题,罕见情况下可能含未转义 HTML,前端展示请清洗。
brandstring品牌,null = 不可用。
manufacturerstring制造商。
partNumberstringMPN / 制造商型号。
modelstring型号。
bindingstring装订 / 形态。书籍是装订类型,其他品类一般是大类目名。
colorstring颜色。
sizestring尺寸。
typestringproductType 字符串(与上方数字 productType 不同),如 VIDEO_GAME_CONTROLLER
urlSlugstring详情页 URL slug。
parentAsinstring父 ASIN(变体场景)。无变体则 null
parentAsinHistory (lite 删)string[]父 ASIN 变更历史 [keepaTime, prevParent, ...]。从 2024-03-18 开始记录。
trackingSinceint我们开始跟踪该 ASIN 的时间(KeepaTime)。
listedSinceintAmazon 上首次上架时间(KeepaTime);不可用时为 0-1
lastUpdateint最近一次产品信息更新时间(KeepaTime)。
lastPriceChangeint最近一次价格变化时间(KeepaTime)。
lastRatingUpdateint最近一次评分 / 评论数更新时间(KeepaTime)。
lastEbayUpdateint最近一次 eBay 价格更新时间;负数 = 未匹配到 eBay 商品。
lastStockUpdateint最近一次库存更新时间,仅在请求带 stock 参数时有值。

字段:分类与图片

字段类型summary说明
rootCategoryint根类目节点 ID;0 = 未知,9223372036854775807(long max)= 占位符 ?(产品未挂在任何有效类目下)。
categorieslong[]该 ASIN 所在的全部类目节点 ID。可为空。
categoryTreeobject[]类目树,每个对象 { catId, name },按层级顺序。
salesRankReferencelong主销量排名所在的类目 ID;-1 = 不可用,-2 = 在 launchpad。
salesRankReferenceHistory (lite 删)long[]主销量类目历史 [keepaTime, catId, ...]
salesRanks (lite 删)object各类目销量排名历史,键 = 类目 ID,值 = [keepaTime, salesRank, ...]
imagesobject[]图片 metadata 数组,每个含 l / lH / lW(大图)和 m / mH / mW(中图)。完整 URL:https://m.media-amazon.com/images/I/<l>summary 下最多保留 6 张。

字段:标识符

字段类型summary说明
eanListstring[]EAN 列表,第 0 项为主 EAN。
upcListstring[]UPC 列表,第 0 项为主 UPC。
gtinListstring[]GTIN 列表,第 0 项为主 GTIN。

字段:品牌商店与展示分组

字段类型summary说明
brandStoreNamestring品牌店铺名(数字商品 / 视频租赁 / 商品包 / Fresh / Pantry 一律不可用)。
brandStoreUrlstring品牌店铺 URL 路径,需自行拼接 Amazon 站点域名。
brandStoreUrlNamestring品牌店铺 URL 中的 slug。
websiteDisplayGroupstring决定销量排名计算与展示方式的产品分组(变体场景重要)。
websiteDisplayGroupNamestring同上分组的可读名。
salesRankDisplayGroupstring主销量排名所基于的分组。

字段:商品属性(属性流字段)

这一组都是 Amazon listing 的属性流字段,部分品类才有,多数取值为字符串。summary 默认不带(除非另注 ✅)。

字段类型summary说明
scentstring香味,例:Lavender
shortDescriptionstring简短描述。
activeIngredientsstring活性成分。
specialIngredientsstring特殊成分。
ingredientsstring全成分表。
itemFormstring形态 / 物理状态,例:Liquid
itemTypeKeywordstring商品类型关键词,例:body-lotions
recommendedUsesForProductstring推荐用途,例:Aromatherapy, Home Decoration
patternstring图案,例:Striped
materialsstring[]材质数组。
materialstring主要材质(单值字段)。
specialFeaturesstring[]特色功能数组。
specificUsesForProductstring[]具体用途数组。
safetyWarningstring安全警告。
productBenefitstring产品卖点 / 优势。
batteriesRequiredboolean是否需要电池。
batteriesIncludedboolean是否含电池。
targetAudienceKeywordstring目标用户关键词。
stylestring风格,例:Modern
includedComponentsstring包装内含件。
audienceRatingstring影音分级,例:PG-13
numberOfItemsint商品件数;-1 = 不可用。
numberOfPagesint页数;-1 = 不可用。
publicationDateint出版日期,格式 YYYY / YYYYMM / YYYYMMDD-1 = 不可用。例:20150409 = 2015-04-09。
releaseDateint上市日期,格式同上。
contributorsstring[][]贡献者,每项 [name, role],例:[["Vin Diesel", "actor"]]
languagesstring[][]语言,每项 [name][name, type],例:[["English", "Original Language"]]
editionstring版本。
formatstring格式(影音)。
featuresstring[]Listing 五点描述,最多 5 条,单条最多 1000 字符。summary 下超过 10 条会截断并附说明。
descriptionstring商品描述,可能含 HTML 与 \n,最多 4000 字符。需带 offers 才会刷新。
hazardousMaterialsobject[]危险品类型,每项 { aspect, value }

字段:尺寸 / 重量

字段类型summary说明
packageHeightint包装高度(毫米);0-1 = 不可用。
packageLengthint包装长度(毫米)。
packageWidthint包装宽度(毫米)。
packageWeightint包装重量(),例:1500 = 1.5 kg。
packageQuantityint包装内件数。
itemHeightint商品本体高度(毫米)。
itemLengthint商品本体长度(毫米)。
itemWidthint商品本体宽度(毫米)。
itemWeightint商品本体重量(克)。
unitCountobject单位计量对象 { unitValue, unitType, eachUnitCount },用于「按单位售价」展示。

字段:变种 / 关联商品

字段类型summary说明
variationsobject[]该 ASIN 的变种,最多 4000 个。每项 { asin, image, attributes: [{ dimension, value }] }。需带 offers 才会刷新。lite 模式下超过 5 个会只保留前 5 个,并附 _variationsTruncated: { shown, total } 标记。
historicalVariations (lite 删)string[]已下架 / 缺货的历史变种 ASIN。需带 historical-variations 参数。
frequentlyBoughtTogetherstring[]"经常一起购买" ASIN(1–2 个)。需带 offers 才会刷新。
bundleItemsstring[]虚拟商品包内含 ASIN 列表。

字段:媒体内容

字段类型summary说明
videosobject[]视频 metadata 数组。需带 videos + offers 参数。每项 { title, image, duration, creator, name, url }creator 取值:Main / Customer / Seller / Influencer / Vendor / ThirdParty / Amazon / Merchant / Brand
aPlusobject[]A+ 内容数组。需带 aplus 参数。每项 { module: [{ text, image, imageAltText, video, asin }], fromManufacturer }

字段:促销 / 优惠券 / Deal

字段类型summary说明
couponint[]Buy Box offer 的优惠券 [一次性优惠券, S&S 首单优惠券]。值规则:0 = 无;正数 = 绝对金额(cents);负数 = 百分比折扣(如 -15 = 15% off)。需带 offers 才会刷新。例:[200, -15] = $2 一次券 + S&S 首单 15% off。
couponHistory (lite 删)int[]优惠券历史 [keepaTime, oneTime, sns, ...]。从 2024-06-15 开始记录。
promotionsobject[]当前活跃促销,每项 { type, amount, discountPercent, snsBulkDiscountPercent }type 当前主要是 SNS。需带 offers
dealsobject[]当前 Buy Box 的 deal 标识。需带 offers。每项 { accessType, dealType, badge }
· accessTypeALL / PRIME_EARLY_ACCESS / PRIME_EXCLUSIVE
· dealTypePRIME_DAY / PRIME_DAY_EARLY / EARLY_ACCESS_WITH_PRIME / PRIME_EXCLUSIVE / SELLING_FAST / PRIME_SELLING_FAST / LIMITED_TIME_DEAL / COUNTDOWN_ENDS_IN / APP_ONLY / CLEARANCE_NO_RETURNS / SPECIAL_EVENT_SALE / GENERIC_OFFER_PROMO / UNKNOWN
· badge:商品页显示文案,例 Early Prime Deal
businessDiscountint最高商企折扣百分比;常滞后于实际报价。
lastBusinessDiscountUpdateint上述字段的更新时间。

字段:库存 / Buy Box / Offer

字段类型summary说明
availabilityAmazonintAmazon 自营 offer 库存状态:
-1 无 Amazon offer | 0 有货可发 | 1 暂时缺货但可预订 | 2 状态未知 | 3 暂时缺货但可补单 | 4 发货延迟(看 availabilityAmazonDelay
availabilityAmazonDelayint[]availabilityAmazon=4 时,发货延迟 [最小小时, 最大小时],例 [24, 48] = 1–2 天。
buyBoxEligibleOfferCountsint[]各状态合格 Buy Box offer 数,长度 8:[NewFBA, NewFBM, UsedFBA, UsedFBM, CollectibleFBA, CollectibleFBM, RefurbishedFBA, RefurbishedFBM]
competitivePriceThresholdintAmazon 给出的竞品压力价。卖家高于此价可能失去 Buy Box 资格。
suggestedLowerPriceintAmazon 建议的更低售价(含运费)。
offersobject[]Marketplace Offer 对象数组。需带 offers 参数;detailLevel=summary 不返回。
liveOffersOrderint[]offers 数组中按 Amazon 列出顺序排列的索引。需带 offers。重复索引 = 该位置原本是更高价的重复 offer,已替换为最低价对应索引。
buyBoxSellerIdHistory (lite 删)string[]Buy Box 卖家变更历史 [keepaTime, sellerId, ...]sellerId 特殊值:-1 = 无人合格,-2 = 缺货 / 未识别。需带 offers / buybox
buyBoxUsedHistory (lite 删)string[]Used Buy Box 历史 [keepaTime, sellerId, condition, isFBA, ...]condition2=Like New / 3=Very Good / 4=Good / 5=Acceptable;isFBA1/0
isRedirectASINboolean该 ASIN 是否会被 Amazon 重定向到另一个 ASIN(如缺货变体跳到在售变体)。需带 offers
isSNSbooleanBuy Box 是否支持 Subscribe & Save。
offersSuccessfulbooleanoffers 是否成功拉取。注意:无任何 offer 的产品该字段会一直 false

字段:评分 / 销量

字段类型summary说明
reviews (lite 删)object评分 / 评论数历史对象 { lastUpdate, ratingCount: [keepaTime, count, ...], reviewCount: [keepaTime, count, ...] }。需带 rating 参数。⚠️ ratingCount 自 2025-04-09 起 Amazon 不再提供,已停止更新。
非变种维度的评分 / 评论数请改读 csv[16] (RATING) 与 csv[17] (COUNT_REVIEWS)。
monthlySoldintAmazon 搜索结果页"过去一月已售"指标。不是估算值,但 Amazon 只给区间(如 1000+)。多数 ASIN 无此值,且按变种维度统计。
monthlySoldHistory (lite 删)int[]上字段历史 [keepaTime, monthlySold, ...]
lastSoldUpdateintmonthlySold 的最后更新时间(KeepaTime)。
returnRateint退货率:null = 不可用或正常水平 | 1 = 低退货 | 2 = 高退货。

字段:FBA 费用 / 资质标记

字段类型summary说明
fbaFeesobjectFBA Pick & Pack 费用 { lastUpdate, pickAndPackFee },单位 cents。
variableClosingFeeint可变结算费(cents)。
referralFeePercentagedouble推荐费百分比(按当前 / 上次 offer 价计算;默认假设售价 $100)。
referralFeePercentdoublereferralFeePercentage 的同义字段(旧版命名,部分场景仍出现,统一含义相同)。
isEligibleForTradeInboolean是否支持 Trade-In。
isAdultProductboolean是否成人商品。
isHeatSensitiveboolean是否怕热(如易融化)。
isMerchOnDemandboolean是否 Amazon Merch on Demand 商品。
isHaulboolean是否 Amazon Haul 商品(仅基础信息可用)。
launchpadboolean是否在 Launchpad 类目下(会影响 salesRankReference)。
isEligibleForSuperSaverShippingbooleanBuy Box 是否支持免运费 Super Saver。
ebayListingIdslong[]最低价 eBay listing [newId, usedId]null0 = 不可用。

字段:历史时间序列(csv

字段类型summary说明
csv (lite 删)int[][]二维历史数组,第一维下标是 Price Type,第二维是 [keepaTime, value, ...] 或含运费类型时 [keepaTime, price, shipping, ...]null = 该 Price Type 无历史。
statsobjectStatistics Object。需带 stats=N 参数。

关于 csv 的几条关键约束

  • 只在变化时追加:相邻条目时间间隔不固定。
  • 运费:除字段名带 _SHIPPING 外,价格不含运费。
  • NEW / USED / COLLECTIBLE / REFURBISHED 的价格定义
    • 2026-02-23 之前:仅 listing price。
    • 2026-02-23 及以后:landing price = listing + shipping。
  • Amazon 自营也算 marketplace,所以 Amazon 抢到最低价时,NEWAMAZON 在该时段值相同。
  • Lightning Deal 特例:见 csvstats 的 Lightning Deal 形态
  • eBay 价格慎用:listing 信息常错配 / 错码,更新节奏也与 Amazon 不同。
  • 不要写死第一维长度:Keepa 可能随时新增 Price Type。

相关接口与对象