在跨境电商数据开发中,Shopee(虾皮)商品详情API是常见的技术研究方向之一。
对于需要分析泰国、越南、马来西亚等市场商品信息的开发者来说,商品标题、价格、品牌、SKU规格和图片等数据,可以作为商品研究和数据系统开发的基础。
本文介绍一种通用的第三方商品数据API接入思路,演示如何使用Python发送HTTP请求、解析JSON返回结果,以及处理多站点商品数据。

需要说明的是,文中的第三方API地址和返回结构均为模拟示例,不是Shopee官方接口,也不代表任何服务商的实际接口定义。
一、Shopee商品详情API是什么?
商品详情API通常用于根据指定商品标识查询相关商品信息。
常见请求参数包括:
| 参数 | 说明 |
|---|---|
| site | 国家或市场站点 |
| shop_id | 店铺ID |
| item_id | 商品ID |
| token | 接口认证信息(如适用) |
接口可能返回以下字段:
-
商品ID、店铺ID
-
商品标题及描述
-
商品当前价格、原价
-
商品品牌及分类
-
商品图片
-
SKU规格及库存
-
评分、销量等信息(视接口支持情况而定)
实际参数及字段需要根据接口文档确认。
二、Shopee不同站点如何区分?
Shopee覆盖多个东南亚市场,常见站点包括:
| 站点 | 国家 | 币种 |
|---|---|---|
| TH | 泰国 | THB |
| VN | 越南 | VND |
| MY | 马来西亚 | MYR |
| PH | 菲律宾 | PHP |
| SG | 新加坡 | SGD |
| ID | 印度尼西亚 | IDR |
不同站点的商品信息、价格及币种可能存在差异,进行跨市场分析时应分别处理。
三、使用Python请求Shopee商品详情API
1. 安装依赖
python
pip install requests
2. 配置请求参数
以下使用假设的第三方HTTP API进行演示:
python
import os
import requests
API_URL = "https://api.example.com/shopee/item/detail"
API_KEY = os.environ["SHOPEE_DATA_API_KEY"]
headers = {
"Authorization": f"Bearer {API_KEY}",
"Accept": "application/json"
}
params = {
"site": "TH",
"shop_id": "123456789",
"item_id": "987654321"
}
response = requests.get(
API_URL,
headers=headers,
params=params,
timeout=30
)
response.raise_for_status()
result = response.json()
print(result)
在运行代码前,需要配置环境变量SHOPEE_DATA_API_KEY。
实际接口可能采用其他认证方式,例如API Key请求头或签名参数,不能直接套用本示例。
四、商品详情JSON返回数据示例
假设接口返回如下内容:
python
{
"code": 200,
"message": "success",
"data": {
"site": "TH",
"shop_id": "123456789",
"item_id": "987654321",
"title": "Wireless Bluetooth Earphones",
"price": 399.00,
"original_price": 499.00,
"currency": "THB",
"brand": "Example Brand",
"images": [
"https://example.com/image.jpg"
],
"models": [
{
"name": "Black",
"price": 399.00,
"stock": 100
}
]
}
}
上述商品信息和数值均为模拟数据,仅用于说明字段结构。
五、Python解析商品详情字段
获得JSON数据后,可以使用字典操作提取所需字段。
python
if result.get("code") == 200:
item = result.get("data", {})
print("商品ID:", item.get("item_id"))
print("商品标题:", item.get("title"))
print("商品价格:", item.get("price"))
print("商品币种:", item.get("currency"))
print("商品品牌:", item.get("brand"))
for model in item.get("models", []):
print("规格:", model.get("name"))
print("规格价格:", model.get("price"))
else:
print("接口返回异常:", result.get("message"))
需要注意,部分服务商可能将价格表示为整数最小货币单位、字符串或经过倍率处理的数值。
因此,不能仅凭字段名称假设价格单位,应根据实际接口文档进行转换。
六、封装一个可复用的API调用函数
在正式项目中,建议将请求逻辑封装成函数,方便处理不同国家站点的商品查询。
python
import os
import requests
API_URL = "https://api.example.com/shopee/item/detail"
def get_shopee_item(site, shop_id, item_id):
api_key = os.environ["SHOPEE_DATA_API_KEY"]
headers = {
"Authorization": f"Bearer {api_key}",
"Accept": "application/json"
}
params = {
"site": site,
"shop_id": shop_id,
"item_id": item_id
}
try:
response = requests.get(
API_URL,
headers=headers,
params=params,
timeout=30
)
response.raise_for_status()
result = response.json()
if result.get("code") != 200:
raise ValueError(
f"接口业务错误: {result.get('message')}"
)
return result.get("data", {})
except requests.Timeout:
print("请求超时")
except requests.RequestException as e:
print("HTTP请求异常:", e)
except ValueError as e:
print("数据解析或业务异常:", e)
return None
if __name__ == "__main__":
item = get_shopee_item(
site="MY",
shop_id="123456789",
item_id="987654321"
)
if item:
print("商品标题:", item.get("title"))
通过函数封装,可以减少重复代码,也便于后续扩展日志记录、重试机制及数据存储功能。
七、如何处理多个Shopee站点的数据?
在多市场研究中,可以将查询任务整理为列表,再按任务分别调用接口。
python
tasks = [
{
"site": "TH",
"shop_id": "123456789",
"item_id": "987654321"
},
{
"site": "MY",
"shop_id": "234567890",
"item_id": "876543210"
},
{
"site": "VN",
"shop_id": "345678901",
"item_id": "765432109"
}
]
for task in tasks:
item = get_shopee_item(**task)
if item:
print(
task["site"],
item.get("title"),
item.get("price"),
item.get("currency")
)
这些ID同样属于模拟数据。
实际使用时,需要按照接口频率限制控制请求,并根据业务需求设计重试、缓存及去重逻辑。
不同国家站点的商品标识不能直接互换。
八、Shopee API开发中的常见问题
1. 返回商品为空怎么办?
建议检查商品ID、店铺ID及站点参数是否正确,同时确认接口是否支持目标商品及市场。
2. 接口返回401或403怎么办?
可能与认证信息、授权权限或接口访问规则有关,需要结合实际错误响应排查。
3. 商品价格为什么不一致?
可能涉及站点币种、促销活动、商品规格、更新时间或价格字段定义。
4. 是否可以批量获取商品详情?
取决于接口是否提供批量查询能力,以及相应调用限制。不能假设所有商品详情接口都支持批量请求。
5. 官方API与第三方API有什么区别?
Shopee官方开放平台接口通常要求相应的应用授权和身份认证,主要面向授权范围内的商家业务场景。
第三方商品数据API可能采用不同的接口设计,但具体访问范围、数据来源和使用权限仍需核实。
第三方Shopee数据API应用说明
对于跨境电商商品研究和系统开发,可以根据实际需求评估第三方商品数据API服务。
不同服务商在支持站点、数据字段、调用方式和更新机制等方面可能存在差异。
开发者在接入前,应先查看接口文档并完成测试,确认数据来源、授权范围及接口能力是否符合业务要求。
使用Python调用Shopee商品详情API,核心流程包括:
准备商品标识 → 配置接口认证 → 发送HTTP请求 → 解析JSON → 提取商品字段 → 数据存储与分析
对于跨境电商选品研究、多市场商品比较及数据系统开发,这种结构化的数据处理方式具有实际应用价值。
开发过程中,需要特别关注接口文档、币种及价格单位、异常处理、调用限制和数据合规要求。
免责声明: 本文仅用于API技术交流,文中请求地址、参数及JSON数据均为模拟示例,非Shopee官方接口。实际使用请遵守相关法律法规、数据授权要求及平台规则。