Rate Limiting
To ensure our API service remains efficient and available to all users, we have implemented a rate limiting mechanism. Please read the following guidelines to understand the specific rules and best practices.
What is Rate Limiting?
Rate Limiting is a mechanism to control the number of requests a client can make to the server within a certain time frame. This helps prevent abuse and ensures fair access to server resources for all users.
You will start off with a set limit that is shared during the onboarding process. We increase this based on number of bookings made and we will reach out directly if they qualify to increase this rate limit.
Specific Limits
Currently, our API has the following rate limits:
- Per Minute
Response Headers
The response headers will include the Rate Limiting information:
EG-Rate-Limit-Minute
: The maximum number of requests allowed.EG-Rate-Limit-Remaining-Minute
: The number of requests remaining in the current time window.EG-Rate-Limit-Reset-Minute
: The timestamp (UNIX time) when the current rate limit window resets.
Handling Rate Limits
Avoiding Rate Limits
- Cache Responses: Whenever possible, cache response data to avoid unnecessary API requests.
- Spread Request: Avoid spike and batch request.
- Avoid retry for 429 error to make it even worsen.
Reacting to Rate Limits
If you exceed the limit and receive a 429 Too Many Requests error, consider the following steps:
- Check the
EG-Rate-Limit-Reset-Minute
header to determine when you can send new requests.
Increasing Your Limits
If you need higher API call quotas, please contact our support team to learn more about the requirements for upgraded quotas.
Monitor traffic and rate limiting alerts
Expedia enforces rate limits on the API to maintain system stability and ensure fair access for all users, while still allowing integrations to operate smoothly within normal traffic levels.
However, there may be times when your integration needs to send more requests than usual.
These increases in request volume can happen for various reasons, including:
- One-time spikes in traffic, such as when building or updating a large cache of static content.
- Regular increases due to natural growth in the usage of your application.
- Sustained traffic growth over time as your system scales.
It is essential to actively monitor your API traffic usage actively and identify any rate-limiting errors (e.g., HTTP 429 - Too many requests) to understand when you're nearing or exceeding the allowed limits.
By staying proactive and monitoring your traffic usage, you can ensure that your integration continues to function smoothly without hitting rate limits unexpectedly.
Frequently Asked Questions
Q: How will I know if I have hit my request limit?
A: You will receive an HTTP status code 429 Too Many Requests when you exceed the limit.
Q: Does the rate limit apply to all API endpoints?
A: Yes, the rate limiting policy applies to all publicly accessible API endpoints.
Contact Us
If you have any questions or need assistance, please do not hesitate to reach out to our support team.