Rate Limits API
Программно запрашивайте ограничения скорости API вашей организации с помощью Rate Limits API.
Rate Limits API предоставляет программный доступ к ограничениям скорости, настроенным для вашей организации и её рабочих пространств. Это та же информация, которая отображается на странице Rate limits в Claude Console.
Используйте этот API, чтобы:
- Синхронизировать шлюзы и прокси: считывайте текущие ограничения при запуске и по расписанию вместо жёстко заданных значений, которые устаревают, когда Anthropic их корректирует.
- Обеспечивать внутренние оповещения: сравнивайте данные об использовании из Usage and Cost API с настроенными ограничениями.
- Проверять конфигурацию рабочих пространств: убеждайтесь, что переопределения для рабочих пространств соответствуют ожиданиям вашей автоматизации развёртывания.
Примеры SDK и CLI на этой странице создают клиент по умолчанию, который считывает ключ Admin API из переменной окружения ANTHROPIC_API_KEY. SDK предоставляют эти конечные точки как client.organization.rate_limits и client.organization.workspaces.rate_limits; методы получения списка в Python, TypeScript, C#, Go и Java возвращают итератор, который сам следует по next_page, тогда как примеры для PHP, Ruby и curl считывают одну страницу.
Быстрый старт
Получите список ограничений скорости, настроенных для вашей организации:
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, не включены.
Ключевые понятия
- Группы ограничений скорости: каждая запись в ответе представляет одну группу ограничений скорости. Ограничения скорости для моделей сгруппированы так, что несколько версий моделей используют общий набор ограничений, а другие группы охватывают такие ресурсы, как Message Batches API, Files API, Token Counting API, навыки агентов и инструмент веб-поиска.
- Объект
group: присутствует в каждой записи и определяет группу ограничений скорости, к которой относится запись. Он всегда содержитtype— одно из значенийgroup_type— иid, непрозрачный идентификатор с префиксомrlg_. В записяхmodel_groupон также содержитdisplay_name— текущую метку группы от Anthropic, напримерClaude Sonnet 4.x. Метка предназначена только для отображения и может измениться. У других типов групп нетdisplay_name. idвнутриgroup: у группы один и тот жеidв каждой организации и в каждом переопределении для рабочего пространства, и он никогда не меняется. Используйте его для сопоставления записей между организациями или с вашим собственным каталогом. Собственныйidзаписи различается в разных организациях, аmodelsменяется, когда Anthropic переносит модель между группами. Ни то, ни другое не является стабильным ключом группы.group_type: устарел в пользуtypeвнутриgroup. Он по-прежнему возвращается, всегда равен этому значению, и дата его удаления не назначена. Параметр запросаgroup_typeне устарел. Список значений см. в разделе Фильтрация по типу группы.- Список
models: для записейmodel_groupполеmodelsперечисляет все идентификаторы и псевдонимы моделей, которые учитываются в ограничениях этой группы. Используйте этот список, чтобы определить, к какой группе относится любая строка модели. Для других типов группmodelsравноnull. - Список
limits: каждая группа содержит список пар{type, value}. Полеtypeопределяет ограничитель (например,requests_per_minute,input_tokens_per_minuteилиoutput_tokens_per_minute), аvalue— настроенное ограничение. О том, как измеряется и применяется каждый ограничитель, см. в разделе Ограничения скорости.
Полное описание параметров и схем ответов см. в справочнике по 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
}Поиск ограничений для конкретной модели
Передайте любой идентификатор или псевдоним модели в параметре запроса model, чтобы получить только содержащую его запись:
client = anthropic.Anthropic()
rate_limits = client.organization.rate_limits.list(model="claude-opus-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 возвращает переопределения ограничений скорости, настроенные для одного рабочего пространства.
Ответ включает только переопределения, поэтому всё, что в нём отсутствует, наследуется от организации:
- Группа, отсутствующая в
data, вообще не имеет переопределения для рабочего пространства. Рабочее пространство наследует ограничения уровня организации для этой группы (оно не является неограниченным). - Внутри присутствующей группы тип ограничителя, отсутствующий в
limits[], не имеет переопределения для рабочего пространства. Рабочее пространство наследует для него значение организации. - Для каждого присутствующего ограничителя
org_limit— это значение уровня организации для того же ограничителя илиnull, если у организации нет настроенного ограничения для этого типа ограничителя.
Полное описание параметров и схем ответов см. в справочнике по 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 },
{ "type": "input_tokens_per_minute", "value": 500000, "org_limit": 10000000 }
]
},
{
"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 },
{ "type": "input_tokens_per_minute", "value": 500000, "org_limit": 10000000 }
]
}
],
"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?
Все идентификаторы и псевдонимы моделей, которые учитываются в группе, включая датированные идентификаторы (например, claude-sonnet-4-5-20250929) и недатированные псевдонимы (например, claude-sonnet-4-5). Найдите любую строку модели, которую вы передаёте в Messages API, и вы обнаружите её ровно в одной записи model_group.
Что означает отсутствие группы в ответе рабочего пространства?
У рабочего пространства нет переопределения для этой группы, и оно наследует ограничение уровня организации. Запросите конечную точку организации, чтобы увидеть наследуемые значения.
Могу ли я обновлять ограничения скорости с помощью этого API?
Нет. Чтобы задать ограничения скорости для рабочего пространства, перейдите на страницу Rate limits в Claude Console, выберите рабочее пространство в раскрывающемся меню Workspace и нажмите Edit рядом с моделью.
См. также
Was this page helpful?