Rate Limiting
Rate limits protect Planet's infrastructure and experience for all customers. Planet APIs will respond with an HTTP 429 Too Many Requests status code when rate limits have been exceeded. When this happens, we recommend retrying with an exponential backoff to slow down the request volume.
The Planet Python client will automatically handle this condition and retry several times.
Retry Guidance
When rate limits are exceeded, responses may include a Retry-After header indicating when to retry. If present, respect this header and use exponential backoff.
Rate limits vary by API and plan. Plan-level rate limits and quotas are published on the Platform pricing page. Some API references may also include endpoint-specific limits.
Rate Limit Scopes
Some API references include rate limits with scope labels such as unauthenticated, burst, and sustained.
unauthenticatedlimits apply to requests that are not authenticated.burstlimits apply to short spikes of traffic over a short time window, such as requests per second.sustainedlimits apply to continued request volume over a longer time window, such as requests per minute.
A request must stay within all applicable limits. For example, an API may allow a short burst of requests per second while also enforcing a lower sustained rate across a full minute.
Always handle HTTP 429 Too Many Requests responses by respecting the Retry-After header when present and retrying with exponential backoff.
Rate Limiting and Monitoring Credits
Rate limiting can apply to both HTTP requests and Monitoring Credits. Depending on the API and your account, a request may count toward:
- One or more request-based limits (for example, requests per minute or per month)
- One or more credit-based limits (for example, credits per minute or per month)
- Both
Rate limits may be enforced across multiple time windows. A request can be within the per-minute limit but still be rate limited if you have exceeded a longer-term limit (for example, a monthly limit).
APIs are often protected by multiple rate limits. To avoid HTTP 429 responses, each limit must be satisfied.
Example
Assume the following limits:
- 100 requests per minute
- 100 credits per minute
If each request costs 2 credits, only 50 requests can succeed in a minute (50 × 2 = 100). The remaining requests exceed the credit limit and return HTTP 429, even though the request limit is 100 per minute.
Unused requests and unused credits do not carry over to the next time period.
For more information, see Monitoring Credits.
If your account still uses Processing Units, see the legacy Processing Units reference.