Despegar API usage

This is the usage documentation for the Despegar API.
For other, more detailed, information see here.

WARNING: We are currently deprecating version 1.0, if your application uses the root version in its configuration, it WILL break in a few months. The new version will not be backward compatible. Check your application(s) and make sure you are using the full version URL (for example for all calls to our methods. For more information see here.

- General

All API responses are JSON, we also support JSONP with the standard callback parameter.

API responses are heavily cached. Polling for changes should be done sparingly in any case, and polling at a rate faster than once a minute (for semantically identical requests) is considered abusive.

Additionally, all API responses are GZIP'd. The Content-Encoding header is always set, but some proxies will strip this out. The proper way to decode API responses can be found here.

In order to have a fair quantity of requests per day, you need to specify an API Key, see here for more information.

API usage is throttled by IP address. Each IP can make a certain number of requests per-day. Without an API key, this limit is quite low.
Note that API keys do not "stack." A single IP running a dozen registered applications can make the same number of requests per day as an IP running a single registered application.

- Methods

Many API methods are vectorized. That is to say, they will accept multiple values within a single parameter on a request.
If a parameter on this page is in the url path and plural you can pass multiple values separated by commas. The documentation for specific methods will call out vectorized parameters further.


All methods return a json string which contains three main root nodes -- although not all are present at all times.

  • data: This node may have a custom key like availability (generally the same as the top URL sub-level of the method), or simply be called data; it contains the actual result of the method. You can see each response structure in the method detail page clicking below.

  • meta: Contains summary information (meta data) of the method execution. Examples are time, which contains the milliseconds it took the method to complete, and reference, a unique identifier of the transaction used for tracking and debugging purposes.
    Each method may add specific summary data (like pagination information); see the Response Summary section in the method detail page for details.

  • errors: This node is only present when the method returned an error, and it contains details about what happened. Use the reference value from the meta node when reporting it back to us (assuming it's not a problem with the request, or something that can be solved on your end).

- Availability 

- Combined Products 

- Flights 

- Hotels 

- Packages 

- Booking 

- Assisted 

- Cars 

- Combined Products 

- Flights 

- Hotels 

- Packages 

- Configuration 

- Flights 

- Geo 

- Autocomplete 

- Miscellaneous 

- Reviews 

- Weather 

- Hotels 

- Miscellaneous 

- Self service 

- Flight Product 

- Transaction 

- Self service hotels 

- Social 

- Trip Planning