--- title: 1007: Rate limit exceeded | API Docs description: You've hit a rate limit. Wait for the Retry-After interval before sending again. --- HTTP `429 Too Many Requests`. The response includes a `Retry-After` header (and matching `retry_after` field in the error body) with the number of seconds to wait before the next request. There are three situations that produce this code: - **Per-phone-pair limit** — more than 30 messages in a 60-second window between the same sender and recipient. - **Sandbox daily limit** — 100 messages per day on a [sandbox account](https://dashboard.linqapp.com/sandbox-signup/), resetting at midnight UTC. - **Capability check limit** — too many calls to `/v3/capability/check_imessage` or `/v3/capability/check_rcs`. Cache results briefly instead of re-checking on every send. ## Troubleshooting - Respect the `Retry-After` interval before retrying the request. - If you’re hitting the per-pair limit, check for accidental retry loops, duplicate sends, or webhook handlers echoing back to the sender — 30 messages in 60 seconds between the same two numbers almost always indicates a bug. - If you hit the sandbox daily limit, wait for the midnight UTC reset or [request production access](https://dashboard.linqapp.com/sandbox-signup/). - For capability check limits, cache results for minutes rather than re-checking the same address on every send. See [Capability Checks → Caching results](/guides/chats/capability-checks#caching-results/index.md). ## Related - [Rate limits](/guides/platform/rate-limits/index.md) - [Capability checks](/guides/chats/capability-checks/index.md) - [Debugging](/guides/platform/debugging/index.md)