Skip to main content
The Propal API uses a sliding window rate limiter. Each organization has a maximum number of requests allowed per hour. The window slides continuously with no fixed reset time.

Limits

Rate limits apply per organization, not per API key. If you have multiple API keys for the same organization, they share the same limit.

Response headers

Every API response includes rate limit information in the headers:

When you’re rate limited

When you exceed your limit, the API returns a 429 Too Many Requests response:
The response includes a Retry-After header indicating how many seconds to wait:

Best practices

1

Monitor your usage

Check X-RateLimit-Remaining in response headers. If it’s dropping fast, slow down your requests.
2

Use bulk operations

Fetch up to 100 items per request with limit=100 instead of making many small requests.
3

Cache responses

Cache API responses locally when the data doesn’t change frequently (e.g., templates, themes, organization details).
4

Implement backoff

When you receive a 429, wait for the Retry-After duration before retrying. Don’t retry immediately.
5

Spread requests over time

If you need to sync large amounts of data, spread your requests evenly over the hour rather than bursting them all at once.

Example: rate-limit-aware client

Need higher limits?

Contact us if you need higher rate limits for your organization.