Rate Limits API
Rate Limits API를 사용하여 조직의 API 속도 제한을 프로그래밍 방식으로 조회하세요.
Rate Limits API는 조직 및 해당 워크스페이스에 구성된 "rate limits"(속도 제한)에 대한 프로그래밍 방식의 액세스를 제공합니다. 이는 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 예제는 한 페이지만 읽습니다.
빠른 시작
조직에 구성된 속도 제한을 나열합니다:
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와 같은 다른 제품의 제한은 포함되지 않습니다.
주요 개념
- 속도 제한 그룹: 응답의 각 항목은 하나의 속도 제한 그룹을 나타냅니다. 모델 속도 제한은 여러 모델 버전이 단일 제한 세트를 공유하도록 그룹화되며, 다른 그룹은 Message Batches API, Files API, Token Counting API, 에이전트 스킬, 웹 검색 도구와 같은 리소스를 다룹니다.
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에 전달하는 모델 문자열을 조회하면 정확히 하나의 model_group 항목에서 찾을 수 있습니다.
워크스페이스 응답에서 그룹이 누락되었다면 무엇을 의미하나요?
워크스페이스에 해당 그룹에 대한 재정의가 없으며 조직 수준의 제한을 상속한다는 의미입니다. 상속된 값을 확인하려면 조직 엔드포인트를 조회하세요.
이 API로 속도 제한을 업데이트할 수 있나요?
아니요. 워크스페이스 속도 제한을 설정하려면 Claude Console에서 워크스페이스를 열고 Rate limits 탭을 사용하세요.
참고 항목
Was this page helpful?