💳 淘宝API并非全免费!基础接口免费额度详解 + 增值接口收费标准曝光(附Python源码)
淘宝开放平台(TOP) 把接口明确分为免费API / 基础收费API / 增值收费API三类。商品查询类大多有每日免费额度,订单同步类按量计费(聚石塔内很便宜),CRM/数据分析属增值包。下面把官方收费规则说清,并给你一个用量探测脚本判断当前应用是否触及计费线。
一、TOP API 收费分层(2026版官方规则)
类型 | 代表接口 | 是否收费 | 收费标准(参考) |
|---|---|---|---|
免费API | taobao.item.get(公开字段)、taobao.items.onsale.get(部分字段)、taobao.logistics.trace.get、taobao.tbk.*(淘宝客) | ✅ 免费,有日调用额度 | 个人≈数百~数千次/天;企业≈数万~百万次/天(视应用等级) |
基础API(收费) | taobao.trades.sold.get、taobao.trade.fullinfo.get、taobao.items.inventory.get、taobao.logistics.online.send | 💰 按量计费(超免费额度后) | 聚石塔内:≈¥0.02/百次 聚石塔外:≈¥0.20/百次 |
增值API(收费) | taobao.crm.members.get(高级RFM)、数据罗盘、竞品分析、会员深度洞察 | 💰 按量计费(增值包) | 聚石塔内:≈¥0.06/百次 聚石塔外禁止调用 |
淘宝客API | taobao.tbk.dg.material.optional、taobao.tbk.item.info.get | ✅ 免费调用(需备案淘宝客应用),日限约10万次(初级)~100万次(高级) | 成交后阿里妈妈扣佣金,API本身不收费 |
✅ 中小卖家ERP做商品同步+订单回写:基础API超免费额度后才按¥0.02~0.20/百次计费,通常月费极低或为零。
二、免费额度说明
- 免费API(商品查询等):每人/每个AppKey有日免费次数(个人偏低,企业经认证可提额),未超不扣费
- 基础API(订单类):每天也有少量免费调用量(通常够低频同步),超出按上表计费
- 淘宝客API:备案后免费,日限与账号等级挂钩
- 在开放平台控制台「统计分析 → API调用量」可查看当日各接口消耗
三、Python:免费/计费接口探测 + 用量提示
# top_fee_check.py
"""
淘宝TOP API 费用探测:
① 调免费接口 taobao.item.get → 验证连通 + 确认免费额度未耗尽
② 捕获限流/日额度提示
若订单接口(需session)返回 accesscontrol.limited-by-app-access-count → 日免费基础额度用完,超量按量计费
"""
import hashlib
import time
import requests
from typing import Dict, Optional
# 封装好API供应商demo url=https://console.open.onebound.cn/console/?i=Lex
class _FeeCheckClient:
def __init__(self, ak, ask, sandbox=False):
self.ak, self.ask = ak, ask
self.gw = ("https://gw.api.tbsandbox.com/router/rest" if sandbox
else "https://gw.api.taobao.com/router/rest")
def _sign(self, p: Dict) -> str:
filt = sorted((k, v) for k, v in p.items()
if v is not None and str(v).strip() != '' and k != 'sign')
qs = ''.join(f"{k}{v}" for k, v in filt)
return hashlib.md5(f"{self.ask}{qs}{self.ask}".encode()).hexdigest().upper()
def _call(self, method, biz, session=None):
p = {"method": method, "app_key": self.ak,
"timestamp": str(int(time.time() * 1000)),
"format": "json", "v": "2.0", "sign_method": "md5"}
if session: p["session"] = session
p.update(biz)
p["sign"] = self._sign(p)
r = requests.post(self.gw, data=p, timeout=15)
r.raise_for_status()
d = r.json()
if "error_response" in d:
err = d["error_response"]
code = str(err.get("code", ""))
sub = err.get("sub_code", "")
msg = err.get("msg", "")
# ── 费用/限流相关诊断 ──
if "limited-by-app-access-count" in sub:
print("\n🚨 【日调用额度耗尽】")
print(" → 免费额度已用完,超量按基础API费率计费(聚石塔内≈¥0.02/百次)")
print(" → 建议:1)减少全量翻页 2)用增量(modified)同步 3)申请提额")
elif "FLOW_CONTROL" in code or code == "7":
print(f"\n⚠️ 【QPS超限】退避重试即可(免费上限内)")
elif "no permission" in msg:
print(f"\n❌ 【无权限】接口未申请或需用企业应用(订单类)")
else:
print(f"\n❌ TOP Err[{code}][{sub}]: {msg} {err.get('sub_msg','')}")
raise Exception(f"TOP {code}: {msg}")
return d.get(list(d.keys() - {"error_response"})[0], {})
def probe_item_get(self, num_iid):
return self._call(
"taobao.item.get",
{"num_iid": str(num_iid),
"fields": "num_iid,title,price,pic_url,approve_status"}
).get("item", {})
def probe_sold_list(self, session, minutes_back=30):
"""订单列表探针(需卖家AccessToken,触发基础API计费检测)"""
from datetime import datetime, timedelta
now = datetime.now()
start = (now - timedelta(minutes=minutes_back)).strftime("%Y-%m-%d %H:%M:%S")
end = now.strftime("%Y-%m-%d %H:%M:%S")
return self._call(
"taobao.trades.sold.get",
{"fields": "tid,status,modified",
"start_modified": start, "end_modified": end,
"page_no": 1, "page_size": 1},
session=session
)
# 封装好API供应商demo url=https://console.open.onebound.cn/console/?i=Lex
# ======================= 运行 =======================
if __name__ == "__main__":
AK = "YOUR_APP_KEY"
ASK = "YOUR_APP_SECRET"
cli = _FeeCheckClient(AK, ASK, sandbox=False)
try:
# ① 免费接口探测
item = cli.probe_item_get("654321098765") # ← 替换真实num_iid
print(f"✅ 免费接口正常!商品: {item.get('title','N/A')}")
print(" → 此调用消耗【免费额度】,未超不收费")
# ② 如需检测订单接口(需传卖家AccessToken)
# cli.probe_sold_list(session="SELLER_ACCESS_TOKEN")
print("\n📋 费用小结:")
print(" • taobao.item.get / tbk.* → 免费额度内 ¥0")
print(" • trades.sold.get/fullinfo.get → 超免费额度后 ≈¥0.02/百次(聚石塔内)")
print(" • crm.增值分析 → 需购增值包 ≈¥0.06/百次")
print(" • 淘宝客API本身免费,成交后阿里妈妈扣佣金")
except Exception as e:
# 已在内层分类打印过
pass四、各接口收费归类速查表
接口 | 分类 | 说明 |
|---|---|---|
taobao.item.get | 免费API | 日免费额度,超量极低价或需提包 |
taobao.items.onsale.get | 免费API(部分字段) / 基础API(SKU库存需session) | 公开字段免费 |
taobao.trades.sold.get/ trade.fullinfo.get | 基础收费API | 超免费额度按量计费 |
taobao.logistics.online.send/ trace.get | 基础/免费 | 物流发送属基础API |
taobao.crm.members.get(高级) | 增值API | 需购包,聚石塔内调用 |
taobao.tbk.dg.material.optional | 免费API(淘宝客) | 备案后免费,日限与等级挂钩 |
五、降本建议
- 增量同步订单:用
start_modified/end_modified每5~30分钟拉变更 → 大幅减少调用量 - fields 只取需要字段:减少扫描量,不易触发隐性限流
- 聚石塔内部署:ECS在聚石塔内调用基础API单价低一个数量级(¥0.02 vs ¥0.20/百次)
- 日额度监控:控制台设告警,接近耗尽切增量模式或申请提额
六、一句话总结(面试/方案)
淘宝TOP平台:商品查询/淘宝客API有日免费额度不收费;订单同步/发货类是基础API超免费额度后按¥0.02(聚石塔内)/¥0.20(外)每百次计费;CRM深度分析/数据罗盘属增值API需购包。中小自营ERP通常零或极低费用。
需要我补 TOP OAuth2获取卖家AccessToken完整代码 或 订单增量同步APScheduler(带断点续跑+用量日志) 吗?