Skip to navigation

Rate limits

Requests per minute, per token
View as MarkdownOpen in Claude
LimitApplies to
120 requests per minuteEach token, across every endpoint
20 requests per minuteEach token, on file uploads (POST /uploads), on top of the general limit
10 requests per minuteEach token, on testing the integration of a notification configuration (POST /alerts/{alert}/integrations/{type}/test), on top of the general limit: each test posts a message to your Slack or Discord URL

Limits are counted per token, not per organization or per person: two tokens have separate budgets.

Knowing where you stand

Successful responses carry two headers:

HeaderMeaning
X-RateLimit-LimitThe number of requests allowed per minute
X-RateLimit-RemainingHow many of them are left in the current minute

Slow down as X-RateLimit-Remaining approaches zero.

When you go over

A request over the limit answers 429:

{
"errors": [
{ "status": "429", "title": "Error", "detail": "Too Many Attempts." }
],
"jsonapi": { "version": "1.1" }
}

The 429 carries headers that tell you when to come back:

HeaderMeaning
Retry-AfterThe number of seconds to wait before sending the next request
X-RateLimit-LimitThe number of requests allowed per minute
X-RateLimit-Remaining0
X-RateLimit-ResetThe Unix timestamp at which the budget is available again

Wait the number of seconds in Retry-After before retrying, and never retry in a tight loop.

The request quota of the organization is a separate limit, counted over the billing period: see Organizations.