API 概览
了解 Claude API 的可用端点、身份验证标头、客户端 SDK、分页、速率限制以及云平台访问选项。
Claude API 是位于 https://api.anthropic.com 的 RESTful API,提供对 Claude 模型和 Claude Managed Agents 的编程访问。
前提条件
要使用 Claude API,您需要:
- 一个 Claude Console 账户
- 一个 API 密钥,或已配置的 Workload Identity Federation(工作负载身份联合)规则
有关分步设置说明,请参阅快速入门。
可用的 API
Claude API 包含以下 API:
- Messages API:向 Claude 发送消息以进行对话交互(
POST /v1/messages) - Message Batches API:以 50% 的成本折扣异步处理大量 Messages 请求(
POST /v1/messages/batches) - Token Counting API:在发送前统计消息中的令牌数,以管理成本和速率限制(
POST /v1/messages/count_tokens) - Models API:列出可用的 Claude 模型及其详细信息(
GET /v1/models) - Files API:上传和管理文件,以便在多个 API 调用中使用(
POST /v1/files、GET /v1/files) - Skills API:创建和管理自定义智能体技能(
POST /v1/skills、GET /v1/skills)
以下 API 处于 beta 阶段:
- Agents API:为 Claude Managed Agents 定义可复用、带版本的智能体配置(
POST /v1/agents、GET /v1/agents) - Sessions API:在托管云沙箱中运行有状态的智能体会话(
POST /v1/sessions、GET /v1/sessions/{id}/events/stream) - Environments API:为智能体会话配置沙箱模板(
POST /v1/environments、GET /v1/environments)
如需包含所有端点、参数和响应模式的完整 API 参考,请浏览导航中列出的 API 参考页面。要访问 beta 功能,请参阅 Beta 标头。
身份验证
有关每种身份验证方法的详细信息及其适用场景,请参阅身份验证。对 Claude API 的请求包含以下标头:
| 标头 | 值 | 是否必需 |
|---|---|---|
Authorization | Bearer <token>,其中 <token> 是您的 API 密钥,或通过 Workload Identity Federation 从 POST /v1/oauth/token 获取的短期访问令牌 | 是,除非已设置 x-api-key |
x-api-key | 您在 Console 中获取的 API 密钥。这是 Authorization 的旧版备用方式,仍受支持 | 否 |
anthropic-workspace-id | 请求运行所在的工作区的 ID(例如 wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ)。请参阅选择工作区。 | 使用多工作区 API 密钥时必需。对于其他 API 密钥为可选。不用于 Workload Identity Federation 令牌,这类令牌在令牌交换时选择工作区。 |
anthropic-version | API 版本(例如 2023-06-01) | 是 |
content-type | application/json | 是 |
如果您使用客户端 SDK,SDK 会自动发送身份验证、版本和 content-type 标头;当您的密钥需要时,您需自行传递 anthropic-workspace-id。有关 API 版本控制的详细信息,请参阅 API 版本。
通过云平台访问 Claude 时,身份验证与云提供商的 IAM 系统集成。有关支持的凭证类型、必需标头和身份验证选项,请参阅特定平台的文档。
获取 API 密钥
API 通过网页版 Console 提供。您可以使用 playground 在浏览器中试用 API,然后在账户设置中生成 API 密钥(请参阅获取您的 Claude API 密钥)。创建密钥时,您可以选择每个密钥的类型(请参阅密钥类型)及其过期时间。使用工作区来分隔环境,并按用例控制支出。
客户端 SDK
Anthropic 提供官方 SDK,通过处理身份验证、请求格式化、错误处理等来简化 API 集成。
优势:
- 自动管理标头(身份验证、
anthropic-version、content-type) - 类型安全的请求和响应处理
- 内置重试逻辑和错误处理
- 支持 "streaming"(流式传输)
- 请求超时和连接管理
有关客户端 SDK 列表,请参阅客户端 SDK。
Claude API 与云平台
Claude 可通过直接的 Claude API 和云平台获取。请根据您的基础设施、功能可用性、合规要求和定价偏好进行选择。
Claude API
- 直接访问最新的模型和功能
- Anthropic 计费和支持
- 最适合: 新集成、完整功能访问、与 Anthropic 建立直接关系
云平台 API
通过 AWS、Google Cloud 或 Microsoft Azure 访问 Claude:
- 与云提供商的计费和 IAM 集成
- 功能可用性因平台而异: Anthropic 运营的平台包括 Claude Platform on AWS 和 Microsoft Foundry;合作伙伴运营的平台包括 Amazon Bedrock 和 Google Cloud。有关功能可用性和时间安排,请参阅各平台的页面。
- 最适合: 已有云承诺、特定合规要求、统一云计费
| 平台 | 提供商 | 文档 |
|---|---|---|
| Agent Platform | Google Cloud | Google Cloud 上的 Claude |
| Amazon Bedrock | AWS | Amazon Bedrock 中的 Claude |
| Claude Platform on AWS | AWS(Anthropic 运营) | Claude Platform on AWS |
| Microsoft Foundry | Microsoft Azure(Anthropic 运营) | Microsoft Foundry 中的 Claude |
请求和响应格式
请求大小限制
| 端点 | 最大请求大小 |
|---|---|
| Messages、Token Counting | 32 MB |
| Message Batches API | 256 MB |
| Files API | 500 MB |
| Sessions、Agents、Environments | 32 MB |
如果超出这些限制,您将收到 413 request_too_large 错误。
响应标头
Claude API 在其响应中包含以下标头:
| 标头 | 描述 |
|---|---|
request-id | 请求的全局唯一标识符,例如 req_018EeWyXxfu5pfWkrYcMdjWG。当您就特定请求联系支持团队时,请附上它。请参阅请求 ID。 |
anthropic-organization-id | 请求中使用的 API 密钥或访问令牌所属组织的 ID。 |
anthropic-workspace-id | API 密钥或访问令牌解析到的工作区的 ID(以 wrkspc_ 为前缀),例如 wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ,包括该工作区是您组织的默认工作区的情况。当凭证未解析到工作区(例如 Admin API 请求)或请求在身份验证完成前失败时,该标头不存在。请参阅识别 API 响应背后的工作区。 |
有关速率限制标头,请参阅速率限制中的响应标头。有关使用各 SDK 按名称读取响应标头的示例,请参阅识别 API 响应背后的工作区。
分页
列表端点按页返回结果。大多数较新的列表端点使用本节所述的 page 和 next_page 游标方案。部分端点使用不同的方案;请参阅本节末尾的说明。使用 limit 查询参数控制页面大小,使用 page 查询参数获取相邻页面。每个响应都包含一个 data 数组以及用于在页面之间导航的游标字段。
| 名称 | 位置 | 描述 |
|---|---|---|
limit | 查询参数 | 每页返回的最大项目数。 |
page | 查询参数 | 来自先前响应的不透明游标。在此处传入 next_page 或 prev_page 值以获取相邻页面。 |
order | 查询参数 | 结果的排序方向(asc 或 desc),适用于支持排序的列表端点。page 游标仅在与创建它时所用的 order 一起使用时有效。 |
next_page | 响应字段 | 下一页的游标,如果没有更多结果则为 null。 |
prev_page | 响应字段 | 在支持向后分页的端点(目前为 GET /v1/sessions)上为上一页的游标,如果您位于第一页则为 null。其他列表端点省略该字段。 |
要返回上一页,请将 prev_page 作为 page 参数传入。当您位于第一页时,prev_page 为 null。并非所有列表端点都支持 prev_page。只有 GET /v1/sessions 返回 prev_page;在不支持向后分页的列表端点上,该字段不会出现在响应中,而不是为 null。有关请求演示,请参阅列出会话。
每个 SDK 都提供一个自动分页迭代器,可为您跟随 next_page。在 Python 和 TypeScript 中,您可以通过直接迭代列表结果来获得它。其他 SDK 通过单独的方法提供该迭代器。SDK 自动分页仅支持向前;要返回上一页,请自行从响应中读取 prev_page 并将其作为 page 参数传回。有关特定语言的详细信息,请参阅客户端 SDK。
速率限制和可用性
速率限制
API 实施 rate limit(速率限制)和支出限制,以防止滥用并管理容量。限制按使用层级组织;您的组织会被自动分配到某一层级,并可随时间升级到更高层级。每个层级具有:
- 支出限制:API 使用的每月最高费用
- 速率限制:每分钟最大请求数(RPM)和每分钟最大令牌数(TPM)
您可以在 Console 的速率限制页面查看您的速率限制,在计费页面查看您的支出限制。如需更高的速率限制或更高的每月支出上限,请使用速率限制页面上的申请提高速率限制。
有关限制、层级以及用于速率限制的令牌桶算法的详细信息,请参阅速率限制。
可用性
Claude API 在全球许多国家和地区可用。请查看支持的地区页面以确认您所在位置的可用性。
后续步骤
用于直接模型交互的完整 API 规范
Agents、Sessions 和 Environments 端点
Python、TypeScript、C#、Go、Java、PHP 和 Ruby
使用层级、申请更高限制以及令牌桶算法
Was this page helpful?