Claude Platform Docs
AdministraciónSupervisión

API de límites de velocidad

Consulta programáticamente los límites de velocidad de la API de tu organización con la API de límites de velocidad.

La "Rate Limits API" (API de límites de velocidad) proporciona acceso programático a los "rate limits" (límites de velocidad) configurados para tu organización y sus espacios de trabajo. Es la misma información que se muestra en la página Límites de velocidad de la Claude Console.

Usa esta API para:

  • Mantener sincronizados los gateways y proxies: Lee tus límites actuales al iniciar y de forma programada en lugar de codificar valores fijos que quedan desactualizados cuando Anthropic los ajusta.
  • Impulsar alertas internas: Compara los datos de uso de la API de uso y costos con tus límites configurados.
  • Auditar la configuración de los espacios de trabajo: Verifica que las anulaciones de los espacios de trabajo coincidan con lo que espera tu automatización de aprovisionamiento.

Los ejemplos de SDK y CLI de esta página construyen el cliente predeterminado, que lee la clave de API de administrador desde la variable de entorno ANTHROPIC_API_KEY. Los SDK exponen estos endpoints como client.organization.rate_limits y client.organization.workspaces.rate_limits; los métodos de listado de Python, TypeScript, C#, Go y Java devuelven un iterador que sigue next_page por ti, mientras que los ejemplos de PHP, Ruby y curl leen una sola página.

Inicio rápido

Lista los límites de velocidad configurados para tu organización:

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}")

Límites de velocidad de la organización

El endpoint /v1/organizations/rate_limits devuelve los límites de velocidad aplicados a nivel de organización para la API de Messages y sus recursos de soporte. No se incluyen los límites de otros productos, como Claude Managed Agents.

Conceptos clave

  • Grupos de límites de velocidad: Cada entrada de la respuesta representa un grupo de límites de velocidad. Los límites de velocidad de los modelos se agrupan de modo que varias versiones de modelos comparten un único conjunto de límites, y otros grupos cubren recursos como la Message Batches API, la Files API, la Token Counting API, las Agent Skills y la herramienta de búsqueda web.
  • Objeto group: Presente en cada entrada, identifica el grupo de límites de velocidad al que se aplica la entrada. Siempre tiene type, que es uno de los valores de group_type, e id, un identificador opaco con el prefijo rlg_. En las entradas model_group también tiene display_name, la etiqueta actual de Anthropic para el grupo, como Claude Sonnet 4.x. La etiqueta es solo para visualización y puede cambiar. Los demás tipos de grupo no tienen display_name.
  • El id dentro de group: Un grupo tiene el mismo id en todas las organizaciones y en todas las anulaciones de espacios de trabajo, y nunca cambia. Úsalo para hacer coincidir entradas entre organizaciones o con tu propio catálogo. El id propio de la entrada difiere según la organización, y models cambia cuando Anthropic mueve un modelo entre grupos. Ninguno de los dos es una clave estable para el grupo.
  • group_type: Obsoleto en favor del type dentro de group. Todavía se devuelve, siempre es igual a ese valor y no tiene fecha de eliminación. El parámetro de consulta group_type no está obsoleto. Consulta Filtrar por tipo de grupo para ver la lista de valores.
  • Lista models: Para las entradas model_group, el campo models enumera cada ID de modelo y alias que cuenta para los límites de ese grupo. Usa esta lista para buscar a qué grupo pertenece cualquier cadena de modelo. Para otros tipos de grupo, models es null.
  • Lista limits: Cada grupo contiene una lista de pares {type, value}. El campo type identifica el limitador (como requests_per_minute, input_tokens_per_minute u output_tokens_per_minute) y value es el límite configurado. Consulta Límites de velocidad para saber cómo se mide y aplica cada limitador.
  • source en los límites de espacios de trabajo: En el endpoint de espacios de trabajo, cada valor de límite también incluye source, que indica de dónde proviene value: {"type": "workspace"} para una anulación almacenada en el espacio de trabajo, o {"type": "organization"} para un valor heredado de la organización. De forma predeterminada, el endpoint de espacios de trabajo devuelve solo anulaciones, por lo que source.type siempre es workspace allí; los valores heredados aparecen cuando pasas include_inherited=true. Consulta Límites de velocidad del espacio de trabajo.

Para obtener detalles completos de los parámetros y los esquemas de respuesta, consulta la referencia de la API de límites de velocidad de la organización.

Listar todos los límites de velocidad de la organización

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
}

Buscar los límites de un modelo específico

Pasa cualquier ID de modelo o alias como parámetro de consulta model para devolver solo la entrada que lo contiene:

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}")

Si la cadena de modelo no coincide con ningún grupo, el endpoint devuelve un error 404. El parámetro model solo es compatible con el endpoint de la organización; el endpoint del espacio de trabajo no lo acepta.

Límites de velocidad del espacio de trabajo

El endpoint /v1/organizations/workspaces/{workspace_id}/rate_limits devuelve las anulaciones de límites de velocidad configuradas para un único espacio de trabajo. Para ver también los valores que hereda el espacio de trabajo, pasa include_inherited=true (consulta Incluir valores heredados).

De forma predeterminada, la respuesta solo incluye anulaciones, por lo que todo lo que falte en ella se hereda de la organización:

  • Un grupo que no aparece en data no tiene ninguna anulación en el espacio de trabajo. El espacio de trabajo hereda los límites a nivel de organización para ese grupo (no es ilimitado).
  • Dentro de un grupo presente, un tipo de limitador que no aparece en limits[] no tiene anulación en el espacio de trabajo para ese limitador. El espacio de trabajo hereda el valor de la organización para él.
  • Para cada limitador presente, org_limit es el valor a nivel de organización para el mismo limitador, o null si la organización no tiene un límite configurado para ese tipo de limitador, y source es {"type": "workspace"}.

Para obtener detalles completos de los parámetros y los esquemas de respuesta, consulta la referencia de la API de límites de velocidad del espacio de trabajo.

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 heredados

Para leer los límites aplicables de un espacio de trabajo en una sola solicitud, agrega el parámetro de consulta opcional include_inherited. Su valor predeterminado es false; un valor que no sea booleano devuelve un error 400. Con include_inherited=true:

  • data tiene una entrada por cada grupo que se aplica al espacio de trabajo y tiene un valor a nivel de organización, incluso si el espacio de trabajo no anula nada de él. Un grupo de modelos se aplica cuando el espacio de trabajo puede acceder al menos a uno de sus modelos.
  • El limits[] de cada entrada enumera cada tipo de limitador para el que la organización tiene un valor en ese grupo, además de cualquier tipo que el espacio de trabajo anule. Cada tipo aparece una vez, con la anulación del espacio de trabajo cuando hay una almacenada y con el valor de la organización en caso contrario, por lo que una entrada puede combinar ambos.
  • El source de cada valor permite distinguirlos: {"type": "workspace"} es una anulación almacenada, y {"type": "organization"} es un valor heredado, donde value es 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
}

Filtrar por tipo de grupo

Ambos endpoints aceptan un parámetro de consulta opcional group_type que restringe la respuesta a una sola categoría:

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}")

Los valores válidos son model_group, batch, token_count, files, skills y web_search.

Paginación

Ambos endpoints aceptan un parámetro de consulta page y devuelven un campo next_page. Actualmente, las respuestas son siempre de una sola página, por lo que next_page es null. Itera sobre next_page para que tu cliente pagine correctamente sin cambios cuando la respuesta crezca.

Preguntas frecuentes

¿Qué cadenas de modelo aparecen en la lista models?

Cada ID de modelo y alias que cuenta contra el grupo, incluidos los ID con fecha (como claude-sonnet-4-5-20250929) y los alias sin fecha (como claude-sonnet-4-5). Busca cualquier cadena de modelo que pases a la API de Messages y la encontrarás en exactamente una entrada model_group.

¿Qué significa que falte un grupo en la respuesta del espacio de trabajo?

De forma predeterminada, la respuesta del espacio de trabajo enumera solo las anulaciones, por lo que un grupo que falta no tiene anulación en el espacio de trabajo y hereda el límite a nivel de organización. Pasa include_inherited=true para ver los valores heredados en el endpoint de espacios de trabajo, o consulta el endpoint de la organización. Con include_inherited=true, un grupo falta solo cuando no se aplica al espacio de trabajo o la organización no tiene un límite establecido para él.

¿Puedo actualizar los límites de velocidad con esta API?

No. Para establecer los límites de velocidad del espacio de trabajo, ve a la página Límites de velocidad en la Claude Console, selecciona el espacio de trabajo en el menú desplegable Workspace y haz clic en Edit junto a un modelo.

Ver también

Was this page helpful?