Technical requirements

Fast Connect API requests from trivago are sent as HTTP(S) GET (for hotel_data) or HTTP(S) POST (for hotel_availability) requests.

All request parameters will be set to "application/x-www-form-urlencoded".

All responses must conform to the JSON specification and be sent with the HTTP Content-Type header set to application/json.

All responses must use UTF-8 encoding.

All responses must return status code 200 (success). Other status codes, including statuses in the 300s (which indicates redirection), 400s (which indicates client error), and 500s (which indicates server error) will be treated as an error.

All responses must be gzip or deflate compressed.

Security

If the advertiser would like to verify that trivago is the requestor, trivago can optionally use only HTTP basic access authentication in order to add username and password to the hotel_availability API calls. This option should be used in conjunction with HTTP over SSL (HTTPS) to ensure that the username and password cannot be stolen. Using HTTPS requires a certificate from an audited certificate authority.

trivago expects full support of the HTTP/1.1 RFC 2616 and particularly the full support of the chunked transfer encoding for requests and responses (https://tools.ietf.org/html/rfc2616#section-3.6.1). The latter could be tested by adding -H 'Transfer-Encoding: chunked' to the curl price search request for the advertiser API. Issues are not to be expected in the response (e.g. timeouts, wrong content type)

Redirects

Responses must not redirect to another URL. All the URLs in the API below do not use a trailing slash and you cannot redirect to a URL that contains one.

Optional fields

Fields that are marked as optional do not need to be included in your responses. When you do not have a value for an optional field, it should be omitted entirely. Please do not provide fields with an empty string.

JSON data types

Throughout this API, the following data types are used:

String Most values are strings. Strings must have quote marks around them. As stated above, empty strings are unacceptable for optional fields. Do not use control characters like \r, \n, or \t in Strings
Number A number can be used to represent anything from a partner reference to a price. Numbers should not have quotes around them. Numbers can also have decimal points if needed.
Boolean Can only be the word true or false. Booleans are not written in quotes.

Please note that NULL is not an accepted value.


Method overview

/hotel_data

Requesting hotel inventory

/hotel_availability

Requesting hotel availability and corresponding offers