API de Limites de Taxa
Consulte programaticamente os limites de taxa da API da sua organização com a API de Limites de Taxa.
A API de Limites de Taxa fornece acesso programático aos "rate limits" (limites de taxa) configurados para sua organização e seus workspaces. Essas são as mesmas informações exibidas na página Limites de taxa no Claude Console.
Use esta API para:
- Manter gateways e proxies sincronizados: Leia seus limites atuais na inicialização e de forma agendada, em vez de codificar valores fixos que ficam desatualizados quando a Anthropic os ajusta.
- Alimentar alertas internos: Compare os dados de uso da API de Uso e Custo com seus limites configurados.
- Auditar a configuração de workspaces: Verifique se as substituições de workspace correspondem ao que sua automação de provisionamento espera.
Os exemplos de SDK e CLI nesta página constroem o cliente padrão, que lê a chave de API de Admin a partir da variável de ambiente ANTHROPIC_API_KEY. Os SDKs expõem esses endpoints como client.organization.rate_limits e client.organization.workspaces.rate_limits; os métodos de listagem em Python, TypeScript, C#, Go e Java retornam um iterador que segue next_page para você, enquanto os exemplos em PHP, Ruby e curl leem uma página.
Início rápido
Liste os limites de taxa configurados para sua organização:
client = anthropic.Anthropic()
rate_limits = client.organization.rate_limits.list()
for entry in rate_limits:
models = f" ({', '.join(entry.models)})" if entry.models else ""
print(f"{entry.group.type}{models}")
for limit in entry.limits:
print(f" {limit.type}: {limit.value}")Limites de taxa da organização
O endpoint /v1/organizations/rate_limits retorna os limites de taxa aplicados no nível da organização para a Messages API e seus recursos de suporte. Limites para outros produtos, como o Claude Managed Agents, não estão incluídos.
Conceitos principais
- Grupos de limite de taxa: Cada entrada na resposta representa um grupo de limite de taxa. Os limites de taxa de modelos são agrupados de modo que várias versões de modelo compartilhem um único conjunto de limites, e outros grupos cobrem recursos como a Message Batches API, a Files API, a Token Counting API, agent skills e a ferramenta de pesquisa na web.
- Objeto
group: Presente em todas as entradas, identifica o grupo de limite de taxa ao qual a entrada se aplica. Ele sempre temtype, que é um dos valores degroup_type, eid, um identificador opaco com o prefixorlg_. Em entradasmodel_group, ele também temdisplay_name, o rótulo atual da Anthropic para o grupo, comoClaude Sonnet 4.x. O rótulo serve apenas para exibição e pode mudar. Outros tipos de grupo não têmdisplay_name. - O
iddentro degroup: Um grupo tem o mesmoidem todas as organizações e em todas as substituições de workspace, e ele nunca muda. Use-o para corresponder entradas entre organizações ou com seu próprio catálogo. Oidda própria entrada difere por organização, emodelsmuda quando a Anthropic move um modelo entre grupos. Nenhum dos dois é uma chave estável para o grupo. group_type: Descontinuado em favor dotypedentro degroup. Ele ainda é retornado, sempre é igual a esse valor e não tem data de remoção. O parâmetro de consultagroup_typenão está descontinuado. Consulte Filtrando por tipo de grupo para a lista de valores.- Lista
models: Para entradasmodel_group, o campomodelslista todos os IDs e aliases de modelo que contam para os limites desse grupo. Use esta lista para descobrir em qual grupo qualquer string de modelo se enquadra. Para outros tipos de grupo,modelsénull. - Lista
limits: Cada grupo contém uma lista de pares{type, value}. O campotypeidentifica o limitador (comorequests_per_minute,input_tokens_per_minuteououtput_tokens_per_minute) evalueé o limite configurado. Consulte Limites de taxa para saber como cada limitador é medido e aplicado. sourcenos limites de workspace: No endpoint de workspace, cada valor de limite também contémsource, que indica de ondevaluevem:{"type": "workspace"}para uma substituição armazenada no workspace, ou{"type": "organization"}para um valor herdado da organização. Por padrão, o endpoint de workspace retorna apenas substituições, entãosource.typeé sempreworkspaceali; valores herdados aparecem quando você passainclude_inherited=true. Consulte Limites de taxa do workspace.
Para detalhes completos dos parâmetros e esquemas de resposta, consulte a referência da API de Limites de Taxa da Organização.
Listar todos os limites de taxa da organização
client = anthropic.Anthropic()
rate_limits = client.organization.rate_limits.list()
for entry in rate_limits:
models = f" ({', '.join(entry.models)})" if entry.models else ""
print(f"{entry.group.type}{models}")
for limit in entry.limits:
print(f" {limit.type}: {limit.value}"){
"data": [
{
"type": "rate_limit",
"group_type": "model_group",
"group": {
"type": "model_group",
"id": "rlg_01Hq7YkP3mZ9dTwRx4cVbN2s",
"display_name": "Claude Opus 5.5"
},
"models": ["claude-opus-5-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",
"group": {
"type": "model_group",
"id": "rlg_01Kd5wMv8nSq2LcXy6tRfJ4b",
"display_name": "Claude Opus 4.x"
},
"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",
"group": { "type": "batch", "id": "rlg_01Wn3pBz6kCg9vHtQ7mLxD5a" },
"models": null,
"limits": [{ "type": "enqueued_batch_requests", "value": 500000 }]
}
],
"next_page": null
}Consultar os limites de um modelo específico
Passe qualquer ID ou alias de modelo como o parâmetro de consulta model para retornar apenas a entrada que o contém:
client = anthropic.Anthropic()
rate_limits = client.organization.rate_limits.list(model="claude-opus-5-5")
for entry in rate_limits:
models = f" ({', '.join(entry.models)})" if entry.models else ""
print(f"{entry.group.type}{models}")
for limit in entry.limits:
print(f" {limit.type}: {limit.value}")Se a string de modelo não corresponder a nenhum grupo, o endpoint retorna um erro 404. O parâmetro model é suportado apenas no endpoint da organização; o endpoint de workspace não o aceita.
Limites de taxa do workspace
O endpoint /v1/organizations/workspaces/{workspace_id}/rate_limits retorna as substituições de limite de taxa configuradas para um único workspace. Para ver também os valores que o workspace herda, passe include_inherited=true (consulte Incluir valores herdados).
Por padrão, a resposta inclui apenas substituições, então qualquer coisa ausente dela é herdada da organização:
- Um grupo ausente de
datanão tem nenhuma substituição de workspace. O workspace herda os limites no nível da organização para esse grupo (ele não é ilimitado). - Dentro de um grupo presente, um tipo de limitador ausente de
limits[]não tem substituição de workspace para esse limitador. O workspace herda o valor da organização para ele. - Para cada limitador presente,
org_limité o valor no nível da organização para o mesmo limitador, ounullse a organização não tiver um limite configurado para esse tipo de limitador, esourceé{"type": "workspace"}.
Para detalhes completos dos parâmetros e esquemas de resposta, consulte a referência da API de Limites de Taxa do Workspace.
client = anthropic.Anthropic()
rate_limits = client.organization.workspaces.rate_limits.list(
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)
for entry in rate_limits:
models = f" ({', '.join(entry.models)})" if entry.models else ""
print(f"{entry.group.type}{models}")
for limit in entry.limits:
print(f" {limit.type}: {limit.value}"){
"data": [
{
"type": "workspace_rate_limit",
"group_type": "model_group",
"group": {
"type": "model_group",
"id": "rlg_01Hq7YkP3mZ9dTwRx4cVbN2s",
"display_name": "Claude Opus 5.5"
},
"models": ["claude-opus-5-5"],
"limits": [
{
"type": "requests_per_minute",
"value": 1000,
"org_limit": 4000,
"source": { "type": "workspace" }
},
{
"type": "input_tokens_per_minute",
"value": 500000,
"org_limit": 10000000,
"source": { "type": "workspace" }
}
]
},
{
"type": "workspace_rate_limit",
"group_type": "model_group",
"group": {
"type": "model_group",
"id": "rlg_01Kd5wMv8nSq2LcXy6tRfJ4b",
"display_name": "Claude Opus 4.x"
},
"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,
"source": { "type": "workspace" }
},
{
"type": "input_tokens_per_minute",
"value": 500000,
"org_limit": 10000000,
"source": { "type": "workspace" }
}
]
}
],
"next_page": null
}Incluir valores herdados
Para ler os limites aplicáveis de um workspace em uma única requisição, adicione o parâmetro de consulta opcional include_inherited. Seu padrão é false; um valor que não seja booleano retorna um erro 400. Com include_inherited=true:
datatem uma entrada para cada grupo que se aplica ao workspace e tem um valor no nível da organização, mesmo que o workspace não substitua nada dele. Um grupo de modelos se aplica quando o workspace pode acessar pelo menos um de seus modelos.- O
limits[]de cada entrada lista todos os tipos de limitador para os quais a organização tem um valor nesse grupo, além de qualquer tipo que o workspace substitua. Cada tipo aparece uma vez, com a substituição do workspace onde houver uma armazenada e o valor da organização caso contrário, de modo que uma entrada pode misturar os dois. - O
sourcede cada valor os diferencia:{"type": "workspace"}é uma substituição armazenada, e{"type": "organization"}é um valor herdado, em quevalueé igual aorg_limit.
client = anthropic.Anthropic()
rate_limits = client.organization.workspaces.rate_limits.list(
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
include_inherited=True,
)
for entry in rate_limits:
models = f" ({', '.join(entry.models)})" if entry.models else ""
print(f"{entry.group.type}{models}")
for limit in entry.limits:
print(f" {limit.type}: {limit.value} ({limit.source.type})"){
"data": [
{
"type": "workspace_rate_limit",
"group_type": "model_group",
"group": {
"type": "model_group",
"id": "rlg_01Hq7YkP3mZ9dTwRx4cVbN2s",
"display_name": "Claude Opus 5.5"
},
"models": ["claude-opus-5-5"],
"limits": [
{
"type": "requests_per_minute",
"value": 1000,
"org_limit": 4000,
"source": { "type": "workspace" }
},
{
"type": "input_tokens_per_minute",
"value": 500000,
"org_limit": 10000000,
"source": { "type": "workspace" }
},
{
"type": "output_tokens_per_minute",
"value": 800000,
"org_limit": 800000,
"source": { "type": "organization" }
}
]
},
{
"type": "workspace_rate_limit",
"group_type": "model_group",
"group": {
"type": "model_group",
"id": "rlg_01Kd5wMv8nSq2LcXy6tRfJ4b",
"display_name": "Claude Opus 4.x"
},
"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,
"source": { "type": "workspace" }
},
{
"type": "input_tokens_per_minute",
"value": 500000,
"org_limit": 10000000,
"source": { "type": "workspace" }
},
{
"type": "output_tokens_per_minute",
"value": 800000,
"org_limit": 800000,
"source": { "type": "organization" }
}
]
},
{
"type": "workspace_rate_limit",
"group_type": "batch",
"group": { "type": "batch", "id": "rlg_01Wn3pBz6kCg9vHtQ7mLxD5a" },
"models": null,
"limits": [
{
"type": "enqueued_batch_requests",
"value": 500000,
"org_limit": 500000,
"source": { "type": "organization" }
}
]
}
],
"next_page": null
}Filtrando por tipo de grupo
Ambos os endpoints aceitam um parâmetro de consulta opcional group_type que restringe a resposta a uma única categoria:
client = anthropic.Anthropic()
rate_limits = client.organization.rate_limits.list(group_type="batch")
for entry in rate_limits:
models = f" ({', '.join(entry.models)})" if entry.models else ""
print(f"{entry.group.type}{models}")
for limit in entry.limits:
print(f" {limit.type}: {limit.value}")Os valores válidos são model_group, batch, token_count, files, skills e web_search.
Paginação
Ambos os endpoints aceitam um parâmetro de consulta page e retornam um campo next_page. Atualmente, as respostas são sempre uma única página, portanto next_page é null. Faça um loop em next_page para que seu cliente pagine corretamente, sem alterações, quando a resposta crescer.
Perguntas frequentes
Quais strings de modelo aparecem na lista models?
Todos os IDs e aliases de modelo que contam para o grupo, incluindo IDs com data (como claude-sonnet-4-5-20250929) e aliases sem data (como claude-sonnet-4-5). Consulte qualquer string de modelo que você passa para a Messages API e você a encontrará em exatamente uma entrada model_group.
O que significa se um grupo estiver ausente da resposta de workspace?
Por padrão, a resposta do workspace lista apenas substituições, então um grupo ausente não tem substituição de workspace e herda o limite no nível da organização. Passe include_inherited=true para ver os valores herdados no endpoint de workspace, ou consulte o endpoint da organização. Com include_inherited=true, um grupo fica ausente apenas quando não se aplica ao workspace ou quando a organização não tem limite definido para ele.
Posso atualizar limites de taxa com esta API?
Não. Para definir limites de taxa de workspace, acesse a página Limites de taxa no Claude Console, selecione o workspace no menu suspenso Workspace e clique em Edit ao lado de um modelo.
Veja também
Was this page helpful?