闲鱼 item_get - 商品详情接口对接全攻略:从入门到精通

简介: 闲鱼item_get接口可精准获取二手商品详情,支持商品ID查询标题、价格、成色、卖家信息等全量数据,适用于比价、运营、风控等场景。本文提供从权限申请、签名认证到生产优化的全流程对接指南,确保稳定高效调用。

闲鱼 item_get 接口是获取闲鱼平台二手商品详情的核心接口,支持通过商品 ID查询商品标题、价格、成色、卖家信息、交易状态、图文描述、物流方式等全量数据,适配二手商品比价、交易监控、数据聚合、商家运营等场景。该接口采用HTTP/HTTPS + 签名认证机制,权限分级严格,数据实时性强。本攻略从接口认知、权限获取、实操对接、调试排错到生产级优化,提供结构化全链路指导,兼顾入门易用性与企业级稳定性。
一、接口核心认知:功能与适配场景

  1. 接口定位与核心价值
    核心功能:输入闲鱼商品 ID(item_id),返回商品基础信息、交易信息、卖家信息、图文资源、规格参数等结构化数据;支持关联查询同款商品价格、历史成交记录(需进阶权限)。
    闲鱼平台特性
    二手属性强:返回字段包含成色(全新 / 九成新 / 八成新等)、是否支持退换、验货担保状态等二手专属信息;
    数据实时性:商品价格、库存、交易状态实时同步,缓存周期≤1 分钟,适配高时效性场景;
    权限分层:基础字段(标题、价格)支持个人测试权限,卖家联系方式、历史成交记录需企业资质;
    风控严格:高频调用易触发 IP 封禁,需严格遵守频率限制。
    典型应用场景
    二手商品比价平台:聚合同款商品价格,为用户提供性价比参考;
    商家运营工具:监控竞品价格、成交状态,优化自身定价策略;
    交易风控系统:识别违规商品、恶意卖家,防范欺诈风险;
    内容聚合平台:抓取优质商品图文,辅助二手消费决策。
  2. 核心参数与返回字段
    (1)请求参数(公共参数 + 私有参数,POST/GET 均可)
    参数类型 参数名称 类型 是否必填 说明 应用示例
    公共参数 app_key string 是 开放平台应用 ID xianyu_123456
    timestamp long 是 时间戳(毫秒级) 1735689600000
    sign string 是 签名值(HMAC-SHA256) 32 位小写哈希串
    version string 是 接口版本 v2
    私有参数 item_id string 是 闲鱼商品 ID 698765432109876543
    fields string 否 需返回的字段列表,逗号分隔 title,price,condition,seller_info
    注意事项
    item_id 可从商品链接中提取,闲鱼商品链接格式为 https://2.taobao.com/item.htm?id=商品ID;
    fields 参数用于按需获取字段,减少响应体积,如仅需基础信息可填 title,price,pic_url;
    时间戳有效期为 5 分钟,超出则签名失效。
    (2)返回核心字段(按业务场景分类)
    字段分类 核心字段 说明
    商品基础信息 item_id 商品唯一 ID
    title 商品标题
    pic_url 商品主图 URL
    item_imgs 商品多图 URL 列表
    price 商品标价(元,支持小数)
    original_price 原价(元,二手商品可能为空)
    condition 商品成色 全新 / 九成新 / 八成新 / 七成新 / 六成新及以下
    category 商品类目 如 “手机 - 苹果手机 - iPhone 14”
    params 规格参数 存储容量、颜色、功能状态等键值对
    交易信息 status 商品状态 onsale(在售)/soldout(已售)/offline(下架)
    sales 已售数量 二手商品通常为 1
    logistics 物流方式 包邮 / 自提 / 卖家包邮 / 买家承担运费
    location 商品所在地 如 “浙江杭州”
    valid_time 上架时间 时间戳 / 格式化字符串
    guarantee 保障服务 验货担保 / 七天无理由 / 正品保障
    卖家信息 seller_id 卖家 ID
    seller_nick 卖家昵称
    seller_avatar 卖家头像 URL
    seller_level 卖家等级 心 / 钻 / 冠等级
    seller_score 卖家好评率 百分比格式
    seller_location 卖家所在地
    其他信息 desc 商品详情描述 HTML 格式 / 纯文本
    same_items 同款商品列表 含同款 item_id、价格、卖家信息(需进阶权限)
    trade_record 历史成交记录 成交时间、成交价格(需企业权限)
  3. 接口限制与注意事项
    调用频率与配额限制
    | 权限类型 | 日调用上限 | 调用频率 | 适用场景 |
    |----------|----------|----------|----------|
    | 个人测试权限 | 100 次 / IP | 1 次 / 秒 | 功能调试、个人工具 |
    | 企业基础权限 | 10000 次 / IP | 5 次 / 秒 | 中小型电商平台、比价工具 |
    | 企业高级权限 | 100000 次 / IP | 20 次 / 秒 | 大型数据聚合平台、风控系统 |
    数据缓存规则:基础信息缓存 1 分钟,交易状态缓存 10 秒,高频查询建议本地缓存;
    内容限制:违规商品、已删除商品、私密商品不返回数据;卖家联系方式等敏感信息需特殊权限;
    合规要求:数据仅用于合规业务,禁止篡改商品信息、恶意比价,遵守《电子商务法》《个人信息保护法》等法规;严禁爬虫抓取接口未开放的数据。
    二、对接前准备:权限与环境搭建
  4. 获取接口权限(官方唯一合规路径)
    闲鱼 item_get 接口仅开放给阿里开放平台认证开发者,无公开免费接入渠道,步骤如下:
    登录 阿里开放平台,完成开发者认证(个人 / 企业);
    创建应用,选择 “闲鱼开放平台” 类目,填写应用名称、用途、场景说明;
    提交应用审核,等待阿里开放平台审核(周期 3-7 个工作日);
    审核通过后,获取 app_key 和 app_secret,配置 IP 白名单;
    申请 item_get 接口权限,根据业务需求选择权限等级(基础 / 进阶 / 高级)。
    风险提示:严禁使用第三方非合规接口、爬虫工具抓取闲鱼数据,违反阿里平台协议,存在账号封禁、法律追责风险。
  5. 技术环境准备
    (1)支持语言与协议
    协议:HTTPS(强制,HTTP 请求会被拦截);
    开发语言:Python、Java、PHP、Go 等主流语言,推荐 Python(适配签名生成与数据解析)。
    (2)必备工具与依赖
    工具类型 推荐工具 用途
    调试工具 Postman 快速验证接口可用性,排除代码逻辑问题
    阿里开放平台调试工具 官方提供的接口测试环境,支持签名自动生成
    时间戳生成器 确保 timestamp 格式正确
    开发依赖 requests 发送 HTTP/HTTPS 请求
    hashlib/hmac 生成 HMAC-SHA256 签名
    pandas 批量整理商品详情数据
    jsonpath-ng 快速解析嵌套 JSON 响应
    辅助工具 Redis 缓存商品详情数据,减少接口调用次数
    logging 记录接口调用日志,便于问题追溯与审计
    三、实操步骤:接口对接全流程(Python 示例)
    步骤 1:理解签名认证规则(核心,必掌握)
    闲鱼接口采用 HMAC-SHA256 签名机制,签名生成流程如下:
    收集所有请求参数(公共参数 + 私有参数),排除 sign 字段;
    按参数名 ASCII 码升序排序;
    拼接成 key1=value1&key2=value2&... 的字符串;
    末尾拼接 &app_secret=你的app_secret;
    使用 app_secret 作为密钥,对拼接字符串进行 HMAC-SHA256 加密,生成 32 位小写签名串,作为 sign 参数值。
    关键注意点:参数值需进行 UTF-8 编码,特殊字符需转义;排序严格按参数名 ASCII 升序,顺序错误会导致签名验证失败。
    步骤 2:完整代码实现(含签名生成 + 接口调用 + 数据标准化)
    (1)依赖安装
    bash
    运行
    pip install requests pandas jsonpath-ng
    (2)Python 代码实现
    import requests
    import hmac
    import hashlib
    import time
    import pandas as pd
    import logging
    from urllib.parse import urlencode

日志配置

logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s",
handlers=[logging.FileHandler("xianyu_item_get.log"), logging.StreamHandler()]
)

配置信息(替换为你的阿里开放平台信息)

CONFIG = {
"app_key": "你的app_key",
"app_secret": "你的app_secret",
"api_url": "https://gw.api.taobao.com/router/rest", # 闲鱼接口网关
"version": "v2"
}

def generate_sign(params: dict, app_secret: str) -> str:
"""生成闲鱼接口HMAC-SHA256签名"""

# 1. 排除sign字段,筛选非空参数
filtered_params = {k: v for k, v in params.items() if v and k != "sign"}
# 2. 按参数名ASCII升序排序
sorted_params = sorted(filtered_params.items(), key=lambda x: x[0])
# 3. 拼接参数字符串
param_str = urlencode(sorted_params, encoding="utf-8") + f"&app_secret={app_secret}"
# 4. HMAC-SHA256加密,生成小写签名
sign = hmac.new(
    app_secret.encode("utf-8"),
    param_str.encode("utf-8"),
    hashlib.sha256
).hexdigest().lower()
return sign

def standardize_item_data(raw_item: dict) -> dict:
"""标准化商品详情数据,统一输出格式"""

# 解析商品成色
condition_map = {
    "new": "全新",
    "like_new": "九成新",
    "very_good": "八成新",
    "good": "七成新",
    "acceptable": "六成新及以下"
}
condition = condition_map.get(raw_item.get("condition", ""), "未知成色")

# 解析商品状态
status_map = {
    "onsale": "在售",
    "soldout": "已售",
    "offline": "下架"
}
status = status_map.get(raw_item.get("status", ""), "未知状态")

# 解析上架时间
valid_time = raw_item.get("valid_time", 0)
valid_time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(valid_time/1000)) if valid_time else ""

return {
    "商品ID": raw_item.get("item_id", ""),
    "商品标题": raw_item.get("title", ""),
    "商品主图": raw_item.get("pic_url", ""),
    "商品标价(元)": float(raw_item.get("price", 0)),
    "原价(元)": float(raw_item.get("original_price", 0)),
    "商品成色": condition,
    "商品类目": raw_item.get("category", ""),
    "商品状态": status,
    "已售数量": int(raw_item.get("sales", 0)),
    "物流方式": raw_item.get("logistics", ""),
    "商品所在地": raw_item.get("location", ""),
    "上架时间": valid_time_str,
    "保障服务": ",".join(raw_item.get("guarantee", [])),
    "卖家昵称": raw_item.get("seller_nick", ""),
    "卖家等级": raw_item.get("seller_level", ""),
    "卖家好评率": f"{raw_item.get('seller_score', 0)}%",
    "请求时间": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
}

def xianyu_item_get(item_id: str, fields: str = None) -> dict:
"""调用闲鱼item_get接口获取商品详情"""

# 1. 构建请求参数
params = {
    "app_key": CONFIG["app_key"],
    "method": "xianyu.item.get",  # 闲鱼item_get接口方法名
    "timestamp": str(int(time.time() * 1000)),
    "version": CONFIG["version"],
    "item_id": item_id
}
# 补充字段筛选参数
if fields:
    params["fields"] = fields

# 2. 生成签名
params["sign"] = generate_sign(params, CONFIG["app_secret"])

try:
    # 3. 发送POST请求(闲鱼接口推荐POST)
    response = requests.post(
        url=CONFIG["api_url"],
        data=params,
        headers={"Content-Type": "application/x-www-form-urlencoded; charset=utf-8"},
        timeout=10,
        verify=True
    )
    response.raise_for_status()
    result = response.json()

    # 4. 解析响应结果
    if result.get("error_response"):
        error_msg = f"{result['error_response']['code']}: {result['error_response']['msg']}"
        logging.error(f"接口调用失败(商品ID:{item_id}):{error_msg}")
        return {"success": False, "error_msg": error_msg, "data": {}}

    raw_item = result.get("item_get_response", {}).get("item", {})
    if not raw_item:
        logging.warning(f"无商品数据返回(商品ID:{item_id})")
        return {"success": False, "error_msg": "无商品数据", "data": {}}

    # 5. 标准化数据
    standard_data = standardize_item_data(raw_item)
    return {
        "success": True,
        "data": standard_data,
        "error_msg": ""
    }
except requests.exceptions.RequestException as e:
    logging.error(f"网络请求异常(商品ID:{item_id}):{str(e)}")
    return {"success": False, "error_msg": f"网络异常:{str(e)}", "data": {}}
except Exception as e:
    logging.error(f"数据解析异常(商品ID:{item_id}):{str(e)}")
    return {"success": False, "error_msg": f"解析异常:{str(e)}", "data": {}}

调用示例

if name == "main":

# 替换为真实的闲鱼商品ID
item_id = "698765432109876543"
# 按需指定返回字段,减少响应体积
fields = "title,price,condition,status,seller_nick,seller_score"

result = xianyu_item_get(item_id=item_id, fields=fields)
if result["success"]:
    print("闲鱼商品详情:")
    for k, v in result["data"].items():
        print(f"{k}: {v}")
    # 保存为Excel
    df = pd.DataFrame([result["data"]])
    df.to_excel("xianyu_item_detail.xlsx", index=False)
else:
    print(f"获取失败:{result['error_msg']}")

四、调试与问题排查:快速解决对接异常

  1. 优先用官方工具调试(排除签名问题)
    登录阿里开放平台调试工具,选择 “闲鱼 item_get” 接口;
    输入 item_id、app_key 等参数,工具自动生成签名;
    发送请求,查看响应结果。若官方工具调用成功,说明签名规则或代码存在问题;若失败,检查权限或参数。
  2. 高频问题排查表
    问题现象 常见原因 解决方案
    签名验证失败(401) 1. app_key/app_secret 错误;
  3. 参数排序错误;
  4. 时间戳过期;
  5. 参数值未 UTF-8 编码 1. 核对 app_key/app_secret 与开放平台一致;
  6. 严格按参数名 ASCII 升序排序;
  7. 校准本地时间,确保时间戳在 5 分钟内;
  8. 对中文参数值进行 UTF-8 编码
    权限不足(403) 1. 未申请 item_get 接口权限;
  9. IP 不在白名单;
  10. 调用频率超限 1. 在开放平台申请对应权限;
  11. 配置正确的 IP 白名单;
  12. 降低调用频率,添加请求间隔
    参数错误(400) 1. item_id 格式错误 / 无效;
  13. fields 参数格式错误;
  14. 缺少必填参数 1. 核对 item_id 是否为 16-19 位数字,从商品链接提取;
  15. fields 参数用逗号分隔字段名;
  16. 检查是否遗漏 app_key、timestamp 等必填参数
    无商品数据返回 1. 商品已删除 / 下架 / 违规;
  17. item_id 无效;
  18. 商品为私密商品 1. 在闲鱼官网搜索 item_id,确认商品状态;
  19. 更换有效 item_id 测试;
  20. 私密商品无权限访问,跳过此类 ID
    响应超时(504) 1. 网络波动;
  21. 接口网关拥堵;
  22. 单次请求字段过多 1. 重试请求,添加超时重试机制;
  23. 避开高峰期调用;
  24. 减少 fields 参数字段数量,按需获取
    五、进阶优化:生产级稳定性提升
  25. 性能与配额优化
    批量调用优化:多商品 ID 查询时,采用异步并发请求(使用aiohttp),控制并发数≤权限允许的频率上限(如企业基础权限 5 次 / 秒);
    智能缓存策略:用 Redis 缓存商品详情,缓存 key 为xianyuitem商品ID,缓存有效期:在售商品 5 分钟,已售商品 1 小时,下架商品 1 天;空结果缓存 10 分钟,避免无效请求;
    字段按需获取:根据业务需求指定fields参数,不获取无关字段,减少响应体积与接口耗时。
  26. 数据质量优化
    数据去重:按item_id去重,避免同一商品多次入库;
    异常值过滤:过滤价格为 0、状态为未知的无效数据;
    字段补全:对缺失的原价、类目等字段,通过商品标题关键词自动补充(如标题含 “iPhone 14 256GB” 则补充分类为 “苹果手机”)。
  27. 合规与安全
    密钥管理:生产环境将app_key和app_secret存储在配置中心(如 Nacos、Apollo)或环境变量,禁止硬编码;定期轮换密钥(每 3 个月一次);
    请求重试机制:添加指数退避重试策略,对 403(频率超限)、504(超时)等错误自动重试,避免单次失败导致任务中断;
    日志审计:记录每次调用的item_id、参数、响应状态、耗时,保留至少 7 天日志,便于合规审计与问题追溯。
    六、扩展场景:接口联动与功能升级
    联动闲鱼 item_search 接口:先通过关键词搜索获取商品 ID 列表,再批量调用item_get获取详情,实现 “搜索 - 详情” 全链路数据采集;
    同款商品比价模型:提取商品标题关键词,关联查询同款商品价格,计算均价与性价比得分,辅助用户决策;
    交易监控告警:定时调用item_get接口,监控目标商品的价格变动、状态变更,当价格下降 10% 以上或商品售出时触发告警
相关文章
|
3月前
|
JSON BI API
全网最全面介绍闲鱼API接口指南
闲鱼是阿里巴巴旗下的二手交易平台,提供RESTful API支持商品管理、订单处理、用户操作与数据统计。开发者可通过OAuth 2.0认证,使用App Key和access_token调用接口,实现自动化运营与第三方集成。本指南详解API核心功能、接入步骤、代码示例及最佳实践,助您高效开发。
2240 1
|
20天前
|
JSON 安全 JavaScript
闲鱼商品列表API接口指南
本指南基于逆向分析,提供闲鱼商品列表数据获取的技术方案,适用于关键词、地区、价格等条件筛选。支持网页端GET与移动端POST请求,返回HTML或JSON格式数据,需注意登录态与参数编码,仅用于学习研究。
|
20天前
|
JSON 监控 API
闲鱼商品详情API接口文档
本接口用于获取闲鱼商品详情,包括标题、价格、库存、卖家信息、图片链接、交易记录等核心数据,返回JSON格式,适用于商品监控、竞品分析等合规场景。需通过模拟请求或授权方式调用,注意反爬机制。
|
25天前
|
数据采集 缓存 自然语言处理
闲鱼 item_search - 关键字商品搜索接口对接全攻略:从入门到精通
闲鱼item_search接口是检索二手商品的核心API,支持多维度筛选与分页返回商品基础信息,需HMAC-SHA256签名认证,权限分级且风控严格。本文提供从权限申请、签名生成、Python对接到调试优化的全链路指南,适用于比价、运营分析等场景。
|
前端开发 API 数据处理
laravel系列(三) Dcat admin框架工具表单以及普通表单的使用
laravel系列(三) Dcat admin框架工具表单以及普通表单的使用
2002 0
|
3月前
|
JSON 缓存 数据格式
阿里巴巴 item_search 接口对接全攻略:从入门到精通
本文详解阿里巴巴1688商品搜索接口(item_search)的对接流程、参数配置与Python实现,涵盖认证签名、分页查询、错误处理及最佳实践,助力开发者高效构建采购系统与市场分析工具。
|
2月前
|
JSON 监控 数据挖掘
闲鱼商品详情API接口指南
闲鱼商品详情API(Goodfish.item_get)为开发者提供通过商品ID获取标题、价格、图片、卖家等信息的接口,采用RESTful风格与JSON格式,支持价格监控、数据分析及第三方应用集成。
|
4月前
|
人工智能 数据可视化 测试技术
Coze平台指南(3):核心功能-创建智能体与设计角色
Coze 智能体是由大语言模型驱动,通过提示词设定角色,并借助知识库、插件和工作流扩展能力,以执行特定任务的AI助手。对测试工程师而言,精心设计的智能体可显著提升测试效率与质量,关键是要准确理解测试需求,并将其转化为智能体的角色设定和功能配置。建议进一步学习知识库与工作流,以深化应用。
|
3月前
|
JSON API 开发者
闲鱼平台获取商品详情API接口
闲鱼是阿里巴巴旗下二手交易平台,提供商品详情API,支持开发者获取商品标题、价格、描述等数据。本文介绍API申请流程、调用方法及Python代码示例,涵盖签名生成、响应解析、错误处理等内容,助力开发价格监控、数据分析等应用。(238字)
681 0
|
2月前
|
监控 数据挖掘 API
​​​​​​​闲鱼平台根据商品ID获取商品详情的API接口实现
本文介绍如何通过闲鱼开放平台API,根据商品ID获取商品详情。涵盖接口调用流程、参数说明、签名生成、Python示例及注意事项,助力开发者实现数据采集与分析,构建价格监控、信息聚合等应用。
548 0

热门文章

最新文章