Spotnana APIs provide the hotel search functionality using the get hotel search results endpoint. The endpoint contains search parameters (e.g., occupancy dates) and filters (e.g., price range) to refine the search results displayed.
Using the get hotel search results 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 API containing the search parameters:
/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"
}
}
}The filters field in the hotel search 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 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 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 thesearchTypewas set toAIRPORTandsearchBywas set toDXB. If theradiusfilter 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 API.