Getting Started with the Xeni Activities APIHow to Book an ActivityHow to Browse Activity Tags and CategoriesHow to Cancel an Activity BookingHow to Check Activity AvailabilityHow to Get Activity DetailsHow to Retrieve Activity Booking DetailsHow to Search for Activities with FiltersHow to Search for Activity DestinationsCar Rental API - Getting StartedCar Rental API - Understanding Response FieldsHow to Book a Car RentalHow to Get Rental Car Details and Equipment Add-OnsHow to Retrieve or Cancel a Car Rental BookingHow to Search for Available Rental CarsHow to Search for Pickup LocationsHow to Use Car Rental Search FiltersDeals API Best Practices for IntegrationDeals API Frequently Asked QuestionsGetting Started with the Xeni Deals APIDeals API Request Parameters and Headers ReferenceDeals API Supported Currencies and LocalizationHow to Display Deals in Your ApplicationHow to Fetch Hotel Deals by LocationFlights API Error Codes and TroubleshootingGetting Started with the Xeni Flights APIHow to Book a FlightHow to Check Flight Availability and PricingHow to Confirm or Cancel a Flight BookingHow to Retrieve Fare Rules for a FlightHow to Retrieve Flight Booking DetailsHow to Search for Airports Using AutocompleteHow to Search for FlightsHow to Use Flight Search Filters, Sorting, and PaginationHow to Check Room Availability and PricingHow to Filter Vacation Rental ResultsHow to Get Resort Property Details, Amenities, and AccessibilityHow to Hold and Confirm a Resort BookingHow to Release a Resort HoldHow to Retrieve Resort Booking DetailsHow to Search for Available ResortsHow to Search for Resort DestinationsHow to Search for Vacation Rental LocationsHow to Search for Vacation RentalsHow to Use Resort Search Filters and SortingGetting Started with the Xeni Resorts APIResorts API: Understanding Booking Statuses and PoliciesGetting Started with the Vacation Rentals APIVacation Rentals Frequently Asked QuestionsVacation Rentals Supported Property TypesUnderstanding Async Search for Vacation RentalsAuthentication & API SignaturesBooking Hotels — Direct API & SSO CheckoutError Handling, Rate Limits & Best PracticesGetting Started with the Xeni Hotels APIManaging Bookings: Status, Retrieval & CancellationPricing Confirmation & Token LifecycleRetrieving Hotel Details & Room AvailabilitySearching for Hotels: Locations, Filters & PaginationSearching for HotelsSession Management & Correlation IDsAPI authentication and getting your API keys

How to Use Resort Search Filters and Sorting

Last updated: 2026-03-03

How to Use Resort Search Filters and Sorting

The resort property search endpoint accepts optional filters and sort parameters in the request body. These let you narrow results by price range, star ratings, amenities, accessibility features, and more, as well as control the order in which results are returned.

Endpoint

POST {{apihost}}/resorts/api/v2/properties/{xeniregion_code}?currency=USD

Full Request Body with Filters and Sorting

JSON
{
  "stay_period": {
    "start": "2026-04-01",
    "end": "2026-04-07"
  },
  "lat": 19.8968,
  "lon": -155.5828,
  "filters": {
    "ratings": [
      3,
      4
    ],
    "min_price": 100,
    "max_price": 500,
    "all_inclusive": [
      "O",
      "M"
    ],
    "num_bedrooms": [
      "2",
      "3"
    ],
    "max_guests": [
      "4",
      "6"
    ],
    "accessibilities": [
      "elevator"
    ],
    "amenities": [
      "pool",
      "spa",
      "fitness"
    ],
    "kitchen_type": [
      "full",
      "partial"
    ],
    "activities": [
      "golf"
    ],
    "regions": [
      {
        "type": "city",
        "name": "Kailua-Kona"
      }
    ]
  },
  "sort": [
    {
      "key": "price",
      "order": "asc"
    }
  ]
}

Filter Reference

ratings

Filter by star rating. Accepts an array of integers from 1 to 4.

ValueMeaning
11-star properties
22-star properties
33-star properties
44-star and above properties

JSON
"ratings": [3, 4]

minprice / maxprice

Filter by nightly base rate. Both values are numeric and represent the currency specified in the query parameter.

JSON
"min_price": 100,
"max_price": 500

all_inclusive

Filter by all-inclusive status. Accepts an array of string codes.

CodeMeaning
"O"Optional all-inclusive (available as an upgrade)
"M"Mandatory all-inclusive (included in the rate)
"N"Not all-inclusive

JSON
"all_inclusive": ["O", "M"]

num_bedrooms

Filter by number of bedrooms. Accepts an array of strings.

ValueMeaning
"1"One bedroom
"2"Two bedrooms
"3"Three or more bedrooms

JSON
"num_bedrooms": ["2", "3"]

max_guests

Filter by maximum guest capacity. Accepts an array of strings.

ValueMeaning
"4"Up to 4 guests
"6"Up to 6 guests
"8"Up to 8 guests

JSON
"max_guests": ["4", "6"]

accessibilities

Filter by accessibility features. Accepts an array of strings.

ValueDescription
"adults-only"Adults-only properties
"deaf"Facilities for deaf or hard-of-hearing guests
"blind"Facilities for blind or low-vision guests
"elevator"Elevator access available

JSON
"accessibilities": ["elevator", "deaf"]

amenities

Filter by on-site amenities. Accepts an array of strings.

ValueDescription
"fitness"Fitness center or gym
"laundry"Laundry facilities
"grocery"Grocery or convenience store
"spa"Spa services
"pool"Swimming pool
"restaurant"On-site restaurant

JSON
"amenities": ["pool", "spa", "restaurant"]

kitchen_type

Filter by kitchen facilities in the room. Accepts an array of strings.

ValueDescription
"full"Full kitchen with stove, oven, and refrigerator
"partial"Partial kitchen (e.g., stovetop and refrigerator, no oven)
"mini"Mini kitchen or kitchenette (e.g., microwave and mini-fridge)

JSON
"kitchen_type": ["full", "partial"]

activities

Filter by available activities at or near the resort. Accepts an array of strings.

ValueDescription
"archery"Archery facilities
"golf"Golf course access

JSON
"activities": ["golf"]

regions

Filter results to specific sub-regions within the searched area. Each entry requires a type and name.

FieldTypeDescription
typestringThe geographic level: "city", "state", or "country"
namestringThe name of the region

JSON
"regions": [
{ "type": "city", "name": "Kailua-Kona" },
{ "type": "city", "name": "Waikoloa" }
]

Sorting

The sort parameter accepts an array of sort objects. Each object specifies a key and order.

FieldTypeValues
keystring"price" or "ratings"
orderstring"asc" (ascending) or "desc" (descending)

Sort by Price (Low to High)

JSON
"sort": [{ "key": "price", "order": "asc" }]

Sort by Ratings (High to Low)

JSON
"sort": [{ "key": "ratings", "order": "desc" }]

Multi-Level Sorting

You can combine multiple sort criteria. The API applies them in order, using subsequent keys to break ties.

JSON
"sort": [
  { "key": "ratings", "order": "desc" },
  { "key": "price", "order": "asc" }
]

This returns results sorted by highest rating first, with ties broken by lowest price.

Best Practices

  • Start broad, then narrow — Begin with minimal filters and add constraints based on user input. Over-filtering can return zero results.
  • Combine filters logically — Filters are applied with AND logic. A property must match all specified filter criteria to appear in results.
  • Use regions for large areas — When searching a state or country, use the regions filter to narrow results to specific cities without performing a new autocomplete search.
  • Default sort — If no sort parameter is provided, results are returned in the API's default order (typically by relevance or availability).

Was this article helpful?