速率限制 API
使用速率限制 API 以编程方式查询您组织的 API 速率限制。
速率限制 API(Rate Limits API)提供对为您的组织及其工作区配置的 "rate limit"(速率限制)的编程访问。这与 Claude Console 中速率限制页面上显示的信息相同。
使用此 API 可以:
- 保持网关和代理同步: 在启动时和按计划读取您当前的限制,而不是硬编码那些在 Anthropic 调整后会产生偏差的值。
- 支持内部告警: 将来自使用量和成本 API 的使用数据与您配置的限制进行比较。
- 审计工作区配置: 验证工作区覆盖设置是否与您的配置自动化所期望的一致。
本页面上的 SDK 和 CLI 示例构造默认客户端,该客户端从 ANTHROPIC_API_KEY 环境变量中读取 Admin API 密钥。SDK 将这些端点公开为 client.beta.organization.rate_limits 和 client.beta.organization.workspaces.rate_limits;Python、TypeScript、C#、Go 和 Java 的 list 方法返回一个会自动为您跟随 next_page 的迭代器,而 PHP、Ruby 和 curl 示例只读取一页。
快速开始
列出为您的组织配置的速率限制:
client = anthropic.Anthropic()
rate_limits = client.beta.organization.rate_limits.list()
for group in rate_limits:
models = f" ({', '.join(group.models)})" if group.models else ""
print(f"{group.group_type}{models}")
for limit in group.limits:
print(f" {limit.type}: {limit.value}")组织速率限制
/v1/organizations/rate_limits 端点返回在组织级别应用于 Messages API 及其支持资源的速率限制。其他产品(例如 Claude Managed Agents)的限制不包括在内。
关键概念
- 速率限制组: 响应中的每个条目代表一个速率限制组。模型速率限制被分组,以便多个模型版本共享同一组限制,其他组则涵盖诸如 Message Batches API、Files API、Token Counting API、agent skills 和网页搜索工具等资源。
group_type: 标识该条目涵盖哪一类限制。有关值的列表,请参阅按组类型筛选。models列表: 对于model_group条目,models字段列出计入该组限制的每个模型 ID 和别名。使用此列表可查找任意模型字符串属于哪个组。对于其他组类型,models为null。limits列表: 每个组都带有一个{type, value}对的列表。type字段标识限制器(例如requests_per_minute、input_tokens_per_minute或output_tokens_per_minute),value是配置的限制值。有关每个限制器如何计量和执行,请参阅速率限制。
有关完整的参数详情和响应模式,请参阅组织速率限制 API 参考。
列出所有组织速率限制
client = anthropic.Anthropic()
rate_limits = client.beta.organization.rate_limits.list()
for group in rate_limits:
models = f" ({', '.join(group.models)})" if group.models else ""
print(f"{group.group_type}{models}")
for limit in group.limits:
print(f" {limit.type}: {limit.value}"){
"data": [
{
"type": "rate_limit",
"group_type": "model_group",
"models": ["claude-opus-5"],
"limits": [
{ "type": "requests_per_minute", "value": 4000 },
{ "type": "input_tokens_per_minute", "value": 10000000 },
{ "type": "output_tokens_per_minute", "value": 800000 }
]
},
{
"type": "rate_limit",
"group_type": "model_group",
"models": [
"claude-opus-4-5",
"claude-opus-4-5-20251101",
"claude-opus-4-6",
"claude-opus-4-7",
"claude-opus-4-8"
],
"limits": [
{ "type": "requests_per_minute", "value": 4000 },
{ "type": "input_tokens_per_minute", "value": 10000000 },
{ "type": "output_tokens_per_minute", "value": 800000 }
]
},
{
"type": "rate_limit",
"group_type": "batch",
"models": null,
"limits": [{ "type": "enqueued_batch_requests", "value": 500000 }]
}
],
"next_page": null
}查找特定模型的限制
将任意模型 ID 或别名作为 model 查询参数传入,即可仅返回包含该模型的条目:
client = anthropic.Anthropic()
rate_limits = client.beta.organization.rate_limits.list(model="claude-opus-5")
for group in rate_limits:
models = f" ({', '.join(group.models)})" if group.models else ""
print(f"{group.group_type}{models}")
for limit in group.limits:
print(f" {limit.type}: {limit.value}")如果模型字符串不匹配任何组,该端点将返回 404 错误。model 参数仅在组织端点上受支持;工作区端点不接受该参数。
工作区速率限制
/v1/organizations/workspaces/{workspace_id}/rate_limits 端点返回为单个工作区配置的速率限制覆盖设置。
响应仅包含覆盖设置,因此其中缺失的任何内容均继承自组织:
data中不存在的组完全没有工作区覆盖设置。该工作区继承该组的组织级限制(并非无限制)。- 在存在的组内,
limits[]中不存在的限制器类型没有针对该限制器的工作区覆盖设置。该工作区继承其组织值。 - 对于每个存在的限制器,
org_limit是同一限制器的组织级值;如果组织没有为该限制器类型配置限制,则为null。
有关完整的参数详情和响应模式,请参阅工作区速率限制 API 参考。
client = anthropic.Anthropic()
rate_limits = client.beta.organization.workspaces.rate_limits.list(
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)
for group in rate_limits:
models = f" ({', '.join(group.models)})" if group.models else ""
print(f"{group.group_type}{models}")
for limit in group.limits:
print(f" {limit.type}: {limit.value}"){
"data": [
{
"type": "workspace_rate_limit",
"group_type": "model_group",
"models": ["claude-opus-5"],
"limits": [
{ "type": "requests_per_minute", "value": 1000, "org_limit": 4000 },
{ "type": "input_tokens_per_minute", "value": 500000, "org_limit": 10000000 }
]
},
{
"type": "workspace_rate_limit",
"group_type": "model_group",
"models": [
"claude-opus-4-5",
"claude-opus-4-5-20251101",
"claude-opus-4-6",
"claude-opus-4-7",
"claude-opus-4-8"
],
"limits": [
{ "type": "requests_per_minute", "value": 1000, "org_limit": 4000 },
{ "type": "input_tokens_per_minute", "value": 500000, "org_limit": 10000000 }
]
}
],
"next_page": null
}按组类型筛选
两个端点都接受一个可选的 group_type 查询参数,用于将响应限制为单一类别:
client = anthropic.Anthropic()
rate_limits = client.beta.organization.rate_limits.list(group_type="batch")
for group in rate_limits:
models = f" ({', '.join(group.models)})" if group.models else ""
print(f"{group.group_type}{models}")
for limit in group.limits:
print(f" {limit.type}: {limit.value}")有效值为 model_group、batch、token_count、files、skills 和 web_search。
分页
两个端点都接受 page 查询参数并返回 next_page 字段。目前响应始终为单页,因此 next_page 为 null。请基于 next_page 进行循环,这样当响应增长时,您的客户端无需更改即可正确分页。
常见问题
哪些模型字符串会出现在 models 列表中?
计入该组的每个模型 ID 和别名,包括带日期的 ID(例如 claude-sonnet-4-5-20250929)和不带日期的别名(例如 claude-sonnet-4-5)。查找您传递给 Messages API 的任意模型字符串,您都会在恰好一个 model_group 条目中找到它。
如果工作区响应中缺少某个组,这意味着什么?
该工作区对该组没有覆盖设置,并继承组织级限制。查询组织端点即可查看继承的值。
我可以使用此 API 更新速率限制吗?
不可以。要设置工作区速率限制,请在 Claude Console 中打开该工作区并使用速率限制选项卡。
另请参阅
Was this page helpful?