# Hotel search Spotnana APIs provide the hotel search functionality using the [get hotel search results](/openapi/hotelapi/hotel/hotelsearch) endpoint. The endpoint contains search parameters (e.g., occupancy dates) and filters (e.g., price range) to refine the search results displayed. ## Hotel search parameters Using the [get hotel search results](/openapi/hotelapi/hotel/hotelsearch) endpoint, you can search by providing the following parameters in the request: | Fields | Description | | --- | --- | | `occupancyDates` | The occupancy details required to search for hotels. The `occupancyDates` object contains `occupancy.numAdults` and `occupancy.numChildren`. These fields will require the number of adults and children staying in the hotel room. To execute a search, the value of `numAdults` must be equal to or greater than `1`. However, the `numChildren` field can be `0`. The `checkInDate` and `checkoutDate` fields will require the date when the traveler wishes to check in and checkout from the hotel. | | `searchBy` | The geographical location where you'd like to search for hotels. You can search by the following criteria: `airport`: Search using an airport code to list the hotels in close proximity to that airport. `coordinates`: Search using a latitude and longitude coordinate to list the hotels in that vicinity. `hotelCode`: Search using a specific hotel code to list that hotel's availability and nearby hotels in the results. `hotelCodes`: Search using one or more hotel codes to list the availability of those hotels and nearby hotels in the results. | Here's a sample request for the [hotel search](/openapi/hotelapi/hotel/hotelsearch) API containing the search parameters: ```json /v2/hotel/search // ... payload truncated for focus { "searchParams": { "occupancyDates": { "occupancy": [ { "numAdults": 1 } ], "checkInDate": { "iso8601": "2026-03-10T15:00" }, "checkOutDate": { "iso8601": "2026-03-15T10:00" } }, "searchBy": { "searchType": "AIRPORT", "airport": "JFK" } } } ``` ## Hotel search filters The `filters` field in the [hotel search](/openapi/hotelapi/hotel/hotelsearch) API provides several optional filters to refine the hotel search results. Some important filters include: - `prepaidQualifier`: Sets the search to include hotels with prepaid booking options. - `priceRange`: Shows hotels with an [average nightly rate](/guides/hotel_guides/hotel_price_guide#average-nightly-rate) within a certain price range (e.g., between $200 to $400) of the local currency (as set in the traveler's legal entity). - `amenities`: Filters hotels based on the preferred hotel amenities (e.g., free Wi-Fi, breakfast inclusive, etc). - `starRatings`: Filters hotels based on a specific star rating rating (e.g., list only 3-star and 4-star hotels). - `nameQuery`: Searches based on the text entered in this field. Enter the name of the hotel you wish to be displayed in the search results. - `eligibleForLoyalty`: Displays hotels where a traveler can earn loyalty points. - `payByPoints`: Displays hotels that accept loyalty points as a form of payment. - `modifiableOnly`: Displays hotels that allow the traveler to make changes to their booking post-reservation. See the [modifying a hotel booking workflow](/spotnana/hotel_modify_workflow) for more information. - `preferredOnly`: Shows the preferred hotels as configured in the company policy by the administrators. - `radius`: Displays the available hotels within the search radius provided. For example, assume the `searchType` was set to `AIRPORT` and `searchBy` was set to `DXB`. If the `radius` filter is set to 10 miles, then the results would display hotels within a 10-mile radius of the search location (i.e., DXB airport). You can view all the available filters within the `filters` field of the [hotel search](/openapi/hotelapi/hotel/hotelsearch) API.