如何获取 Anthropic API Key 并发出第一次 Claude 请求

从 Anthropic Console 创建 API Key,用 curl 与 Python SDK 完成第一次 Claude 请求,掌握 header 鉴权、错误码排查,并在 Apifox 中保存可复用的测试。

用 Apifox,节省研发团队的每一分钟

如何获取 Anthropic API Key 并发出第一次 Claude 请求

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

Anthropic API Key 是你向 Claude API 发送每个请求时携带的凭据。它以 sk-ant- 开头,在 Claude Console 中创建,用量会从所在组织的预付额度中扣费。如果你从未接触过它,我们关于 API Key 是什么的入门文章已经讲清了通用概念。本指南聚焦具体操作:创建 Console 账号、充值额度、生成作用域正确的 Key、用 curl 和 Python SDK 发出第一个 Messages 请求,以及之后如何让 Key 远离麻烦。

Anthropic 官方的 get your API key 页面只告诉你按钮在哪,不会告诉你第一次请求为什么返回 401、当前该用哪个模型 id,或者如何在不把 Key 贴进 shell 历史记录的前提下测试它。下面的内容负责补齐这些。

AI Coding 交流群

如果你也在用 AI 写代码,或者正在研究 Cursor、Claude Code 这些工具,欢迎加入以下交流群。群里平时会聊一些 AI 编程的实际用法、开发工作流,还有各种新工具和新玩法。

开始之前需要准备什么

  • 一张支付卡。API 采用预付制,只有 Admin 或 Billing 角色可以购买额度。
  • curl,或者运行 SDK 示例所需的 Python 3.10+。
  • Apifox,用于把 Key 存为本地变量,并把请求保存为可重复运行的测试。免费版最多支持四人团队。

第 1 步:创建 Claude Console 账号

在 platform.claude.com 注册。注册会创建一个带 Default Workspace 的组织,你的 Key、额度和速率限制都挂在它下面。如果同事已经创建过,请让对方邀请你,而不是再建一个组织:额度和用量等级都无法转移。

第 2 步:在第一次调用前充值额度

是的,额度要先充。Anthropic 的计费文档说得很直接:先购买额度再使用 API,余额为零时 API 和 playground 都无法使用。新用户会获得少量免费额度用于测试,所以购买前先查看余额,但请把它当作额外福利,而不是长期方案。

打开 Settings > Billing 并点击 Buy credits。如果跑的是无人值守的任务,请开启自动充值。当前步骤见 how to purchase credits。你的组织还会被划入某个用量等级,并带有月度消费上限,这部分在速率限制一节说明。

第 3 步:创建 API Key

进入 Settings > API keys,点击 Create key。有四个选项需要留意:

  • Name:按应用命名,而不是按人命名。orders-service-staging 比 my key 好。
  • Expiration:可选 3 小时到 30 天、自定义或 Never。测试用就选短有效期;创建后无法修改。
  • Linked account:个人 Key 关联你自己,共享用途则关联服务账号。个人 Key 会随你离开组织而失效。
  • Workspace:限定到单个 workspace 后就可以省掉 anthropic-workspace-id header。多 workspace 的 Key 必须在每个请求中带上它,否则会收到 400。

Console 只完整显示一次 Key,请直接复制到你的密钥管理器中,没有再次查看的按钮。如果 Create key 是灰的,说明你的角色没有创建 Key 的权限,找管理员处理。

第 4 步:每个请求都需要的三个 header

每次调用 POST https://api.anthropic.com/v1/messages 都要带三个 header。

Header 取值 说明
x-api-key 你的 sk-ant-... Key Authorization: Bearer <key> 同样可用,并且现在是文档中的主要形式;x-api-key 是旧版回退方式,仍然受支持
anthropic-version 2023-06-01 必填。用于固定响应格式。该日期是稳定的,不与模型发布绑定
content-type application/json JSON body 必填

官方 SDK 会替你发送这三个 header。直接用原始 HTTP 或 API 客户端时需要显式写出,大多数首次请求失败都出在这里。完整参考:Claude API overview。

第 5 步:发出第一个 Messages 请求

body 需要 model、max_tokens 和 messages。请使用当前有效的模型 id:截至 2026 年 9 月为 claude-opus-5(推荐的默认选项)、claude-fable-5-1(能力最强)、claude-sonnet-5 和 claude-haiku-4-5。较旧的 3.x 和 4.x id 会返回 404 或指向已下线的模型,当前 id 不带日期后缀。Claude Opus 5 API walkthrough 更深入地讲解了 thinking、effort 和流式输出。

curl

export ANTHROPIC_API_KEY="sk-ant-api03-..."

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Write a one-sentence OpenAPI description for POST /orders, which creates an order and returns 201."}
    ]
  }'

一个成功的响应,已截断:

{
  "id": "msg_01...",
  "role": "assistant",
  "model": "claude-opus-5",
  "content": [{"type": "text", "text": "Creates a new order and returns it with a 201 status."}],
  "stop_reason": "end_turn",
  "usage": {"input_tokens": 31, "output_tokens": 24}
}

从 content[].text 读取文本,确认 stop_reason 为 end_turn,并保留 usage 用于成本核算。出问题时,支持人员要的就是 request-id 响应 header。

Python SDK

pip install anthropic
import anthropic

client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY from the environment

message = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": "Write a one-sentence OpenAPI description for POST /orders, which creates an order and returns 201.",
    }],
)

for block in message.content:
    if block.type == "text":
        print(block.text)

SDK 会读取 ANTHROPIC_API_KEY,自动加上 version 和 content-type header,并对 429 和 5xx 以退避策略重试两次。不要把 Key 写成字符串字面量;用环境变量才是关键。

第 6 步:在 Apifox 中存储并测试 Key

粘贴到 shell 里的 Key 会留在历史记录文件中,存进共享请求里的 Key 会同步给同事。Apifox 把这两者分开:请求结构共享,密钥留在你自己的机器上。

把 Key 存为本地变量。打开 Environment Management,创建名为 Anthropic 的环境,并添加变量 ANTHROPIC_API_KEY。共享值保持为 SET_LOCALLY,把真实的 Key 粘贴到本地值中,本地值只留在客户端缓存里,永远不会同步。我们关于 Apifox 环境和密钥变量的指南讲解了作用域规则。

一次性设置 header。在同一个面板的 Headers 下添加两个全局参数:x-api-key 设为 {{ANTHROPIC_API_KEY}},anthropic-version 设为 2023-06-01。它们对该项目中的所有请求生效,JSON body 的 content-type 由 Apifox 自动添加。

发送第一个请求。新建请求,POST 到 https://api.anthropic.com/v1/messages,粘贴 curl 示例中的 JSON body,然后发送。打开 Actual Request 标签页,确认两个 header 都已发出且变量已解析。要证明 401 是 header 问题而不是 Key 问题,这个标签页是最快的办法。

把它保存为测试。把请求保存为接口用例,然后添加三条断言:状态码等于 200、stop_reason 等于 end_turn、usage.output_tokens 大于 0。从 Apifox CLI 运行它,并在运行时从 CI 密钥库注入 Key。这样就能对 Key、header 和模型 id 做一键冒烟测试。

速率限制与一次请求的成本

限制按组织和模型分别计算:每分钟请求数(RPM)、每分钟输入 token 数(ITPM)、每分钟输出 token 数(OTPM)。只有未命中缓存的输入才计入 ITPM,因此 prompt 缓存可以在不改变用量等级的情况下提升吞吐。以下数据来自 rate limits documentation:

Tier 月度消费上限 Claude Opus 5 (RPM / ITPM / OTPM) Claude Fable 5.x (RPM / ITPM / OTPM)
Start $500 1,000 / 2M / 400K 1,000 / 500K / 100K
Build $1,000 5,000 / 5M / 1M 2,000 / 1.5M / 300K
Scale $200,000 10,000 / 10M / 2M 4,000 / 4M / 800K
Custom 无 协商确定 协商确定

Sonnet 5 和 Haiku 4.5 在各等级下与 Opus 5 使用相同的数值。每个响应都带有 anthropic-ratelimit-*-remaining 和 -reset header,因此不必轮询 Console 就能观察剩余额度。

按每百万 token 计,来自 pricing page:Opus 5 为输入 $5 / 输出 $25,Sonnet 5 为 $2 / $10,Fable 5.1 为 $10 / $50,Haiku 4.5 为 $1 / $5。缓存读取按输入价格的 10% 计费(Fable 5.1 为 2.5%),Batch API 则把输入输出都减半。第一次 curl 请求的成本不到一美分。

常见错误及修复方法

错误以 JSON 返回,包含 error.type 和 request_id。errors reference 列出了所有错误码;下面这些是你最先会遇到的。

状态码与类型 常见原因 修复方法
401 authentication_error Key 格式错误、被撤销、已过期,或环境变量为空 echo $ANTHROPIC_API_KEY 并检查是否有末尾空白字符;如果已过期就新建一个 Key
400 invalid_request_error 缺少 max_tokens、JSON 格式错误、多 workspace Key 未带 anthropic-workspace-id、在 4.7+ 模型上使用 thinking.type: enabled,或触发了你设置的消费上限 读取 error.message,其中会指出具体字段或限制
404 not_found_error 模型 id 拼写错误、猜了一个带日期后缀的 id、模型已下线,或路径错误 使用当前模型表中的 id,并确认路径是 /v1/messages
402 billing_error 支付或额度问题 检查 Settings > Billing
429 rate_limit_error 超过了 RPM、ITPM 或 OTPM 等待 retry-after 指定的秒数后重试。如果没有 retry-after header,说明你触及了该等级的月度消费上限(error_code: enforced_spend_limit_reached)
500 api_error / 529 overloaded_error Anthropic 侧的错误或流量过高 以退避策略重试;保留 request_id

Key 使用规范:轮换、作用域,以及绝不放进客户端代码

绝不要把 Key 发到浏览器或移动应用中。JavaScript 打包产物或 APK 里的任何内容几分钟内就会公开。请把调用放到自己的后端之后。对于必须直接调用 Claude 的 Apple 应用,App Attest 会为经过验证的构建签发短期 token,而不用静态 Key。

每个应用、每个环境一个 Key。把 staging 和 production 的 Key 放在不同 workspace 中,就能限制 staging 的消费,并在撤销其中一个时不影响另一个。

定期轮换。创建新 Key、部署、确认可用,然后删除旧 Key。Disable 可以撤销,Delete 是永久的。怀疑泄露时,先禁用再排查。仓库中的密钥扫描工具能捕捉到那些在没人注意时就被提交的 Key。

生产环境优先使用短期凭据。Workload Identity Federation 会用你云服务商的身份 token 换取短期的 Claude token,这样根本不存在可泄露的 sk-ant- 字符串。

常见问题

Anthropic API Key 和 Claude API Key 是同一个东西吗?

是的。Console、SDK 和文档现在都叫「Claude API」,Key 的格式和 header 完全相同。较早的教程里说「Anthropic API key」指的是同一种凭据。

可以免费获得 Anthropic API Key 吗?

创建 Key 本身是免费的。使用它会消耗预付额度,Anthropic 的定价页面说明新用户会获得少量免费额度用于测试。如果你打算不付费就运行真实工作负载,在围绕这些做法做规划之前,先读一读我们对免费 Claude API 访问的坦诚分析。

Claude Pro 或 Max 订阅包含 API 访问权限吗?

不包含。Claude.ai 订阅和 Console API 额度是分开计费的。即使你已经为 Claude.ai 付费,也仍然需要一个有额度的 Console 组织。

Key 过期后会怎样?

请求会返回 401 authentication_error。过期的 Key 无法重新激活,因此需要新建一个并更新环境变量。对于有效期足够长的 Key,Anthropic 会在到期前 7 天和 1 天给 Key 的创建者发邮件。

下一步

创建一个 7 天有效期的 Key,放进 Apifox 本地变量,跑一遍冒烟测试,然后才接入代码。如果这一步通过,说明凭据、header 和模型 id 都没问题,之后再遇到的 401 就是真正的问题,而不是拼写错误。

开发必备:API 全流程管理神器 Apifox

介绍完上文的内容,我想额外介绍一个对开发者同样重要的效率工具 —— Apifox。作为一个集 API 文档、调试、设计、测试、Mock、自动化测试于一体的工具,Apifox 是目前提升研发效率的首选。

如果你正在开发项目,不妨试试其极其友好的界面设计,它完全兼容 Postman 和 Swagger 数据格式,导入数据非常方便,,即使是新手也能很快上手,点击这里即可注册使用。

Apifox

值得一提的是,除了个人和常规团队使用,针对有高安全合规要求、或需要在内网环境协作的企业,Apifox 还提供了深度定制的私有化部署方案。

获取专属报价与部署方案

icon 详细的私有化部署系统架构与安全白皮书
icon 针对您公司规模的专属报价单
icon 免费的 1v1 专属产品演示 (Demo) 机会
获取部署方案
* 提交后,我们的客户经理将在 1 个工作日内与您联系
林俊锋 企业微信
@Apifox 专属顾问
扫码备注: 私有化 + 公司名