🧾《淘宝API并非全免费!基础免费额度+增值收费分层全曝光》(附Python源码)

简介: 淘宝TOP API实为三层计费:免费(有日额度)、基础收费(超免额后塔内¥0.02/百次、塔外¥0.20)、增值API(塔内¥0.06/百次且须签约入塔,塔外禁止)。中小ERP日调万次内通常免费;超限或调用CRM/罗盘即触发计费或权限拦截。

结论先拍:淘宝TOP的API不是“全免费”,而是三层结构——免费API(有日额度上限)+ 基础收费API(超免额按量,塔内¥0.02/百次、塔外¥0.20/百次)+ 增值API(塔内¥0.06/百次、塔外禁止调用且需签增值协议)。中小自研ERP在日调用数万次以内通常落在免费额度里=0元;一旦超免额或碰CRM/数据罗盘,账单和权限墙会同时出现。

一、官方收费分层(2026现行《开放平台技术服务费规则》)

层级 代表接口 是否收费 收费标准(超免费额度后) 关键约束

免费API taobao.item.get、items.onsale.get、logistics.trace.get、taobao.tbk.*(淘宝客) ✅ 免调用费 有日调用额度(个人数百~数千/天,企业数万~百万/天,视应用等级) 超日额度触发限流或转入基础计费口径

基础收费API trades.sold.get、trades.sold.increment.get、trade.fullinfo.get、items.inventory.get、logistics.online.send 💰 超免额按量 塔内¥0.02/百次/AppKey;塔外¥0.20/百次/AppKey 按月实际调用量结算,无包月

增值API crm.members.get(RFM/会员洞察)、数据罗盘、竞品行业大盘、营销权益类 💰 按量+签约 塔内¥0.06/百次/AppKey;塔外❌禁止(未经平台允许不许调) 必须聚石塔内+签《增值接口协议》+购对应增值包

菜鸟物流接口 物流流转查询 💰 按量 塔内¥0.02/百次,塔外¥0.20/百次 同基础API档

物流异常-菜鸟 异常查询 💰 按量 塔内¥0.10/百次,塔外¥0.50/百次

DSS订单同步服务 推送至塔内RDS 💰 按订单量 ¥0.12/百单(历史曾0.06,现执行0.12) 欠费按天逐级限流/停推

官方原文锚点:基础API塔内0.02/外0.2,增值API塔内0.06/外0.6且“增值API未经过平台允许禁止聚石塔外调用”。

二、免费额度到底“免多少”

官方不对外承诺固定数字,但实际运行中:

  • 个人开发者:日免费调用约 数百~数千次,调订单类极易触线。
    • 企业自研(已实名+店铺授权):日免费额度常见 5万~100万次/AppKey,取决于应用等级、是否入塔、店铺体量。

  • 免费API(商品/淘宝客/物流轨迹):在免额内零费;淘宝客本身免调用费,成交后阿里妈妈抽佣。
    • 控制台路径:开放平台→统计分析→API调用量,能看到“当日已免额/已计费”水位。

误区:“淘宝API免费”= 只对了前半句。免费的是‘额度内基础读’,订单增量高频跑、会员RFM、罗盘洞察,全在计费或禁调区。

三、什么时候开始花钱(算账)

单店ERP做订单增量同步,假设日调 trades.sold.increment.get 1万次(5分钟一轮+明细补全):
• 月调用 30万次

• 企业免额按 8万/天 = 240万/月 → 30万 < 240万,0元

• 若日调 10万次(大促或10店轮询)→ 月300万 > 240万免额 → 超60万次 × 0.02/百次(塔内) = ¥120/月

  • 同上若傻到塔外跑 → 60万次 × 0.20/百次 = ¥1200/月(10倍)

增值场景:自研CRM拉会员RFM,日调 crm.members.get 5000次(塔内必须)
• 月15万次 × 0.06/百次 = ¥90/月 + 必须签增值包/冻资/入塔

  • 塔外调 → 直接 no permission / 非聚石塔调用,不是扣费是拦截

四、Python:免费/计费分层探测 + 用量预警

top_fee_lens.py

"""
淘宝TOP API 收费分层自检

  • 按接口名归类 免费 / 基础收费 / 增值
  • 注入当日已用调用量 + 估计日免额 → 判断是否触计费线
  • 捕获 limited-by / no permission 特征
    """
    import hashlib, time, requests
    from typing import Dict

接口分层表(按需补全)

FREE_APIS = {"taobao.item.get","taobao.items.onsale.get","taobao.logistics.trace.get",
"taobao.tbk.dg.material.optional","taobao.tbk.item.info.get"}
BASE_APIS = {"taobao.trades.sold.get","taobao.trades.sold.increment.get",
"taobao.trade.fullinfo.get","taobao.items.inventory.get",
"taobao.logistics.online.send"}
VALUE_APIS = {"taobao.crm.members.get","taobao.crm.member.info.get",
"taobao.data.roofd.","taobao.ju.data."} # 罗盘/竞品类按前缀匹配

def classify(method: str) -> str:
if method in FREE_APIS: return "free"
if method in BASE_APIS: return "base"
if method in VALUE_APIS or method.startswith(("taobao.crm.", "taobao.data.")):
return "value"
return "base" # 未知默认按基础谨慎处理

class TopFeeLens:
IN_BASE = 0.02/100
OUT_BASE = 0.20/100
IN_VALUE = 0.06/100

def __init__(self, app_key, app_secret, in_tower: bool,
             est_free_daily: int = 80_000):
    self.ak = app_key; self.ask = app_secret
    self.in_tower = in_tower
    self.free_daily = est_free_daily
    self.today_base_calls = 0

def _sign(self, p):
    f = sorted((k,v) for k,v in p.items() if k!="sign" and v is not None and str(v)!="")
    qs = "".join(f"{k}{v}" for k,v in f)
    return hashlib.md5(f"{self.ask}{qs}{self.ask}".encode()).hexdigest().upper()

def pre_check(self, method: str):
    tier = classify(method)
    if tier == "free":
        return f"✅ {method} 属免费API,免额内0元(注意日总调用上限)"
    if tier == "value":
        if not self.in_tower:
            raise PermissionError(f"❌ {method} 增值API禁止塔外调用,必须聚石塔内+签增值协议")
        return f"💰 {method} 增值API 塔内¥0.06/百次,需签约增值包"
    # base
    if self.today_base_calls >= self.free_daily:
        unit = self.IN_BASE if self.in_tower else self.OUT_BASE
        return f"⚠️ 超免额,按量{unit*100:.3f}元/百次(塔{'内' if self.in_tower else '外'})"
    remain = self.free_daily - self.today_base_calls
    return f"✅ 基础API在免额内(剩{remain}次),0元"

def call(self, method, biz, token=None, max_retry=3):
    tip = self.pre_check(method)
    print(tip)
    if tip.startswith("❌"):
        raise PermissionError(tip)
    params = {"method":method,"app_key":self.ak,
              "timestamp":str(int(time.time()*1000)),"format":"json",
              "v":"2.0","sign_method":"md5"}
    if token: params["access_token"]=token
    params.update(biz); params["sign"]=self._sign(params)
    for att in range(max_retry):
        r = requests.post("https://gw.api.taobao.com/router/rest", data=params, timeout=15)
        d = r.json()
        if "error_response" in d:
            err = d["error_response"]
            sub = err.get("sub_code","")
            msg = err.get("msg","")
            if "limited-by-app-access-count" in sub or "FLOW_CONTROL" in sub:
                self.today_base_calls = self.free_daily + 1  # 标记已超免额
                time.sleep(2**att); continue
            if "no permission" in msg and classify(method)=="value":
                raise PermissionError("❌ 增值API无权限:未签增值协议/未入塔")
            raise Exception(f"{sub}: {msg}")
        self.today_base_calls += 1
        return d
    raise RuntimeError("retry exhausted")

if name == "main":
lens = TopFeeLens("AK", "AS", in_tower=True, est_free_daily=80_000)

# 场景1:商品查询(免费)
print(lens.pre_check("taobao.item.get"))
# 场景2:订单增量(基础,免额内)
print(lens.pre_check("taobao.trades.sold.increment.get"))
# 场景3:CRM会员(增值,塔内)
print(lens.pre_check("taobao.crm.members.get"))
# 场景4:CRM会员(增值,塔外模拟)
lens2 = TopFeeLens("AK","AS", in_tower=False)
try:
    print(lens2.pre_check("taobao.crm.members.get"))
except PermissionError as e:
    print(e)

跑出来逻辑:
• item.get → ✅ 免费API

• trades.sold.increment.get → ✅ 基础在免额内 / ⚠️ 超免额按量

• crm.members.get 塔内 → 💰 增值0.06/百次

  • crm.members.get 塔外 → ❌ 禁止调用

五、避坑三条

  1. “淘宝客免费”但有限:tbk.* 免调用费,但日调用上限按账号等级(初级~10万/高级~100万),且成交抽佣不是平台收你API费,是阿里妈妈收商家佣金,两码事。
  2. 免额不是“企业一律100万/天”:应用刚创建、无入塔、无店铺授权,免额可能只有几千;入塔+企业实名+自研标签才会放大到数十万级。
  3. 增值API的墙是“权限墙”不是“价格墙”:塔外调CRM不是贵10倍,是返回 no permission,必须先做三件事——入聚石塔、交MRD、签增值协议购包,否则¥0.06/百次这价都摸不到。

一句话收口:淘宝API的免费只覆盖“额度内的基础读”,订单高频同步超免额才按0.02/百次(塔内)计费,会员/罗盘类连计费入口都要先签协议入塔;做ERP时把“日调用量 vs 估计免额”做成启动自检,比事后看账单有用十倍。

要不要我把上面 TopFeeLens 改成读控制台导出的CSV调用日志 → 自动判定各AppKey是否触免额线 + 预估月度账单(塔内/塔外对照),直接嵌进中台调度器每天早上报一次?

相关文章
|
3月前
|
算法 安全 API
《淘宝开放平台TOP API接入全指南:注册、AppKey获取、签名算法与沙箱调试(2026)》(附python源码)
淘宝开放平台(TOP)是淘宝/天猫官方API体系,区别于1688。本文涵盖注册、AppKey获取、MD5/HmacMD5签名(ASCII排序+首尾拼Secret)、沙箱调试(`tbsandbox.com`网关)及Python可运行示例,含`taobao.item.get`调通验证与避坑指南。(239字)
|
3月前
|
API Python
《淘宝客API(taobao.tbk.*)获取商品列表与佣金信息实战附源码》
本文详解淘宝客API(taobao.tbk.*)实战:无需店铺授权,仅需备案应用、绑定PID,调用`taobao.tbk.dg.material.optional`等接口实现关键词搜爆款、获取券后价/佣金率/月销量,并附Python封装客户端与佣金计算逻辑,含避坑指南与完整可运行示例。(239字)
|
6月前
|
缓存 监控 API
淘宝商品评论API调用常见问题及解决方案
淘宝商品评论 API(taobao.item.reviews.get)调用最常见问题集中在权限、签名、限流、参数、数据解析、风控六大类,下面按问题类型整理现象、原因与可直接落地的解决方案。
|
20天前
|
供应链 API Python
[特殊字符]《别用错Key!京东联盟免费接口被当商家接口调,月烧¥8000的惨案》(附Python源码)
京东联盟Key(jd.union.open.*)与商家JOS Key(jingdong.*等)完全独立:前者调用免费、靠CPS分佣,但无真实库存/订单权限;后者有日免额,超量云内¥0.02~0.10/百次、云外×3~×10。惨案常因Key错配——用联盟Key拉不到库存,又开云外商家Key狂刷,致月费超¥8000。需严格隔离类型、校验method前缀、禁用云外基础接口。(239字)
|
2月前
|
弹性计算 安全 API
🏯《淘宝TOP API聚石塔内 vs 聚石塔外价差10倍:ERP迁云到底值不值?》(附Python源码)
淘宝TOP API迁聚石塔:基础调用塔内¥0.02/百次(塔外¥0.20),价差10倍;增值API(CRM/解密/罗盘)塔外完全禁用。日调超1.5万次即回本,5万+月净省数百元。更关键的是DSS推送降轮询、御城河安全、大促弹性三大不可替代红利。(239字)
|
5月前
|
数据采集 人工智能 API
2026 淘宝 API 接口实用指南:从资质申请到实战避坑
2026年淘宝API接入指南:详解账号资质(个人/企业/服务商权限差异)、凭证获取(新增场景核验)、高频接口实战(商品/订单/支付回调代码)、签名避坑、合规要点及工具推荐,助开发者高效安全对接。
2660 0
|
2月前
|
机器学习/深度学习 人工智能 NoSQL
刷了100份简历,面试了50个校招生,我想对测试开发的应届生说点真心话
本文揭秘技术面试5大潜规则:别轻视测试深度、慎写“熟悉”技能、重项目实操而非八股文、真懂AI而非仅蹭热点、理性谈薪重成长。面向测试开发/AI方向应届生,强调代码能力、架构思维与质量意识,助你避开雷区,脱颖而出。
|
2月前
|
人工智能 自然语言处理 数据可视化
阿里云万小智到底多少钱?15元1个月是真的吗?还送CN域名吗?
阿里云万小智AI建站,轻量版仅15元/月(180元/年),支持内地/香港节点(香港免备案),免费送.CN域名及2000灵感值,零代码生成网站与小程序,含可视化编辑、AI创作及托管服务。阿里云万小智官网:https://t.aliyun.com/U/FmBHHe
279 0
|
2月前
|
BI 定位技术 数据安全/隐私保护
同城O2O系统开发流程解析:需求分析、功能规划与上线步骤
本文围绕同城O2O系统开发流程展开,介绍需求分析、功能规划、技术开发和上线验证等关键环节,帮助理解本地生活类平台从设计到落地的完整路径。
|
2月前
|
NoSQL API 调度
《多平台ERP架构选型:五家API收费模型倒推出来的最优解》(附python源码)
本文提出多平台ERP最优架构设计:基于淘宝、京东、1688、拼多多、抖店五大平台差异化收费模型,反向推导出“强制云内部署、推送优先同步、配额余额内嵌守卫”三大铁律,并给出分层适配架构与Python统一守卫骨架,实现成本可控、高可用、可扩展的电商集成方案。(239字)