Claude Platform Docs
AdministraçãoMonitoramento

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 tem type, que é um dos valores de group_type, e id, um identificador opaco com o prefixo rlg_. Em entradas model_group, ele também tem display_name, o rótulo atual da Anthropic para o grupo, como Claude Sonnet 4.x. O rótulo serve apenas para exibição e pode mudar. Outros tipos de grupo não têm display_name.
  • O id dentro de group: Um grupo tem o mesmo id em 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. O id da própria entrada difere por organização, e models muda quando a Anthropic move um modelo entre grupos. Nenhum dos dois é uma chave estável para o grupo.
  • group_type: Descontinuado em favor do type dentro de group. Ele ainda é retornado, sempre é igual a esse valor e não tem data de remoção. O parâmetro de consulta group_type não está descontinuado. Consulte Filtrando por tipo de grupo para a lista de valores.
  • Lista models: Para entradas model_group, o campo models lista 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 campo type identifica o limitador (como requests_per_minute, input_tokens_per_minute ou output_tokens_per_minute) e value é o limite configurado. Consulte Limites de taxa para saber como cada limitador é medido e aplicado.
  • source nos limites de workspace: No endpoint de workspace, cada valor de limite também contém source, que indica de onde value vem: {"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ão source.type é sempre workspace ali; valores herdados aparecem quando você passa include_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 data nã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, ou null se a organização não tiver um limite configurado para esse tipo de limitador, e source é {"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:

  • data tem 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 source de cada valor os diferencia: {"type": "workspace"} é uma substituição armazenada, e {"type": "organization"} é um valor herdado, em que value é igual a org_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?