Rate Limits
Guesty's Open API rate limits and how to work with them.
API Rate Limits
Guesty’s Open API provides a flexible way to integrate your solutions with the Guesty Dashboard.
To ensure that our users experience constant data flow, maintain maximum up-time, and protect our platform from external threats, Guesty has maximum call limits for our Open API. These limits are set as follows:
Maximum Number of Requests | Time Frame |
---|---|
15 | one second |
120 | one minute |
5,000 | one hour |
Handling Rate Limits
To correctly address rate limits, you are required to 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 (which is 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 assist you in remaining within your rate limits.
- Create Webhooks to receive notifications for specific actions/events in your account. You can then call back the API for 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, minimizing the required requests.
Updated 5 months ago