Claude Platform Docs
AdministrationSurveillance

API Rate Limits

Interrogez par programmation les limites de débit API de votre organisation avec l'API Rate Limits.

L'API Rate Limits fournit un accès programmatique aux « rate limits » (limites de débit) configurées pour votre organisation et ses espaces de travail. Il s'agit des mêmes informations que celles affichées sur la page Limites de débit de la Claude Console.

Utilisez cette API pour :

  • Maintenir la synchronisation des passerelles et des proxys : lisez vos limites actuelles au démarrage et de manière planifiée au lieu de coder en dur des valeurs qui deviennent obsolètes lorsqu'Anthropic les ajuste.
  • Alimenter les alertes internes : comparez les données d'utilisation de l'API Usage and Cost à vos limites configurées.
  • Auditer la configuration des espaces de travail : vérifiez que les surcharges des espaces de travail correspondent à ce qu'attend votre automatisation de provisionnement.

Les exemples SDK et CLI de cette page construisent le client par défaut, qui lit la clé Admin API depuis la variable d'environnement ANTHROPIC_API_KEY. Les SDK exposent ces points de terminaison sous la forme client.organization.rate_limits et client.organization.workspaces.rate_limits ; les méthodes de liste Python, TypeScript, C#, Go et Java renvoient un itérateur qui suit next_page pour vous, tandis que les exemples PHP, Ruby et curl lisent une seule page.

Démarrage rapide

Listez les limites de débit configurées pour votre organisation :

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 débit de l'organisation

Le point de terminaison /v1/organizations/rate_limits renvoie les limites de débit appliquées au niveau de l'organisation pour l'API Messages et ses ressources associées. Les limites des autres produits, tels que Claude Managed Agents, ne sont pas incluses.

Concepts clés

  • Groupes de limites de débit : chaque entrée de la réponse représente un groupe de limites de débit. Les limites de débit des modèles sont regroupées de sorte que plusieurs versions de modèles partagent un même ensemble de limites, et d'autres groupes couvrent des ressources telles que l'API Message Batches, l'API Files, l'API Token Counting, les compétences d'agent et l'outil de recherche web.
  • Objet group : présent sur chaque entrée, il identifie le groupe de limites de débit auquel l'entrée s'applique. Il contient toujours type, qui est l'une des valeurs de group_type, et id, un identifiant opaque avec le préfixe rlg_. Sur les entrées model_group, il contient également display_name, le libellé actuel d'Anthropic pour le groupe, tel que Claude Sonnet 4.x. Ce libellé est uniquement destiné à l'affichage et peut changer. Les autres types de groupes n'ont pas de display_name.
  • L'id à l'intérieur de group : un groupe a le même id dans chaque organisation et sur chaque surcharge d'espace de travail, et il ne change jamais. Utilisez-le pour faire correspondre des entrées entre organisations ou avec votre propre catalogue. L'id propre à l'entrée diffère selon l'organisation, et models change lorsqu'Anthropic déplace un modèle d'un groupe à un autre. Aucun des deux n'est une clé stable pour le groupe.
  • group_type : déprécié au profit du type à l'intérieur de group. Il est toujours renvoyé, est toujours égal à cette valeur et n'a pas de date de suppression. Le paramètre de requête group_type n'est pas déprécié. Consultez Filtrage par type de groupe pour la liste des valeurs.
  • Liste models : pour les entrées model_group, le champ models liste chaque ID de modèle et alias qui est décompté des limites de ce groupe. Utilisez cette liste pour déterminer à quel groupe appartient une chaîne de modèle donnée. Pour les autres types de groupes, models vaut null.
  • Liste limits : chaque groupe contient une liste de paires {type, value}. Le champ type identifie le limiteur (tel que requests_per_minute, input_tokens_per_minute ou output_tokens_per_minute) et value est la limite configurée. Consultez Limites de débit pour savoir comment chaque limiteur est mesuré et appliqué.
  • source sur les limites d'espace de travail : sur le point de terminaison des espaces de travail, chaque valeur de limite comporte également source, qui indique d'où provient value : {"type": "workspace"} pour une surcharge stockée sur l'espace de travail, ou {"type": "organization"} pour une valeur héritée de l'organisation. Par défaut, le point de terminaison des espaces de travail ne renvoie que les remplacements, donc source.type y vaut toujours workspace ; les valeurs héritées apparaissent lorsque vous passez include_inherited=true. Consultez Limites de débit des espaces de travail.

Pour les détails complets des paramètres et les schémas de réponse, consultez la référence de l'API Organization Rate Limits.

Lister toutes les limites de débit de l'organisation

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
}

Rechercher les limites d'un modèle spécifique

Passez n'importe quel ID de modèle ou alias comme paramètre de requête model pour ne renvoyer que l'entrée qui le contient :

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 chaîne de modèle ne correspond à aucun groupe, le point de terminaison renvoie une erreur 404. Le paramètre model est pris en charge uniquement sur le point de terminaison de l'organisation ; le point de terminaison de l'espace de travail ne l'accepte pas.

Limites de débit des espaces de travail

Le point de terminaison /v1/organizations/workspaces/{workspace_id}/rate_limits renvoie les surcharges de limites de débit configurées pour un seul espace de travail. Pour voir également les valeurs dont l'espace de travail hérite, passez include_inherited=true (consultez Inclure les valeurs héritées).

Par défaut, la réponse n'inclut que les surcharges, donc tout ce qui en est absent est hérité de l'organisation :

  • Un groupe absent de data n'a aucune surcharge d'espace de travail. L'espace de travail hérite des limites de l'organisation pour ce groupe (il n'est pas illimité).
  • Au sein d'un groupe présent, un type de limiteur absent de limits[] n'a pas de surcharge d'espace de travail pour ce limiteur. L'espace de travail hérite de la valeur de l'organisation pour celui-ci.
  • Pour chaque limiteur présent, org_limit est la valeur au niveau de l'organisation pour le même limiteur, ou null si l'organisation n'a pas de limite configurée pour ce type de limiteur, et source vaut {"type": "workspace"}.

Pour les détails complets des paramètres et les schémas de réponse, consultez la référence de l'API Workspace Rate Limits.

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
}

Inclure les valeurs héritées

Pour lire les limites applicables à un espace de travail en une seule requête, ajoutez le paramètre de requête facultatif include_inherited. Sa valeur par défaut est false ; une valeur qui n'est pas un booléen renvoie une erreur 400. Avec include_inherited=true :

  • data contient une entrée pour chaque groupe qui s'applique à l'espace de travail et possède une valeur au niveau de l'organisation, même si l'espace de travail n'en surcharge aucune partie. Un groupe de modèles s'applique lorsque l'espace de travail peut accéder à au moins l'un de ses modèles.
  • Le limits[] de chaque entrée liste chaque type de limiteur pour lequel l'organisation a une valeur sur ce groupe, ainsi que tout type que l'espace de travail surcharge. Chaque type apparaît une seule fois, avec la surcharge de l'espace de travail lorsqu'il en existe une et la valeur de l'organisation sinon, de sorte qu'une même entrée peut mélanger les deux.
  • Le source de chaque valeur permet de les distinguer : {"type": "workspace"} est une surcharge stockée, et {"type": "organization"} est une valeur héritée, où value est égal à 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
}

Filtrage par type de groupe

Les deux points de terminaison acceptent un paramètre de requête facultatif group_type qui restreint la réponse à une seule catégorie :

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

Les valeurs valides sont model_group, batch, token_count, files, skills et web_search.

Pagination

Les deux points de terminaison acceptent un paramètre de requête page et renvoient un champ next_page. Les réponses tiennent actuellement toujours sur une seule page, donc next_page vaut null. Bouclez sur next_page afin que votre client pagine correctement, sans modification, lorsque la réponse s'agrandira.

Foire aux questions

Quelles chaînes de modèle apparaissent dans la liste models ?

Chaque ID de modèle et alias comptabilisé dans le groupe, y compris les ID datés (tels que claude-sonnet-4-5-20250929) et les alias non datés (tels que claude-sonnet-4-5). Recherchez n'importe quelle chaîne de modèle que vous passez à l'API Messages et vous la trouverez dans exactement une entrée model_group.

Que signifie l'absence d'un groupe dans la réponse de l'espace de travail ?

Par défaut, la réponse de l'espace de travail ne liste que les surcharges, donc un groupe absent n'a pas de surcharge d'espace de travail et hérite de la limite au niveau de l'organisation. Passez include_inherited=true pour voir les valeurs héritées sur le point de terminaison des espaces de travail, ou interrogez le point de terminaison de l'organisation. Avec include_inherited=true, un groupe n'est absent que lorsqu'il ne s'applique pas à l'espace de travail ou que l'organisation n'a pas de limite définie pour celui-ci.

Puis-je mettre à jour les limites de débit avec cette API ?

Non. Pour définir les limites de débit d'un espace de travail, accédez à la page Limites de débit de la Claude Console, sélectionnez l'espace de travail dans le menu déroulant Workspace, puis cliquez sur Edit à côté d'un modèle.

Voir aussi

Was this page helpful?