Skip to main content

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 Limiting and Processing Units

Rate limiting can apply to both HTTP requests and processing units. 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 processing unit-based limits (for example, processing units 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 processing units per minute

If each request costs 2 processing units, only 50 requests can succeed in a minute (50 × 2 = 100). The remaining requests exceed the processing unit limit and return HTTP 429, even though the request limit is 100 per minute.

note

Unused requests and unused processing units do not carry over to the next time period.

For more information, see processing units.