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.beta.organization.rate_limitsおよびclient.beta.organization.workspaces.rate_limitsとして公開しています。Python、TypeScript、C#、Go、Javaのlistメソッドはnext_pageを自動的にたどるイテレータを返しますが、PHP、Ruby、curlの例では1ページのみを読み取ります。
クイックスタート
組織に設定されたレート制限を一覧表示します。
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}")組織のレート制限
/v1/organizations/rate_limitsエンドポイントは、Messages APIおよびそれをサポートするリソースに対して組織レベルで適用されるレート制限を返します。Claude Managed Agentsなど、他の製品の制限は含まれません。
主要な概念
- レート制限グループ: レスポンスの各エントリは1つのレート制限グループを表します。モデルのレート制限は、複数のモデルバージョンが単一の制限セットを共有するようにグループ化されており、その他のグループはMessage Batches API、Files API、Token Counting API、エージェントスキル、Web検索ツールなどのリソースを対象とします。
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は設定された制限値です。各リミッターの測定方法と適用方法については、レート制限を参照してください。
パラメータの詳細とレスポンススキーマの全容については、Organization Rate Limits APIリファレンスを参照してください。
すべての組織レート制限を一覧表示する
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
}特定のモデルの制限を調べる
任意のモデルIDまたはエイリアスをmodelクエリパラメータとして渡すと、それを含むエントリのみが返されます。
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}")モデル文字列がどのグループにも一致しない場合、エンドポイントは404エラーを返します。modelパラメータは組織エンドポイントでのみサポートされており、ワークスペースエンドポイントでは受け付けられません。
ワークスペースのレート制限
/v1/organizations/workspaces/{workspace_id}/rate_limitsエンドポイントは、単一のワークスペースに設定されたレート制限のオーバーライドを返します。
レスポンスにはオーバーライドのみが含まれるため、レスポンスに含まれていないものはすべて組織から継承されます。
dataに存在しないグループには、ワークスペースのオーバーライドがまったくありません。ワークスペースはそのグループについて組織レベルの制限を継承します(無制限ではありません)。- 存在するグループ内で、
limits[]に存在しないリミッタータイプには、そのリミッターに対するワークスペースのオーバーライドがありません。ワークスペースはそのリミッターについて組織の値を継承します。 - 存在する各リミッターについて、
org_limitは同じリミッターの組織レベルの値です。組織にそのリミッタータイプの制限が設定されていない場合はnullになります。
パラメータの詳細とレスポンススキーマの全容については、Workspace Rate Limits APIリファレンスを参照してください。
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
}グループタイプによるフィルタリング
どちらのエンドポイントも、レスポンスを単一のカテゴリに限定するオプションのgroup_typeクエリパラメータを受け付けます。
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}")有効な値は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エントリに見つかります。
ワークスペースのレスポンスにグループが含まれていない場合、何を意味しますか?
ワークスペースにはそのグループのオーバーライドがなく、組織レベルの制限を継承しています。継承された値を確認するには、組織エンドポイントを照会してください。
このAPIでレート制限を更新できますか?
いいえ。ワークスペースのレート制限を設定するには、Claude Consoleでワークスペースを開き、Rate limitsタブを使用してください。
関連項目
Was this page helpful?