Rate Limits

Guesty's Open API rate limits and how to work with them.

Guesty's Open API provides a flexible way to integrate your solutions with the Guesty Dashboard.

To ensure that our users experience a constant data flow, maintain maximum uptime, and protect our platform from external threats, Guesty imposes strict call limits on our Open API. These limits are set as follows:


Maximum Number of RequestsTime Frame
15one second
120one minute
5,000one hour

Handling Rate Limits

To correctly address rate limits, you must implement a retry mechanism.

When an “HTTP 429 too many requests” response code is returned, the subsequent request should be delayed for the seconds detailed in the “Retry-after” response header.


Understanding Your API Usage

To help you better understand your API usage, Guesty also includes additional response headers in all responses returned:

  • X-ratelimit-limit-<interval>: The overall requests limit set for the interval.
  • X-ratelimit-remaining-<interval>: The remaining amount for requests for the interval.

These headers will be present for second/minute/hour intervals.


Example After a Single Request

X-RateLimit-Limit-Second: 15
X-RateLimit-Limit-Minute: 120
X-RateLimit-Limit-Hour: 5000
X-RateLimit-Remaining-Minute: 119
X-RateLimit-Remaining-Second: 14

Guesty processes and restores your API requests at a constant rate whether you send them in bursts or at a constant rate yourself. As a result, your rate quotas may remain higher than you expect (by design). However, if you do attempt to send more than 15 concurrent requests, you'll be instantly rate-limited, and if you continue with this approach, you'll start to see each rate limit quota decrease.


🚧

Note:

Open API rate limits on your account are shared across all API tokens. Open API rate limits are not affected by official partner integrations connected through Guesty’s Marketplace.


Best Practice

Here are a few tips to help you stay within your rate limits.

  • Create Webhooks to receive notifications for specific actions/events in your account. You can then call the API again to retrieve the required data not included in the webhook payload.
  • Wherever possible, customize your requests only to receive the data you need.
  • Queue requests to the API to manage the data flow.
  • Ensure you use the correct API to achieve your objectives while minimizing the number of required requests.