API dei limiti di velocità
Interroga programmaticamente i limiti di velocità API della tua organizzazione con la Rate Limits API.
L'API dei limiti di velocità fornisce accesso programmatico ai "rate limit" (limiti di velocità) configurati per la tua organizzazione e i suoi workspace. Si tratta delle stesse informazioni mostrate nella pagina Limiti di velocità della Claude Console.
Usa questa API per:
- Mantenere sincronizzati gateway e proxy: Leggi i tuoi limiti attuali all'avvio e a intervalli programmati invece di codificare valori fissi che diventano obsoleti quando Anthropic li modifica.
- Alimentare gli avvisi interni: Confronta i dati di utilizzo dell'API di utilizzo e costi con i limiti configurati.
- Verificare la configurazione dei workspace: Controlla che le sovrascritture a livello di workspace corrispondano a quanto previsto dalla tua automazione di provisioning.
Gli esempi SDK e CLI in questa pagina costruiscono il client predefinito, che legge la chiave dell'Admin API dalla variabile d'ambiente ANTHROPIC_API_KEY. Gli SDK espongono questi endpoint come client.organization.rate_limits e client.organization.workspaces.rate_limits; i metodi di elenco di Python, TypeScript, C#, Go e Java restituiscono un iteratore che segue next_page per te, mentre gli esempi PHP, Ruby e curl leggono una sola pagina.
Guida rapida
Elenca i limiti di velocità configurati per la tua organizzazione:
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}")Limiti di velocità dell'organizzazione
L'endpoint /v1/organizations/rate_limits restituisce i limiti di velocità applicati a livello di organizzazione per la Messages API e le sue risorse di supporto. I limiti per altri prodotti, come i Claude Managed Agents, non sono inclusi.
Concetti chiave
- Gruppi di limiti di velocità: Ogni voce nella risposta rappresenta un gruppo di limiti di velocità. I limiti di velocità dei modelli sono raggruppati in modo che diverse versioni di modello condividano un unico insieme di limiti, e altri gruppi coprono risorse come la Message Batches API, la Files API, la Token Counting API, le agent skills e lo strumento di ricerca web.
- Oggetto
group: Presente in ogni voce, identifica il gruppo di limiti di velocità a cui si applica la voce. Ha sempretype, che è uno dei valori digroup_type, eid, un identificatore opaco con il prefissorlg_. Nelle vocimodel_groupha anchedisplay_name, l'etichetta attuale di Anthropic per il gruppo, comeClaude Sonnet 4.x. L'etichetta serve solo per la visualizzazione e può cambiare. Gli altri tipi di gruppo non hannodisplay_name. - L'
idall'interno digroup: Un gruppo ha lo stessoidin ogni organizzazione e in ogni sovrascrittura a livello di workspace, e non cambia mai. Usalo per far corrispondere le voci tra organizzazioni o con il tuo catalogo. L'iddella voce stessa differisce per ogni organizzazione, emodelscambia quando Anthropic sposta un modello da un gruppo all'altro. Nessuno dei due è una chiave stabile per il gruppo. group_type: Deprecato a favore deltypeall'interno digroup. Viene ancora restituito, è sempre uguale a quel valore e non ha una data di rimozione. Il parametro di querygroup_typenon è deprecato. Consulta Filtrare per tipo di gruppo per l'elenco dei valori.- Elenco
models: Per le vocimodel_group, il campomodelselenca ogni ID di modello e alias che viene conteggiato nei limiti di quel gruppo. Usa questo elenco per individuare a quale gruppo appartiene una qualsiasi stringa di modello. Per gli altri tipi di gruppo,modelsènull. - Elenco
limits: Ogni gruppo contiene un elenco di coppie{type, value}. Il campotypeidentifica il limitatore (comerequests_per_minute,input_tokens_per_minuteooutput_tokens_per_minute) evalueè il limite configurato. Consulta Limiti di velocità per sapere come viene misurato e applicato ciascun limitatore. sourcenei limiti dei workspace: Nell'endpoint dei workspace, ogni valore di limite include anchesource, che indica da dove provienevalue:{"type": "workspace"}per una sovrascrittura memorizzata nel workspace, oppure{"type": "organization"}per un valore ereditato dall'organizzazione. Per impostazione predefinita, l'endpoint dei workspace restituisce solo le sovrascritture, quindi lìsource.typeè sempreworkspace; i valori ereditati compaiono quando passiinclude_inherited=true. Consulta Limiti di velocità del workspace.
Per i dettagli completi sui parametri e gli schemi di risposta, consulta il riferimento dell'API dei limiti di velocità dell'organizzazione.
Elencare tutti i limiti di velocità dell'organizzazione
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
}Cercare i limiti per un modello specifico
Passa qualsiasi ID di modello o alias come parametro di query model per restituire solo la voce che lo contiene:
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}")Se la stringa del modello non corrisponde a nessun gruppo, l'endpoint restituisce un errore 404. Il parametro model è supportato solo sull'endpoint dell'organizzazione; l'endpoint del workspace non lo accetta.
Limiti di velocità del workspace
L'endpoint /v1/organizations/workspaces/{workspace_id}/rate_limits restituisce le sovrascritture dei limiti di velocità configurate per un singolo workspace. Per vedere anche i valori che il workspace eredita, passa include_inherited=true (consulta Includere i valori ereditati).
Per impostazione predefinita, la risposta include solo le sovrascritture, quindi tutto ciò che manca viene ereditato dall'organizzazione:
- Un gruppo assente da
datanon ha alcuna sovrascrittura a livello di workspace. Il workspace eredita i limiti a livello di organizzazione per quel gruppo (non è illimitato). - All'interno di un gruppo presente, un tipo di limitatore assente da
limits[]non ha alcuna sovrascrittura a livello di workspace per quel limitatore. Il workspace eredita il valore dell'organizzazione per esso. - Per ogni limitatore presente,
org_limitè il valore a livello di organizzazione per lo stesso limitatore, oppurenullse l'organizzazione non ha un limite configurato per quel tipo di limitatore, esourceè{"type": "workspace"}.
Per i dettagli completi sui parametri e gli schemi di risposta, consulta il riferimento dell'API dei limiti di velocità del workspace.
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
}Includere i valori ereditati
Per leggere i limiti applicabili a un workspace in un'unica richiesta, aggiungi il parametro di query opzionale include_inherited. Il valore predefinito è false; un valore che non è un booleano restituisce un errore 400. Con include_inherited=true:
datacontiene una voce per ogni gruppo che si applica al workspace e ha un valore a livello di organizzazione, anche se il workspace non ne sovrascrive nessuna parte. Un gruppo di modelli si applica quando il workspace può accedere ad almeno uno dei suoi modelli.- Il
limits[]di ogni voce elenca ogni tipo di limitatore per cui l'organizzazione ha un valore in quel gruppo, più qualsiasi tipo che il workspace sovrascrive. Ogni tipo compare una sola volta, con la sovrascrittura del workspace dove ne è memorizzata una e il valore dell'organizzazione altrimenti, quindi una voce può combinare i due. - Il
sourcedi ogni valore permette di distinguerli:{"type": "workspace"}è una sovrascrittura memorizzata, e{"type": "organization"}è un valore ereditato, in cuivalueè uguale aorg_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
}Filtrare per tipo di gruppo
Entrambi gli endpoint accettano un parametro di query opzionale group_type che limita la risposta a una singola categoria:
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}")I valori validi sono model_group, batch, token_count, files, skills e web_search.
Paginazione
Entrambi gli endpoint accettano un parametro di query page e restituiscono un campo next_page. Le risposte sono attualmente sempre una singola pagina, quindi next_page è null. Esegui un ciclo su next_page in modo che il tuo client pagini correttamente senza modifiche quando la risposta cresce.
Domande frequenti
Quali stringhe di modello appaiono nell'elenco models?
Ogni ID modello e alias che conta verso il gruppo, inclusi gli ID datati (come claude-sonnet-4-5-20250929) e gli alias non datati (come claude-sonnet-4-5). Cerca qualsiasi stringa di modello che passi alla Messages API e la troverai in esattamente una voce model_group.
Cosa significa se un gruppo manca dalla risposta del workspace?
Per impostazione predefinita, la risposta del workspace elenca solo le sovrascritture, quindi un gruppo mancante non ha alcuna sovrascrittura del workspace ed eredita il limite a livello di organizzazione. Passa include_inherited=true per vedere i valori ereditati nell'endpoint dei workspace, oppure interroga l'endpoint dell'organizzazione. Con include_inherited=true, un gruppo manca solo quando non si applica al workspace o l'organizzazione non ha alcun limite impostato per esso.
Posso aggiornare i limiti di velocità con questa API?
No. Per impostare i limiti di velocità del workspace, vai alla pagina Limiti di velocità nella Claude Console, seleziona il workspace dal menu a discesa Workspace e fai clic su Edit accanto a un modello.
Vedi anche
Was this page helpful?