Claude Platform Docs
AdminMonitoring

Rate Limits API

Frage die API-Ratenlimits deiner Organisation programmatisch mit der Rate Limits API ab.

Die Rate Limits API bietet programmatischen Zugriff auf die Ratenlimits, die für deine Organisation und ihre Workspaces konfiguriert sind. Dies sind dieselben Informationen, die auf der Seite Rate limits in der Claude Console angezeigt werden.

Verwende diese API, um:

  • Gateways und Proxys synchron zu halten: Lies deine aktuellen Limits beim Start und nach einem Zeitplan, anstatt Werte fest zu codieren, die abweichen, wenn Anthropic sie anpasst.
  • Interne Benachrichtigungen zu betreiben: Vergleiche Nutzungsdaten aus der Usage and Cost API mit deinen konfigurierten Limits.
  • Die Workspace-Konfiguration zu prüfen: Überprüfe, ob Workspace-Überschreibungen mit dem übereinstimmen, was deine Provisionierungsautomatisierung erwartet.

Die SDK- und CLI-Beispiele auf dieser Seite erstellen den Standard-Client, der den Admin-API-Key aus der Umgebungsvariable ANTHROPIC_API_KEY liest. Die SDKs stellen diese Endpunkte als client.beta.organization.rate_limits und client.beta.organization.workspaces.rate_limits bereit; die List-Methoden für Python, TypeScript, C#, Go und Java geben einen Iterator zurück, der next_page für dich verfolgt, während die PHP-, Ruby- und curl-Beispiele eine Seite lesen.

Schnellstart

Liste die für deine Organisation konfigurierten Ratenlimits auf:

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

Ratenlimits der Organisation

Der Endpunkt /v1/organizations/rate_limits gibt die Ratenlimits zurück, die auf Organisationsebene für die Messages API und ihre unterstützenden Ressourcen angewendet werden. Limits für andere Produkte, wie Claude Managed Agents, sind nicht enthalten.

Schlüsselkonzepte

  • Ratenlimit-Gruppen: Jeder Eintrag in der Antwort repräsentiert eine Ratenlimit-Gruppe. Modell-Ratenlimits werden so gruppiert, dass mehrere Modellversionen einen einzigen Satz von Limits teilen, und andere Gruppen decken Ressourcen wie die Message Batches API, die Files API, die Token Counting API, Agent-Skills und das Web-Suchtool ab.
  • group_type: Identifiziert, welche Kategorie von Limits der Eintrag abdeckt. Siehe Filtern nach Gruppentyp für die Liste der Werte.
  • models-Liste: Für model_group-Einträge listet das Feld models jede Modell-ID und jeden Alias auf, der auf die Limits dieser Gruppe angerechnet wird. Verwende diese Liste, um nachzuschlagen, unter welche Gruppe ein beliebiger Modell-String fällt. Für andere Gruppentypen ist models gleich null.
  • limits-Liste: Jede Gruppe trägt eine Liste von {type, value}-Paaren. Das Feld type identifiziert den Limiter (wie requests_per_minute, input_tokens_per_minute oder output_tokens_per_minute) und value ist das konfigurierte Limit. Siehe Rate limits dafür, wie jeder Limiter gemessen und durchgesetzt wird.

Vollständige Parameterdetails und Antwortschemata findest du in der Organization Rate Limits API-Referenz.

Alle Ratenlimits der Organisation auflisten

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
}

Die Limits für ein bestimmtes Modell nachschlagen

Übergib eine beliebige Modell-ID oder einen Alias als model-Query-Parameter, um nur den Eintrag zurückzugeben, der ihn enthält:

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

Wenn der Modell-String mit keiner Gruppe übereinstimmt, gibt der Endpunkt einen 404-Fehler zurück. Der model-Parameter wird nur auf dem Organisationsendpunkt unterstützt; der Workspace-Endpunkt akzeptiert ihn nicht.

Workspace-Ratenlimits

Der Endpunkt /v1/organizations/workspaces/{workspace_id}/rate_limits gibt die Ratenlimit-Überschreibungen zurück, die für einen einzelnen Workspace konfiguriert sind.

Die Antwort enthält nur Überschreibungen, sodass alles, was darin fehlt, von der Organisation geerbt wird:

  • Eine Gruppe, die in data fehlt, hat überhaupt keine Workspace-Überschreibung. Der Workspace erbt die Limits auf Organisationsebene für diese Gruppe (er ist nicht unbegrenzt).
  • Innerhalb einer vorhandenen Gruppe hat ein Limiter-Typ, der in limits[] fehlt, keine Workspace-Überschreibung für diesen Limiter. Der Workspace erbt den Organisationswert dafür.
  • Für jeden vorhandenen Limiter ist org_limit der Wert auf Organisationsebene für denselben Limiter oder null, wenn die Organisation kein konfiguriertes Limit für diesen Limiter-Typ hat.

Vollständige Parameterdetails und Antwortschemata findest du in der Workspace Rate Limits API-Referenz.

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
}

Filtern nach Gruppentyp

Beide Endpunkte akzeptieren einen optionalen group_type-Query-Parameter, der die Antwort auf eine einzelne Kategorie beschränkt:

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

Gültige Werte sind model_group, batch, token_count, files, skills und web_search.

Paginierung

Beide Endpunkte akzeptieren einen page-Query-Parameter und geben ein next_page-Feld zurück. Antworten sind derzeit immer eine einzelne Seite, daher ist next_page gleich null. Iteriere über next_page, damit dein Client ohne Änderungen korrekt paginiert, wenn die Antwort wächst.

Häufig gestellte Fragen

Welche Modell-Strings erscheinen in der models-Liste?

Jede Modell-ID und jeder Alias, der auf die Gruppe angerechnet wird, einschließlich datierter IDs (wie claude-sonnet-4-5-20250929) und undatierter Aliase (wie claude-sonnet-4-5). Schlage einen beliebigen Modell-String nach, den du an die Messages API übergibst, und du findest ihn in genau einem model_group-Eintrag.

Was bedeutet es, wenn eine Gruppe in der Workspace-Antwort fehlt?

Der Workspace hat keine Überschreibung für diese Gruppe und erbt das Limit auf Organisationsebene. Frage den Organisationsendpunkt ab, um die geerbten Werte zu sehen.

Kann ich Ratenlimits mit dieser API aktualisieren?

Nein. Um Workspace-Ratenlimits festzulegen, öffne den Workspace in der Claude Console und verwende den Tab Rate limits.

Siehe auch

Was this page helpful?