Rate limiting
Rate limiting facilitates a stable and maintainable service while ensuring the sustainable and cost-efficient use of Expedia Group systems.
What is rate limiting?
The Shopping API depends on a central inventory management system. As this system has finite capacity, it needs to be protected from over-utilization for the benefit of all partners and Expedia Group brands.
Traffic optimization is achieved by limiting the volume of traffic a partner can request to reasonable levels. These rate limits ensure the continued delivery of a stable and maintainable service to partners while also guaranteeing the efficient use of Expedia Group systems.
For Shop traffic, the significant factors for determining load are the number of hotels, the number of rooms, and the length of stays being searched in each request, i.e. Load = number of properties x number of rooms x number of nights (on a Shop resource call).
Headers
We include a number of headers on most of our responses in order to help you see what load your calls are creating. We include the full set of headers on as many responses as we can, but we cannot guarantee they will be provided for every response, so please plan accordingly.
Parameter (header) | Description | Value |
---|---|---|
Rate-Limit-Day-Remaining | Optional header for the remaining capacity, as a percentage, for the daily time window. | Number |
Rate-Limit-Day-Reset | Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets. | Number |
Rate-Limit-Minute-Remaining | Optional header for the remaining capacity, as a percentage, for the per minute time window. | Number |
Rate-Limit-Minute-Reset | Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets. | Number |
Rate-Limit-Reduction-Status | Optional header that indications the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used. | String |