Claude Platform Docs
管理モニタリング

Rate Limits API

Rate Limits APIを使用して、組織のAPIレート制限をプログラムから照会します。

Rate Limits APIは、組織とそのワークスペースに設定された「rate limit」(レート制限)へのプログラムによるアクセスを提供します。これは、Claude Consoleのレート制限ページに表示される情報と同じものです。

このAPIは次の用途に使用できます。

  • ゲートウェイとプロキシの同期を保つ: Anthropicが値を調整した際にずれが生じるハードコードされた値を使う代わりに、起動時および定期的に現在の制限を読み取ります。
  • 社内アラートを強化する: Usage and Cost APIから取得した使用量データを、設定済みの制限と比較します。
  • ワークスペース設定を監査する: ワークスペースのオーバーライドが、プロビジョニング自動化で想定している内容と一致していることを確認します。

このページのSDKおよびCLIの例ではデフォルトのクライアントを構築しており、このクライアントはANTHROPIC_API_KEY環境変数からAdmin APIキーを読み取ります。SDKはこれらのエンドポイントをclient.organization.rate_limitsおよびclient.organization.workspaces.rate_limitsとして公開しています。Python、TypeScript、C#、Go、Javaのlistメソッドはnext_pageを自動的にたどるイテレーターを返しますが、PHP、Ruby、curlの例は1ページのみを読み取ります。

クイックスタート

組織に設定されたレート制限を一覧表示します。

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

組織のレート制限

/v1/organizations/rate_limitsエンドポイントは、Messages APIおよびそれをサポートするリソースに対して組織レベルで適用されるレート制限を返します。Claude Managed Agentsなど、他の製品の制限は含まれません。

主要な概念

  • レート制限グループ: レスポンスの各エントリは1つのレート制限グループを表します。モデルのレート制限はグループ化されており、複数のモデルバージョンが1組の制限を共有します。その他のグループは、Message Batches API、Files API、Token Counting API、エージェントスキル、ウェブ検索ツールなどのリソースを対象とします。
  • groupオブジェクト: すべてのエントリに存在し、そのエントリが適用されるレート制限グループを識別します。常にtype(group_typeの値のいずれか)とid(rlg_プレフィックスを持つ不透明な識別子)を持ちます。model_groupエントリでは、Claude Sonnet 4.xのような、Anthropicによるそのグループの現在のラベルであるdisplay_nameも持ちます。このラベルは表示専用であり、変更される可能性があります。その他のグループタイプにはdisplay_nameはありません。
  • group内のid: グループは、すべての組織およびすべてのワークスペースオーバーライドで同じidを持ち、この値は決して変わりません。組織間でエントリを照合したり、独自のカタログと照合したりする際に使用してください。エントリ自体のidは組織ごとに異なり、modelsはAnthropicがモデルをグループ間で移動すると変化します。どちらもグループの安定したキーではありません。
  • group_type: group内のtypeが推奨されるため、非推奨となっています。引き続き返され、常にその値と等しく、削除予定日はありません。group_typeクエリパラメータは非推奨ではありません。値の一覧については、グループタイプによるフィルタリングを参照してください。
  • modelsリスト: model_groupエントリの場合、modelsフィールドには、そのグループの制限に対してカウントされるすべてのモデルIDとエイリアスが一覧表示されます。このリストを使用して、任意のモデル文字列がどのグループに属するかを調べることができます。その他のグループタイプでは、modelsはnullです。
  • limitsリスト: 各グループは{type, value}ペアのリストを持ちます。typeフィールドはリミッター(requests_per_minute、input_tokens_per_minute、output_tokens_per_minuteなど)を識別し、valueは設定された制限値です。各リミッターの測定方法と適用方法については、レート制限を参照してください。
  • ワークスペース制限のsource: ワークスペースエンドポイントでは、すべての制限値がsourceも持ちます。これはvalueの出所を示し、ワークスペースに保存されたオーバーライドの場合は{"type": "workspace"}、組織から継承された値の場合は{"type": "organization"}となります。デフォルトでは、ワークスペースエンドポイントはオーバーライドのみを返すため、そこでのsource.typeは常にworkspaceです。継承された値はinclude_inherited=trueを渡すと表示されます。ワークスペースのレート制限を参照してください。

パラメータの詳細とレスポンススキーマの全体については、Organization Rate Limits APIリファレンスを参照してください。

組織のすべてのレート制限を一覧表示する

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
}

特定のモデルの制限を調べる

任意のモデルIDまたはエイリアスをmodelクエリパラメータとして渡すと、それを含むエントリのみが返されます。

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

モデル文字列がどのグループにも一致しない場合、エンドポイントは404エラーを返します。modelパラメータは組織エンドポイントでのみサポートされており、ワークスペースエンドポイントでは受け付けられません。

ワークスペースのレート制限

/v1/organizations/workspaces/{workspace_id}/rate_limitsエンドポイントは、単一のワークスペースに設定されたレート制限のオーバーライドを返します。ワークスペースが継承する値も確認するには、include_inherited=trueを渡してください(継承された値を含めるを参照)。

デフォルトでは、レスポンスにはオーバーライドのみが含まれるため、レスポンスに含まれていないものはすべて組織から継承されます。

  • dataに存在しないグループには、ワークスペースのオーバーライドがまったくありません。ワークスペースはそのグループについて組織レベルの制限を継承します(無制限になるわけではありません)。
  • 存在するグループ内で、limits[]に存在しないリミッタータイプには、そのリミッターに対するワークスペースのオーバーライドがありません。ワークスペースはその値を組織から継承します。
  • 存在する各リミッターについて、org_limitは同じリミッターの組織レベルの値であり、組織にそのリミッタータイプの制限が設定されていない場合はnullです。また、sourceは{"type": "workspace"}です。

パラメータの詳細とレスポンススキーマの全体については、Workspace Rate Limits APIリファレンスを参照してください。

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
}

継承された値を含める

ワークスペースに適用される制限を1回のリクエストで読み取るには、オプションのinclude_inheritedクエリパラメータを追加します。デフォルトはfalseで、ブール値以外の値を指定すると400エラーが返されます。include_inherited=trueの場合:

  • dataには、ワークスペースに適用され、かつ組織レベルの値を持つグループごとに1つのエントリが含まれます。ワークスペースがそのグループを一切オーバーライドしていない場合も同様です。モデルグループは、ワークスペースがそのモデルの少なくとも1つにアクセスできる場合に適用されます。
  • 各エントリのlimits[]には、組織がそのグループに値を持つすべてのリミッタータイプと、ワークスペースがオーバーライドしているすべてのタイプが一覧表示されます。各タイプは1回だけ表示され、オーバーライドが保存されている場合はワークスペースのオーバーライド、それ以外の場合は組織の値が使われるため、1つのエントリに両方が混在することがあります。
  • 各値のsourceで両者を区別できます。{"type": "workspace"}は保存されたオーバーライドであり、{"type": "organization"}は継承された値で、その場合valueは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
}

グループタイプによるフィルタリング

どちらのエンドポイントも、レスポンスを単一のカテゴリに絞り込むオプションのgroup_typeクエリパラメータを受け付けます。

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

有効な値はmodel_group、batch、token_count、files、skills、web_searchです。

ページネーション

どちらのエンドポイントもpageクエリパラメータを受け付け、next_pageフィールドを返します。現在、レスポンスは常に単一ページであるため、next_pageはnullです。レスポンスが増えた場合でも変更なしでクライアントが正しくページネーションできるよう、next_pageでループしてください。

よくある質問

modelsリストにはどのモデル文字列が表示されますか?

日付付きID(claude-sonnet-4-5-20250929など)や日付なしエイリアス(claude-sonnet-4-5など)を含め、そのグループに対してカウントされるすべてのモデルIDとエイリアスが表示されます。Messages APIに渡す任意のモデル文字列を調べると、ちょうど1つのmodel_groupエントリに見つかります。

ワークスペースのレスポンスにグループが含まれていない場合、何を意味しますか?

デフォルトでは、ワークスペースのレスポンスにはオーバーライドのみが一覧表示されるため、含まれていないグループにはワークスペースのオーバーライドがなく、組織レベルの制限を継承します。ワークスペースエンドポイントで継承された値を確認するにはinclude_inherited=trueを渡すか、組織エンドポイントを照会してください。include_inherited=trueの場合、グループが含まれないのは、そのグループがワークスペースに適用されない場合、または組織にそのグループの制限が設定されていない場合のみです。

このAPIでレート制限を更新できますか?

いいえ。ワークスペースのレート制限を設定するには、Claude Consoleのレート制限ページに移動し、Workspaceドロップダウンメニューからワークスペースを選択して、モデルの横にあるEditをクリックしてください。

関連項目

Was this page helpful?