亚马逊商品 API 是亚马逊平台为开发者提供的接口,允许通过程序获取商品相关数据,主要包括 Product Advertising API、Selling Partner API 等类型,可用于电商数据分析、价格监测等场景。以下是具体介绍:主要功能获取商品基本信息:可获取商品标题、描述、图片 URL 等。获取购买相关属性:能了解商品价格、库存状态、发货信息等。获取用户反馈:可查看评价内容、评分、晒图等用户反馈数据。获取分类信息:能够获取商品的一级分类、二级分类等分类信息。获取促销信息:可了解商品的优惠券、满减活动、限时折扣等促销信息。常用 API 类型Product Advertising API:也称为 Amazon SPA API,允许开发者获取亚马逊商品、浏览节点、报价、评论等信息,常用于电商数据分析、商品推荐等场景。Selling Partner API:是亚马逊推出的新版 API,提供更全面的功能和更好的性能,部分接口仅支持 SP-API,需要 OAuth2.0 认证,可用于获取商品数据、管理订单、处理库存等。Marketplace Web Service(MWS):是旧版 API,支持订单、商品、库存等核心功能,目前正逐步被 SP-API 取代,但仍在广泛使用。调用方式注册开发者账号:访问亚马逊开发者门户网站,注册账号并完成相关认证。申请 API 访问权限:在开发者中心选择需要的 API 服务,如 Product Advertising API,并申请访问权限。获取 API 密钥:审核通过后,获取 API 密钥和访问令牌。构建请求:根据 API 文档构建请求 URL,传入必要的请求参数,如商品 ID、市场代码、分页参数等。发送请求:使用编程语言中的网络请求库或工具,如 Python 的 requests 库,发送 HTTP 请求到亚马逊的 API 服务器。处理响应:接收并解析服务器返回的响应数据,响应通常为 JSON 或 XML 格式,提取所需的商品信息。Python 示例代码使用 Product Advertising API 获取商品数据:pythonimport boto3import json
替换为你的AWS访问密钥和访问令牌ACCESS_KEY = 'YOUR_AWS_ACCESS_KEY'SECRET_KEY = 'YOUR_AWS_SECRET_KEY'
创建Amazon SPA API客户端client = boto3.client( 'advertising', aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY, region_name='us-east-1')
def get_amazon_product_data(asin, marketplace_id='ATVPDKIKX0DER'): """ 使用Amazon SPA API获取商品数据 """ response = client.get_products( MarketplaceId=marketplace_id, Asins=[asin] ) return response
示例用法asin = 'B016LO4UTA'product_data = get_amazon_product_data(asin)print(json.dumps(product_data, indent=4))使用 Selling Partner API 获取商品列表:pythonimport requestsimport json
替换为你的SP-API凭证LWA_CLIENT_ID = 'your_lwa_client_id'LWA_CLIENT_SECRET = 'your_lwa_client_secret'REFRESH_TOKEN = 'your_refresh_token'MARKETPLACE_ID = 'ATVPDKIKX0DER' # 美国市场ID
获取访问令牌token_url = 'https://api.amazon.com/auth/o2/token'token_data = {
'grant_type':'refresh_token', 'refresh_token': REFRESH_TOKEN, 'client_id': LWA_CLIENT_ID, 'client_secret': LWA_CLIENT_SECRET}token_response = requests.post(token_url, data=token_data)token_info = token_response.json()access_token = token_info.get('access_token')
构建API请求api_url = f'https://sellingpartnerapi-na.amazon.com/products/2020-10-01/products'headers = {
'Authorization': f'Bearer {access_token}', 'Content-Type': 'application/json', 'x-amz-marketplace-id': MARKETPLACE_ID}params = {
'query': '{"marketplaceIds": ["' + MARKETPLACE_ID + '"], "asinList": ["B016LO4UTA"]}'}
发送请求response = requests.get(api_url, headers=headers, params=params)
处理响应if response.status_code == 200: data = response.json() print(json.dumps(data, indent=4))else: print(f"请求失败,状态码:{response.status_code},错误信息:{response.text}")
录取汇总西宁巴士通手机版