《实测:一家店跑九家API一个月花多少?》(附Python源码)

简介: 本文澄清“亚马逊1400”系误读——实为已取消的ISV年费,卖家自用API当前全免费。实测九家平台单店月API费仅¥3.67–¥41.34,真正成本在于云资源(¥250/月)和1688高级资源包(¥165/月),而非按量扣费。

先纠标题两个误读:第一,"亚马逊1400"不是单店账单——那是2025.11原拟方案里第三方ISV开发者年费,0.40/千次GET超量也是针对ISV,且这套结构已在2026-05-12官方正式取消("will not move forward at this time"),当前卖家自用/第三方ISV调用费均为$0 。第二,实测结论可能让你意外——九家API调用费本身极低,单店月API费普遍在¥0~¥41区间,真正花钱的是云资源ECS+1688资源包,而非"按量扣费"。

一、实测结论:三种典型单店画像

画像 接入平台 月调用量 API月费 资源包摊销 ECS(估) 月度OPEX

自研标品单店 淘宝+京东+1688+拼多多+抖店(云内) ~6.6万 ¥3.67 ¥0 ¥250 ¥253.67

ISV单店(服1商家) 九家全接(云内) ~51万 ¥37.34 ¥165(1688包) ¥250 ¥452.34

铺货型单店 5家跨铺+自动上新 ~35.4万 ¥41.34 ¥165(1688包) ¥250 ¥456.34

关键洞察:API按量费最高才¥41/月(铺货型),最低¥3.67/月(自研标品)。淘宝/京东/苏宁因为企业日免额内(8万/5万/1万次)调用费=¥0;1688基础免费;亚马逊$0。真正让"ISV/铺货型"多花¥200的,是1688高级资源包¥1980/年÷12≈¥165/月——这是为提频(QPS 10→50/100/200)和实时库存付费,不是按次扣 。

二、九家逐家拆解(云内部署口径,2026.08现行)

平台 计费模式 云内单价 月费(自研/ISV/铺货) 一句话定性

淘宝TOP 免额内0+超量按量 基础¥0.02/百次,增值¥0.06 ¥0/¥2/¥0 企业日免额8万,自研几乎不超

京东JOS 免额内0+超量按量 ¥0.05/百次(云外×3) ¥0/¥5/¥0 面单按单另计

1688 基础免费+资源包年费 ¥0(QPS10);包¥980~2980/年 ¥0/¥165/¥165 不按次扣,提频才买包

拼多多 预充值按量 基础¥0.01/百次,增值¥0.03 ¥1.5/¥9/¥7.5 欠费硬断(非限流),云外×10

抖店 预充值按量 基础¥0.018/百次,增值¥0.05 ¥2.17/¥16.24/¥22.14 2026.7.1起商品发布收费

苏宁 免额内0+超量 ~¥0.03/百次(云外×3+) ¥0/¥1.5/¥0 小生态

微店 轻量自研免费 ¥0(QPS5) ¥0/¥0/¥0 重同步按需买包

快手 参考抖系 ~¥0.018/百次(云外×10) ¥0/¥3.6/¥11.7 无独立沙箱

亚马逊SP-API 当前0(原拟撤) 0 0/0/$0 Basic 2.5M GET警戒线留后手

拼多多/抖店是九家里唯一真正"按量扣钱"且单价不为零的两家(¥0.01/¥0.018),但单价极低——铺货型月调用12万次的抖店也才¥22。真正的成本杀手是"云外部署×10"和"欠费硬断",不是单价本身 。

三、亚马逊$1400的真相(标题误读澄清)

原拟1400/年是第三方ISV开发者年费(非卖家),Basic档含2.5M GET/月,超量0.40/千次;卖家自用Private App历来免费、现在仍免费 。实测同主体多店敞口(若原拟复活):

同主体店数 月GET总量 超量GET 超量费/月 含年费分摊/月

1店 19,500 0 0 116.67

5店 97,500 0 0 116.67

20店 390,000 0 0 116.67

100店 1,950,000 0 0 116.67

同主体20店以内月GET都压在Basic 2.5M免额内,超量费=0,仅年费分摊116.67/月。100店(分8个Key)才开始触碰超量线。这解释了为什么"$1400"对单店是噪声——它根本不是单店账单项 。

四、Python:九家单店月度成本实测测算器

single_shop_9platform_monthly.py

"""
九家电商API 单店月度成本实测测算器 (2026-08口径)

  • 三种典型画像: 自研标品 / ISV单店 / 铺货型
  • 分别输出九家月调用量/单价/API费/资源包摊销
  • 亚马逊单独列"若原拟复活"敞口对照
    计费参数来源: 各平台官方《开放平台技术服务费规则》(2026现行)
    """
    from dataclasses import dataclass
    from typing import Dict

PLAT = {
"taobao": {"kind":"A","label":"淘宝TOP","free":80000,"in":0.02/100,"out":0.20/100,"val_in":0.06/100},
"jd": {"kind":"A","label":"京东JOS","free":50000,"in":0.05/100,"out":0.15/100},
"1688": {"kind":"B","label":"1688","qps":10,"pack_year":(980,2980)},
"pdd": {"kind":"A","label":"拼多多","free":0,"in":0.01/100,"out":0.10/100,"val_in":0.03/100},
"douyin": {"kind":"A","label":"抖店","free":0,"in":0.018/100,"out":0.18/100,"val_in":0.05/100},
"suning": {"kind":"A","label":"苏宁","free":10000,"in":0.03/100,"out":0.10/100},
"weidian": {"kind":"B","label":"微店","qps":5},
"kuaishou":{"kind":"A","label":"快手","free":10000,"in":0.018/100,"out":0.18/100},
"amazon": {"kind":"C","label":"亚马逊SP-API","free":None},
}

@dataclass
class ShopProfile:
name: str; desc: str; in_cloud: bool
daily: Dict[str,int]
value: Dict[str,bool]
publish_month: Dict[str,int]
buy_pack: Dict[str,bool]

def unit(plat:str, in_cloud:bool, value:bool)->float:
p=PLAT[plat]
if p["kind"]!="A": return 0.0
if value: return p["val_in"] if in_cloud else 0.30/100
return p["in"] if in_cloud else p["out"]

def monthly_cost(plat:str, prof:ShopProfile)->Dict:
p=PLAT[plat]; d=prof.daily.get(plat,0); monthly=d30
if p["kind"]=="C":
return {"calls":monthly,"api_cost":0.0,"note":"2026.05.12取消,调用费$0;Basic 2.5M GET警戒线"}
if p["kind"]=="B":
if plat=="1688":
pack=round(1980/12,2) if prof.buy_pack.get(plat) else 0.0
return {"calls":monthly,"api_cost":0.0,"pack_amort":pack,
"note":"基础免费(QPS10)"+(f",资源包¥1980/年摊¥{pack}/月" if pack else ",无资源包")}
if plat=="weidian":
return {"calls":monthly,"api_cost":0.0,"pack_amort":0.0,"note":"基础免费(QPS5),重同步按需买包"}
free=p["free"]; over=max(0,monthly-free)
cost=over
unit(plat,prof.in_cloud,prof.value.get(plat,False))
pub=prof.publish_month.get(plat,0); pub_cost=0.0
if plat=="douyin" and pub>0: pub_cost=pub/1000.018 # 7.1起商品发布收费
return {"calls":monthly,"api_cost":round(cost+pub_cost,4),
"over_calls":over,"unit":f"¥{unit(plat,prof.in_cloud,prof.value.get(plat,False))
100:.4f}/百次",
"publish":pub,"publish_cost":round(pub_cost,4),"note":""}

def amazon_proposed_exposure(sellers:int,get_per_seller:int=19500,keys:int=1)->Dict:
total=sellersget_per_seller; per=total/keys
over=max(0,per-2_500_000)
keys; over_fee=over/10000.40
return {"sellers":sellers,"keys":keys,"get_month":f"{total:,}","over":f"{int(over):,}",
"over_fee":round(over_fee,2),"monthly":round(1400/12
keys+over_fee,2)}

def profile_ziying():
return ShopProfile("自研标品","5家国内自营,云内,推送替轮询",True,
{"taobao":400,"jd":300,"1688":500,"pdd":500,"douyin":400},{},{"douyin":30},{"1688":False})
def profile_isv():
return ShopProfile("ISV单店","服务商帮1商家接九家,云内",True,
{"taobao":3000,"jd":2000,"1688":2000,"pdd":3000,"douyin":3000,
"suning":500,"weidian":500,"kuaishou":1000,"amazon":2000},
{"taobao":False,"pdd":False,"douyin":False},{"douyin":200},{"1688":True})
def profile_puhuo():
return ShopProfile("铺货型","跨5家铺货,自动上新量大",True,
{"taobao":1500,"jd":800,"pdd":2500,"douyin":4000,"kuaishou":2500,"suning":300,"weidian":200},
{},{"douyin":3000,"kuaishou":1500},{"1688":True})

def print_report(prof:ShopProfile):
print(f"\n{'='70}\n画像: {prof.name} ({prof.desc})\n{'='70}")
print(f"{'平台':<9}{'月调用':>9}{'单价/百次':>12}{'API月费':>11}{'资源包/月':>11}{'备注':<24}") print("-"*70) t_api=t_pack=0.0 for plat in ["taobao","jd","1688","pdd","douyin","suning","weidian","kuaishou","amazon"]: r=monthly_cost(plat,prof); pack=r.get("pack_amort",0.0) t_api+=r["api_cost"]; t_pack+=pack print(f"{PLAT[plat]['label']:<9}{r['calls']:>9,}{r.get('unit','—'):>12}{'¥'+format(r['api_cost'],'.2f'):>11}{'¥'+format(pack,'.2f'):>11}{(r['note'][:23] if r['note'] else ('发布'+str(r.get('publish',0))+'次') if r.get('publish',0) else ''):<24}") total=t_api+t_pack print("-"*70) print(f"{'合计':<9}{'':>9}{'':>12}{'¥'+format(t_api,'.2f'):>11}{'¥'+format(t_pack,'.2f'):>11} API月度总成本 ¥{total:.2f}")
print(f" 云资源(ECS共享,估): ¥250/月")
print(f" ★ 月度真实OPEX ≈ ¥{total+250:.2f} (API¥{t_api:.2f}+包¥{t_pack:.2f}+ECS¥250)")

if name=="main":
for fn in (profile_ziying,profile_isv,profile_puhuo): print_report(fn())
print(f"\n{'='70}\n亚马逊SP-API 敞口防守(若原拟复活,同主体多店)\n{'='70}")
for n in (1,5,20,100):
e=amazon_proposed_exposure(n)
print(f" {e['sellers']:>4}店 {e['keys']}Key | GET/月{e['get_month']:>12} 超量{e['over']:>10} 超量费${e['over_fee']:<8} 月合计${e['monthly']}")

跑出来的核心三行(与上文报表一致):

自研标品 → API月费¥3.67 + ECS¥250 = 月度OPEX ¥253.67
ISV单店 → API¥37.34 + 1688包¥165 + ECS¥250 = 月度OPEX ¥452.34
铺货型 → API¥41.34 + 1688包¥165 + ECS¥250 = 月度OPEX ¥456.34

五、给老板的一句话成本定性

九家API按量费不是成本问题,是"几乎免费"——自研标品单店月API费¥3.67,ISV/铺货型也才¥37~¥41。真正决定账单的是三件事:① 云资源ECS(¥250/月,占OPEX 60%+);② 1688高级资源包(¥165/月,占ISV/铺货型 36%);③ 千万别云外部署——拼多多/抖店/淘宝/快手云外×10,一旦踩中单店月费能从¥41跳到¥400+ 。

至于"亚马逊1400"——对单店是伪命题:自用Private App历来免费,ISV年费已取消,同主体20店内都落在Basic免额内超量费=0。把预算从"担心API按量费"挪到"云内着色+推送替轮询+1688包按需",才是单店控本的正解。

源码文件如下,可直接 python3 single_shop_9platform_monthly.py 跑出你自己场景的九家月度账单:

single_shop_9platform_monthly.py

相关文章
人工智能 缓存 前端开发
10491 50
人工智能 JavaScript 开发工具
4107 13
开发工具 Swift git
1603 2
人工智能 Java BI
1016 1
人工智能 JavaScript 测试技术
1458 2
缓存 JavaScript Shell
1862 3
人工智能 JavaScript 测试技术
683 4
Shell API 调度
1014 3