ReferenceHTTP API
Rate limits
Rate limit headers, the global and invalid-request limits, and other hard caps.
Response headers 8
| Header | Meaning |
|---|---|
X-RateLimit-Limit | The number of requests that can be made in the current bucket window. |
X-RateLimit-Remaining | Requests left before the bucket is exhausted. |
X-RateLimit-Reset | Epoch time in seconds (with decimals) at which the bucket resets. |
X-RateLimit-Reset-After | Seconds until the bucket resets. Can have decimals for millisecond precision. |
X-RateLimit-Bucket | Opaque id for the bucket hit. Shared across similar routes; excludes top-level resources in the path. |
X-RateLimit-Global | Only on 429s, set when the limit hit is the global one rather than per-route. |
X-RateLimit-Scope | Only on 429s: user, global or shared. Shared 429s don’t count toward the invalid request limit. |
Retry-After | Seconds to wait before retrying. Mirrored as retry_after in the 429 JSON body. |
Limits worth knowing 13
| Limit | Value | Details |
|---|---|---|
| Global REST limit | 50 req/s | Per bot token (or per IP when unauthenticated). Independent of route buckets. Interaction endpoints are exempt. |
| Invalid requests | 10,000 / 10 min | Per IP. 401, 403 and 429 responses count; hitting it means a temporary Cloudflare ban. |
| Gateway send rate | 120 / 60 s | Events an app can send per gateway connection, about 2 per second. |
| Gateway payload size | 4096 bytes | Larger payloads close the connection with 4002. |
| Identify concurrency | max_concurrency | Shards that may identify per 5 seconds, from session_start_limit on Get Gateway Bot. |
| Initial interaction response | 3 s | Respond or defer within 3 seconds or the token is invalidated. |
| Interaction token lifetime | 15 min | Followups and edits to the original response work for 15 minutes. |
| Message content | 2000 chars | Per message sent by a bot or webhook. |
| Embeds per message | 10 | Up to 10 rich embeds, 6000 characters combined across all of them. |
| Components per message | 40 | Total components including nested ones. Legacy messages: 5 action rows, 5 buttons each. |
| Select options | 25 | Max options in a string select, and the max for min_values / max_values. |
| Slowmode | 0–21600 s | rate_limit_per_user range. Bots and members with BYPASS_SLOWMODE are unaffected. |
| Default upload limit | 20 MiB | Per file. Higher with Nitro or server boosts; attachment_size_limit on interactions gives the effective max. |
Nothing in this table matches. Try a name, a number or part of the description.