
Grab your gear: The official Sanity swag store
Read Grab your gear: The official Sanity swag storeWhen you exceed Sanity's API rate limit, the wait time depends on which specific limit you hit. According to the technical limits documentation, Sanity enforces rate limits in two ways:
Per-IP Rate Limits (enforced per second):
Concurrent Rate Limits (per dataset):
When you hit a rate limit, you'll receive an HTTP 429 response with helpful headers:
retry-after: Tells you how many seconds to wait before retryingratelimit-reset: Time in seconds until the limit resetsx-ratelimit-limit-*: Shows your rate limit thresholdx-ratelimit-remaining-*: Shows how many requests you have leftHow long to wait:
Since these are rolling window limits (measured per second), you typically only need to wait 1-2 seconds for the per-IP limits to reset. The key is to check the retry-after header in the 429 response - it will tell you the exact wait time.
Best practices to avoid hitting limits:
retry-after header and wait that duration before retryingFor most use cases, spacing out your requests by 40-50ms will keep you comfortably under the 25 req/s mutation limit without triggering rate limiting at all.
Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.
Content operations
Content backend


The only platform powering content operations
By Industry


Tecovas strengthens their customer connections
Build and Share

Grab your gear: The official Sanity swag store
Read Grab your gear: The official Sanity swag store