### Get Hotel Rates Endpoint Example Source: https://xotelo.com This example shows the structure of a GET request to the /rates endpoint and a sample response containing hotel booking rates from different providers. ```http GET **https://data.xotelo.com/api/rates** **"rates"** : [ { **"code"**: **"HotelsCom2"**, **"name"**: **"Hotels.com"**, **"rate"**: **5259.00** },{ **"code"**: **"Expedia"**, **"name"**: **"Expedia"**, **"rate"**: **5399.50** }, [...] ] ``` ```json { "error": null, // Return error message if the request could not be completed "timestamp": 1519296206, "result": { "chk_in": "2025-06-13", "chk_out": "2025-06-16", "rates" : [ { "code": "HotelsCom2", "name": "Hotels.com", "rate": 5259.00 // Price per room per night }, { "code": "Expedia", "name": "Expedia", "rate": 5399.50 // Price per room per night }, { "code": "BookingCom", "name": "Booking.com", "rate": 5399.20 // Price per room per night }, { "code": "Agoda", "name": "Agoda.com", "rate": 5250.00 // Price per room per night }, [...] ] } } ``` -------------------------------- ### Rates Endpoint URL Example Source: https://xotelo.com This example demonstrates how to construct the URL for the /rates endpoint, including required parameters like hotel_key, check-in, and check-out dates. ```http https://data.xotelo.com/api/rates ? hotel_key = HOTEL_KEY & chk_in = CHECK_IN_DATE & chk_out = CHECK_OUT_DATE ``` -------------------------------- ### Get Hotel List Source: https://xotelo.com Retrieves a list of hotels for a given location, with options for pagination and sorting. Requires a Location Key. ```APIDOC ## GET list ### Description Retrieves a list of hotels for a given location, with options for pagination and sorting. Requires a Location Key. ### Method GET ### Endpoint https://data.xotelo.com/api/list ### Parameters #### Query Parameters - **location_key** (string) - Required - A unique key assigned to each Location used to matching with TripAdvisor. - **limit** (integer) - Optional - Limit of hotel list. (maximum value is 100) - Default: 30 - **offset** (integer) - Optional - The number of rows to skip from the beginning of the returned data before presenting the results (minimum value is 0) - Default: 0 - **sort** (string) - Optional - Value to sort by. (available values are: `best_value`, `popularity`, `distance`) - Default: `best_value` ### Response #### Success Response (200) - **error** (null) - Return error message if the request could not be completed - **timestamp** (integer) - UNIX time stamp indicating the time the data was collected - **result** (object) - **total_count** (integer) - **limit** (integer) - **offset** (integer) - **list** (array of objects) - **name** (string) - **key** (string) - **accommodation_type** (string) - **image** (string) - **url** (string) - **review_summary** (object) - **rating** (number) - **count** (number) - **price_ranges** (object) - **maximum** (number) - **minimum** (number) - **geo** (object) - **latitude** (number) - **longitude** (number) - **mentions** (array of strings) ### Response Example ```json { "error": null, "timestamp": 1519296206, "result": { "total_count": 4049, "limit": 30, "offset": 0, "list" : [ { "name": "FooBar and Resort", "key": "g1234567-d12345678", "accommodation_type": "Hotel", "image": "https://...html", "url": "https://.....html", "review_summary": { "rating": 4, "count": 1 }, "price_ranges": { "maximum": 17, "minimum": 16 }, "geo": { "latitude": 6.8545, "longitude": 101.21789 }, "mentions": [ "Trendy", "Modern", "Charming" ] } ] } } ``` ``` -------------------------------- ### API Response for Hotel List Source: https://xotelo.com Example JSON response structure for the hotel list endpoint, including total count, pagination details, and a list of hotel objects with their properties. ```json { "error": null, // Return error message if the request could not be completed "timestamp": 1519296206, "result": { "total_count": 4049, "limit": 30, "offset": 0, "list" : [ { "name": "FooBar and Resort", "key": "g1234567-d12345678", "accommodation_type": "Hotel", "image": "https://...html", "url": "https://.....html", "review_summary": { "rating": 4, "count": 1 }, "price_ranges": { "maximum": 17, "minimum": 16 }, "geo": { "latitude": 6.8545, "longitude": 101.21789 }, "mentions": [ "Trendy", "Modern", "Charming" ], } [...] ] } } ``` -------------------------------- ### API Response for Hotel Heatmap Source: https://xotelo.com Example JSON response structure for the hotel heatmap endpoint, showing error, timestamp, and result details including price data. ```json { "error": null, // Return error message if the request could not be completed "timestamp": 1519296206, "result": { "chk_out": "2025-07-30", "heatmap" : { "average_price_days": [ "2025-06-13", "2025-06-14", "2025-06-15", "2025-06-16" ... ], "cheap_price_days": [ "2025-06-17", "2025-06-18", "2025-06-19", "2025-06-20" ... ], "high_price_days": [...] } } } ``` -------------------------------- ### Get Rate Prices Source: https://xotelo.com Retrieves real-time rate data for all available hotel deals. Requires a Hotel Key and optionally accepts currency, check-in/out dates, rooms, adults, and children's ages. ```APIDOC ## GET /rates ### Description Returns real-time rate data for all available deals. ### Method GET ### Endpoint https://data.xotelo.com/api/rates ### Parameters #### Query Parameters - **hotel_key** (string) - Required - A unique key assigned to each Hotel used to matching with TripAdvisor. - **currency** (string) - Optional - Refers to the three-letter currency code (e.g., USD, GBP, EUR). - **chk_in** (string) - Required - Check-In date in YYYY-MM-DD format. - **chk_out** (string) - Required - Check-Out date in YYYY-MM-DD format. - **rooms** (integer) - Optional - Number of rooms (maximum value is 8). - **adults** (integer) - Optional - Number of adults (maximum value is 32). - **age_of_children** (string) - Optional - Age of children, separated by commas (e.g., "0,4,7"). Available age is between 0 to 17. ### Request Example ``` https://data.xotelo.com/api/rates?hotel_key=HOTEL_KEY&chk_in=CHECK_IN_DATE&chk_out=CHECK_OUT_DATE ``` ### Response #### Success Response (200) - **error** (object) - Return error message if the request could not be completed. - **timestamp** (integer) - Standard UNIX timestamp indicating when the rate data was collected. - **result** (object) - **chk_in** (string) - Check-in date. - **chk_out** (string) - Check-out date. - **rates** (array) - Array of rate objects. - **code** (string) - Identifier for the OTA. - **name** (string) - Name of the OTA. - **rate** (float) - Price per room per night. #### Response Example ```json { "error": null, "timestamp": 1519296206, "result": { "chk_in": "2025-06-13", "chk_out": "2025-06-16", "rates" : [ { "code": "HotelsCom2", "name": "Hotels.com", "rate": 5259.00 }, { "code": "Expedia", "name": "Expedia", "rate": 5399.50 }, { "code": "BookingCom", "name": "Booking.com", "rate": 5399.20 }, { "code": "Agoda", "name": "Agoda.com", "rate": 5250.00 }, [ ] ] } } ``` ``` -------------------------------- ### Get Hotel Heatmap Data Source: https://xotelo.com Retrieve heatmap data for a specific hotel on a given check-out date. Requires a valid hotel key. ```http https://data.xotelo.com/api/heatmap ? hotel_key = HOTEL_KEY & chk_out = CHECK_OUT_DATE ``` -------------------------------- ### Get Hotel List by Location Source: https://xotelo.com Retrieve a list of hotels for a specified location, with options to control the number of results and sorting. Requires a location key. ```http https://data.xotelo.com/api/list ? location_key = LOCATION_KEY & offset = OFFSET_NUMBER & limit = LIMIT_NUMBER ``` -------------------------------- ### Get Searching Hotels Source: https://xotelo.com Searches for hotels based on a query, with an option to specify the location type. Requires a query parameter. ```APIDOC ## GET search ### Description Searches for hotels based on a query, with an option to specify the location type. Requires a query parameter. ### Method GET ### Endpoint https://data.xotelo.com/api/search ### Parameters #### Query Parameters - **query** (string) - Required - The search term used to find hotels. This can be a hotel name, city, landmark, or any relevant keyword. For example, entering "Bangkok", "Hilton", or "Eiffel Tower" will return hotels matching the query. - **location_type** (string) - Optional - Specifies the type of location to search for. Possible values are: `accommodation` (default), `geo`. - Default: `accommodation` ### Response #### Success Response (200) - **error** (null) - Return error message if the request could not be completed - **timestamp** (integer) - UNIX time stamp indicating the time the data was collected - **result** (object) - **total_count** (integer) - **limit** (integer) - **offset** (integer) - **list** (array of objects) - Contains hotel details similar to the 'Get Hotel List' endpoint. ### Request Example ``` https://data.xotelo.com/api/search ? query = QUERY ``` ``` -------------------------------- ### Get Heatmap Data Source: https://xotelo.com Retrieves heatmap data for a specific hotel, including average, cheap, and high price days. Requires a Hotel Key and Check-out Date. ```APIDOC ## GET heatmap ### Description Retrieves heatmap data for a specific hotel, including average, cheap, and high price days. Requires a Hotel Key and Check-out Date. ### Method GET ### Endpoint https://data.xotelo.com/api/heatmap ### Parameters #### Query Parameters - **hotel_key** (string) - Required - A unique key assigned to each Hotel used to matching with TripAdvisor. - **chk_out** (string) - Required - Check-Out date. (Format YYYY-MM-DD ex. 2025-05-31 for 31 May 2025) ### Response #### Success Response (200) - **error** (null) - Return error message if the request could not be completed - **timestamp** (integer) - UNIX time stamp indicating the time the data was collected - **result** (object) - **chk_out** (string) - Check-out date. - **heatmap** (object) - **average_price_days** (array of strings) - **cheap_price_days** (array of strings) - **high_price_days** (array of strings) ### Response Example ```json { "error": null, "timestamp": 1519296206, "result": { "chk_out": "2025-07-30", "heatmap" : { "average_price_days": [ "2025-06-13", "2025-06-14", "2025-06-15", "2025-06-16" ], "cheap_price_days": [ "2025-06-17", "2025-06-18", "2025-06-19", "2025-06-20" ], "high_price_days": [] } } } ``` ``` -------------------------------- ### Search Hotels by Query Source: https://xotelo.com Search for hotels based on a query, which can be a hotel name, city, or landmark. Optionally specify the location type. ```http https://data.xotelo.com/api/search ? query = QUERY ``` -------------------------------- ### Hotel Search Response Structure Source: https://xotelo.com This snippet details the structure of a successful API response when searching for hotels. It includes fields for errors, timestamps, and the search results themselves. ```APIDOC ## API Response Structure ### Description This describes the structure of the API response for hotel searches. ### Response Body - **error** (object | null) - Contains an error message if the request failed, otherwise null. - **timestamp** (integer) - The Unix timestamp indicating when the search data was collected. - **result** (object) - An object containing the search results. - **query** (string) - The original search query. - **list** (array) - An array of hotel objects matching the query. - **hotel_key** (string) - Unique identifier for the hotel. - **location_key** (string) - Unique identifier for the hotel's location. - **name** (string) - The name of the hotel. - **location_id** (string) - Identifier for the hotel's location. - **parent_id** (string) - Identifier for the parent location. - **place_name** (string) - The full place name of the hotel's location. - **street_address** (string) - The street address of the hotel. - **short_place_name** (string) - A shortened place name for the hotel's location. - **url** (string) - A URL related to the hotel. - **image** (string) - A URL for an image of the hotel. ### Response Example ```json { "error": null, "timestamp": 1519296206, "result": { "query": "tokyo", "list" : [ { "hotel_key": "g14xxxx-d31xxxx", "location_key": "g14xxxx", "name": "The Tokyo Hotel", "location_id": "31xxxx", "parent_id": "14xxxx", "place_name": "Chiyoda, Tokyo, Tokyo Prefecture, Kanto, Japan, Asia", "street_address": "1-1-1", "short_place_name": "Marunouchi, Tokyo Prefecture, Japan", "url": "https://....com/Hotel-Review-g-d", "image": "https://....com/image.jpg" } // ... more hotel results ] } } ``` ``` -------------------------------- ### API Hotel Search Response Structure Source: https://xotelo.com The API response for hotel searches includes a timestamp, an error object, a result object containing the query, and a list of hotel results. ```json { "error": null, // Return error message if the request could not be completed "timestamp": 1519296206, "result": { "query": "tokyo", "list" : [ { "hotel_key": "g14xxxx-d31xxxx", "location_key": "g14xxxx", "name": "The Tokyo Hotel", "location_id": "31xxxx", "parent_id": "14xxxx", "place_name": "place_name": "Chiyoda, Tokyo, Tokyo Prefecture, Kanto, Japan, Asia", "street_address": "1-1-1", "short_place_name": "Marunouchi, Tokyo Prefecture, Japan", "url": "https://....com/Hotel-Review-g-d", "image": "https://....com/image.jpg" } [...] ] } } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.