Using the search UI
The search box sits in the bottom-right corner of the home page. It has three fields you fill in before hitting Find my trip.1
Choose a destination
Click the Destination field. A search overlay opens with a text input powered by Algolia. Start typing a city name — results appear within a couple of keystrokes, showing the city name and country. Click a result to confirm your destination. The selected city’s coordinates (latitude and longitude) are stored automatically and passed to the search API.
2
Select your dates
Click the date field (labelled From / Till). A two-month calendar opens. Click your check-in date first, then your check-out date. Both dates are stored in
YYYY-MM-DD format. The number of nights between the two dates determines how pricing modifiers such as length-of-stay discounts are calculated.You must select both a check-in and a check-out date before searching. Single-night stays are supported.
3
Set your guest count
Click the Guests field. A selector opens with three counters:
- Adults — guests aged 13 or above (minimum 0)
- Children — guests aged 0–12 (minimum 0)
- Rooms — number of rooms required (minimum 1)
4
Run the search
Click Find my trip. OpenBookings passes the destination coordinates, dates, and guest numbers to
GET /api/query and returns a sorted list of available rooms.How the search works
When you submit a search, OpenBookings looks for active hotel rooms within 250 km of the coordinates returned for your chosen city. It then filters those rooms so that only rooms whosemax_adults and max_children capacity cover your party are included. Finally, the results are sorted by total_price ascending — the cheapest available option for each hotel appears first.
Each hotel contributes at most one room to the results list: the cheapest eligible room for your dates and party size. If a hotel has multiple room types that all fit your group, only the lowest-priced one is shown.
Calling the API directly
The search endpoint is a standard HTTPGET request. All parameters are passed as query string values.
Required parameters
Optional parameters
Example request
The following request searches for hotels near central London for two adults checking in on 1 July 2026 and checking out on 5 July 2026.Example response
The API returns a JSON array. Each element represents the cheapest available room for one hotel, sorted bytotal_price ascending.
Error responses
If any required parameter is missing or cannot be parsed as a number, the API returns HTTP400 with a JSON body listing the problems.