How to Search for Vacation Rentals
Once you have a destination from the autocomplete endpoint, use the vacation rentals search endpoint to find available properties. This endpoint returns rental properties such as condos, apartments, cottages, and houseboats.
Search Endpoint
POST /hotels/api/v2/properties/vacation-rentals?currency=USD&page=1&limit=50&amenities=true
Note the /vacation-rentals path — this is the key difference from the standard hotel search endpoint.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
currency | string | Yes | Three-letter currency code (e.g., USD, EUR, GBP) |
page | number | Yes | Page number for paginated results (starts at 1) |
limit | number | Yes | Number of results per page (max 50) |
amenities | boolean | No | Set to true to include amenity data in results |
Required Headers
| Header | Required | Description |
|---|---|---|
x-correlation-id | Yes | Correlation ID from the autocomplete response |
Content-Type | Yes | application/json |
Request Body
JSON
{
"checkin_date": "2026-04-15",
"checkout_date": "2026-04-22",
"occupancy": [
{
"adults": 2,
"childs": 1,
"childages": [
8
]
}
],
"lat": 39.0968,
"long": -120.0324,
"countryofresidence": "US",
"placeid": "placeabc123",
"vacation_rentals": [
"Cottage"
],
"radius": 25,
"sort": [
{
"key": "price",
"order": "asc"
}
],
"filters": {},
"is_async": false
}Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
checkindate | string | Yes | Check-in date in YYYY-MM-DD format |
checkoutdate | string | Yes | Check-out date in YYYY-MM-DD format |
occupancy | array | Yes | Array of room occupancy objects |
occupancy[].adults | number | Yes | Number of adults |
occupancy[].childs | number | Yes | Number of children |
occupancy[].childages | array | Conditional | Required if childs > 0. Array of integer ages for each child. |
lat | number | Yes | Latitude from the autocomplete result |
long | number | Yes | Longitude from the autocomplete result |
countryofresidence | string | Yes | Two-letter country code of the guest |
placeid | string | Yes | Place ID from the autocomplete result |
vacationrentals | array | No | Array of property type strings to filter by (see below) |
radius | number | No | Search radius in kilometers |
sort | array | No | Sort criteria |
filters | object | No | Filter criteria (ratings, amenities, name, price, distance) |
is_async | boolean | No | Set to true for async mode. Default: false |
Vacation Rentals Property Types
Use the vacation_rentals array to filter results by specific property types:
| Value | Description |
|---|---|
"Condo" | Individually owned condo units |
"Apartment" | Self-contained apartment units |
"Cottage" | Small standalone homes |
"Houseboat" | Floating accommodation |
"Mobile Home" | Transportable residential units |
"Aparthotel" | Apartment-hotel hybrids |
"Condominium Resort" | Resort complexes of condo units |
You can pass one or multiple types:
JSON
{
"vacation_rentals": [
"Cottage",
"Condo",
"Apartment"
]
}If the vacation_rentals array is omitted or empty, all vacation rental property types are returned.
Response Format
JSON
{
"status": "success",
"data": {
"total": 142,
"hotels": [
{
"propertyid": "propxyz789",
"name": "Lakeside Cottage Retreat",
"location": {
"lat": 39.095,
"long": -120.031,
"address": "123 Lake Shore Drive",
"city": "Tahoe City",
"country": "US"
},
"contact": {
"phone": "+1-555-0123",
"email": "info@lakesidecottage.example.com"
},
"ratings": {
"star_rating": 4,
"guest_rating": 8.7
},
"rates": {
"retail_price": 289,
"base_rate": 245,
"total_rate": 1703,
"taxandfees": 158,
"currency": "USD"
},
"image": {
"thumbnail": "https://images.example.com/thumb/cottage.jpg",
"large": "https://images.example.com/large/cottage.jpg",
"extra_large": "https://images.example.com/xl/cottage.jpg"
}
}
]
}
}Response Fields
| Field | Type | Description |
|---|---|---|
status | string | "success" when complete, "inprogress" during async polling |
data.total | number | Total number of matching properties |
data.hotels | array | Array of property objects |
data.hotels[].propertyid | string | Unique property identifier |
data.hotels[].name | string | Property name |
data.hotels[].location | object | Location details including coordinates and address |
data.hotels[].contact | object | Contact information |
data.hotels[].ratings | object | Star rating and guest rating scores |
data.hotels[].rates.retailprice | number | Displayed retail price per night |
data.hotels[].rates.baserate | number | Base rate before taxes |
data.hotels[].rates.totalrate | number | Total rate for the full stay |
data.hotels[].rates.taxand_fees | number | Total taxes and fees |
data.hotels[].rates.currency | string | Currency code for all prices |
data.hotels[].image | object | Image URLs at different sizes |
Common Errors
| Status Code | Cause | Solution |
|---|---|---|
| 400 | Missing x-correlation-id header | Call autocomplete first and include the correlation ID |
| 400 | Child ages count does not match childs value | Ensure childages array length matches childs |
| 400 | Invalid currency code | Use a valid three-letter currency code |
| 404 | No results found | Try broadening the search (larger radius, fewer filters) |
Next Steps
Learn how to apply filters to narrow vacation rental search results by rating, amenities, price range, and more.