Claude API 怎么接入?密钥申请、SDK 调用、rate limit 一次讲清
数据截至 2026-07,价格与限额以各官网为准。
接入 Claude API 本身不难:注册控制台、绑卡、建一个 key,用官方 SDK 十几行代码就能跑通第一次调用;真正需要提前想清楚的是两件事——rate limit 会不会卡住你的生产流量,以及你所在的网络环境能不能合规访问。
很多人第一次上手,卡点不在代码,而在”密钥到手了却调不通”或者”跑着跑着报 429”。这篇按真实接入顺序讲一遍,把容易踩的坑标出来。
第一步:申请 API 密钥
打开 console.anthropic.com 或 platform.claude.com。这两个域名在 2026 年已经合并指向同一个控制台,从哪个进都一样,不用纠结。
注册登录支持邮箱或 Google 账号,官方没有提供 Microsoft、Apple 那类第三方登录。这里有个和不少人预期不同的点:Claude 的 API 访问是自助式的,标准开发者账号没有人工审批队列,验证完邮箱就能建 key,不用像某些平台那样填一堆申请表等审核。
但光有 key 还发不出请求——必须先绑定支付方式(信用卡或借记卡)。这是新手最常见的第一个坑:代码写对了、key 也复制了,一调用就报鉴权或额度相关的错,回头一看是没绑卡。企业客户可以走对公发票,个人就是绑卡。
绑好之后,去控制台左侧 Settings → API Keys(或直接访问 .../settings/keys),点 Create Key。建议按用途起名,比如 Production、Staging、Local Dev 分开,将来某个环境泄露了单独吊销就行,不至于一锅端。
密钥只显示一次。它是 sk-ant- 开头的一长串,弹窗关掉就再也看不到明文了。当场复制、存进密码管理器或密钥服务,别只是瞄一眼就关。丢了没有找回,只能吊销重建。
一个安全底线:不要把 key 硬编码进代码,更不要提交进 Git。放环境变量 ANTHROPIC_API_KEY 里最省事,因为官方 SDK 默认就读这个变量。
第二步:SDK 最小调用
装好官方 SDK,把 key 塞进环境变量,剩下的就是几行。
Python 侧,先 pip install anthropic:
from anthropic import Anthropic
client = Anthropic() # 自动从环境变量 ANTHROPIC_API_KEY 读取密钥
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content": "你好,Claude"}],
)
for block in response.content:
if block.type == "text":
print(block.text)
TypeScript / Node.js 侧,先 npm install @anthropic-ai/sdk:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic(); // 自动从环境变量 ANTHROPIC_API_KEY 读取密钥
const response = await client.messages.create({
model: "claude-opus-4-8",
max_tokens: 1024,
messages: [{ role: "user", content: "你好,Claude" }],
});
for (const block of response.content) {
if (block.type === "text") {
console.log(block.text);
}
}
两个细节值得停一下。第一,max_tokens 是必填的,它限制的是这次输出的最大长度,不是上下文总长;忘了填会直接报错。第二,返回的 content 是一个块(block)数组,不是一个字符串——因为一次回复里可能混着文本块、工具调用块等多种类型,所以要遍历、判断 block.type == "text" 再取 .text。新手常犯的错是直接 response.content 当字符串打印,拿到的是一堆对象。
模型 ID 这里也提醒一句:4.6 世代起,模型 ID 不带日期后缀(比如就是 claude-opus-4-8),但它仍然指向一个固定快照,不是”永远最新”的别名。别自己去拼 claude-opus-4-8-20260101 这种后缀,是错的,会调不到。想换模型档位,直接改 model 字段的值即可,代码其它部分不用动。
第三步:搞懂 rate limit 和用量分级
跑通 demo 之后,上量之前一定要理解限速机制,否则生产环境突然 429 会很被动。
Claude 把账号分成 Start / Build / Scale / Custom 四档用量等级(usage tier),按你的实际消费自动升级,不需要手动申请。超过 Scale 档才要联系销售走 Custom。各档有月度消费上限:Start 约 500 美元、Build 约 1,000 美元、Scale 约 200,000 美元,Custom 无上限另议。
限速本身分三个维度,都是按模型分别计的:
- RPM:每分钟请求数;
- ITPM:每分钟输入 token 数;
- OTPM:每分钟输出 token 数。
举个官方给的参考量级感受一下:Start 档下,Opus 4.x 系列大致是 1,000 RPM、2,000,000 ITPM、400,000 OTPM 这个数量级,Sonnet、Haiku 各自单独算。这些数字官方会调整,具体以控制台和官网实时表格为准,别把它当成刻在石头上的承诺。
一个和整点重置不同的机制:它用 token bucket(令牌桶)算法持续补充配额,不是每分钟零点一次性清零。所以哪怕短暂超限,稍等几秒配额就回来一点,不用干等一整分钟。真超限了会返回 HTTP 429,响应头里带 retry-after(告诉你等几秒)和一串 anthropic-ratelimit-* 头显示当前剩余配额和重置时间。正确的做法是读这些头做指数退避重试,而不是无脑循环猛打。
还有一点容易忽略:Message Batches API、Managed Agents 各有独立的限速池,不和 Messages API 抢配额。如果你有大批离线任务,走 Batch 既省钱又不挤占实时接口的额度。
一个容易被忽略的提效点:缓存感知的 ITPM
这是 Claude 限速机制里很实用的一条,值得单独讲。
对大多数模型,缓存命中读取的 token(cache_read_input_tokens)不计入 ITPM 限速,只有未命中的 input_tokens 和缓存写入的 cache_creation_input_tokens 才算进去。换句话说,如果你的请求里有一大段固定前缀(系统提示、长文档、few-shot 示例),用 prompt caching 缓存起来,后续命中的那部分既省钱又不占限速额度,有效吞吐量能显著往上抬。
对高并发、重复前缀多的场景,这几乎是免费的性能提升。(一个例外:老的 Claude Haiku 3.5,缓存读取仍然计入 ITPM,用它的话别指望这条。)关于缓存怎么算钱、倍率是多少、怎么算回本,展开在计费那篇里更合适,见 Claude API 怎么计费?按 token 算钱、各模型价格、省钱调用法。
大陆访问的真实情况(诚实说明)
这一节必须说清楚,免得你白折腾。
截至 2026-07,中国大陆不在 Anthropic 官方受支持地区列表内。官方的受支持地区政策列了 195 个以上国家/地区,大陆不在其中。而且政策措辞不只针对大陆 IP,还针对”多数股权归属于受支持地区以外主体”的公司——也就是说,通过海外壳公司、关联方去绕,同样在政策约束范围内。
2026 年的趋势是趋严而非放宽。据多方媒体报道(这部分是二手信息,非 Anthropic 官方一手公告),Anthropic 因为发现大规模滥用,收紧了对大陆背景账号的检测和封禁,手段包括 IP 地理位置、账单国家、身份验证校验等,还关掉了一批此前用海外主体和云基础设施绕限制的通道。
所以结论是:目前没有官方合规渠道能从中国大陆直接申请、使用 Claude API。市面上确实有第三方中转、代理服务,但它们都游离在 Anthropic 服务条款之外,存在账号被封、数据安全等风险。本文只做现状说明,不推荐、不背书、也不提供任何具体渠道。如果是企业有正经合规需求,通常做法是通过新加坡、香港等受支持地区、且实际在当地注册运营的主体来申请,具体资格由 Anthropic 官方政策和账户团队认定,这不构成法律或合规建议。
如果你就是想在国内跑起来做开发学习,客观上还有一条路是用接口风格对齐、但模型是国产自研的替代服务。这属于另一个话题,不在本文展开。
常见坑 / 注意
- 绑卡才能调用:key 建好但没绑支付方式,一定报错,先绑卡。
- key 只显示一次:当场存好,别关弹窗后才想起来复制。
max_tokens必填:忘了会直接报错;它限的是输出长度不是上下文。- content 是块数组:遍历取
type == "text"的块,别当字符串。 - 429 要退避重试:读
retry-after头做指数退避,别死循环猛打。 - 模型 ID 别拼日期后缀:4.6 世代起就用短 ID,加日期反而调不到。
- 大陆无官方合规直连:别在这上面浪费时间找”官方国内通道”,没有。