Rate Limits

API rate limits by plan tier and how to handle throttling

The GeoSheet API enforces rate limits to ensure fair usage and platform stability. Limits are applied per API key using a sliding window algorithm.

Limits by plan

PlanRequests per minute
Professional100
Enterprise1,000

How the sliding window works

Rate limits use a 60-second sliding window. Each request is timestamped, and the API counts how many requests the key has made in the most recent 60-second period. If the count exceeds the plan limit, subsequent requests are rejected until older requests fall outside the window.

Exceeding the limit

When your key exceeds its rate limit, the API returns:

HTTP 429 Too Many Requests

The response includes a Retry-After header indicating how many seconds to wait before retrying:

Retry-After: 12

Best practices

  • Batch operations -- use the bulk cells endpoint (PUT /v1/geosheets/:id/cells) to write multiple cells in a single request instead of one request per cell.
  • Cache reads -- if your application reads the same data frequently, cache responses on your side.
  • Implement backoff -- when you receive a 429, wait for the duration specified in Retry-After before retrying. Exponential backoff with jitter is recommended for high-throughput applications.
  • Monitor usage -- track your request count to stay within limits and avoid disruptions.

Need higher limits?

Enterprise plans support custom rate limits. Contact us to discuss your requirements.