Learn how to filter and sort accommodation results returned by the accommodations/search endpoint.
By default, accommodations/search returns the most affordable available product for each accommodation matching your search criteria.
When searching using country or region, results are ranked by Booking.com popularity ("Top picks") rather than price by default, with higher-ranked accommodations appearing first.
Use:
filtersto restrict results according to accommodation or product characteristics.sortto control the order in which results are returned.
Location and accommodation criteria such as city, country, region, district, airport, landmark, coordinates, and accommodations are top-level request fields and are not part of the filters object.
See Search for accommodation for information about constructing the complete search request.
Specify filters inside the filters object of an accommodations/search request.
Version 3.2 supports the following filters:
| Filter | Description |
|---|---|
24_hour_reception | Filter according to whether 24-hour front desk reception is available. Set to true to return accommodations with 24-hour reception. |
accommodation_facilities | Filter by accommodation facility IDs. Use accommodations/constants to retrieve supported IDs. |
accommodation_types | Filter by accommodation type IDs. Use accommodations/constants to retrieve supported IDs. |
brands | Filter by accommodation brand IDs. |
cancellation_type | Filter according to cancellation type. See the API reference for the supported values. |
dormitories | Control whether dormitory beds or rooms are returned. Supported values are include, exclude, and only. The default is include. |
meal_plan | Filter according to meal plan. See the API reference for the supported values. |
payment | Filter according to payment requirements using credit_card_required and timing. |
price | Filter according to price per night. Requires currency. Use minimum, maximum, or both to define the price range. |
rating | Filter according to review score or star rating using minimum_review_score and stars. |
room_facilities | Filter by room facility IDs. Use accommodations/constants to retrieve supported IDs. |
sustainability_certification | Set to true to return only accommodations with a sustainability certification. |
travel_proud | Set to true to return only Proud Certified accommodations. |
You can include multiple criteria within the filters object to refine the search results.
Use ID-based filters to restrict results according to accommodation characteristics:
accommodation_facilities— Accommodation facilities.accommodation_types— Accommodation types.brands— Accommodation brands.room_facilities— Room facilities.
For example:
{
"filters": {
"accommodation_facilities": [2, 3],
"room_facilities": [11]
}
}Use accommodations/constants to retrieve the supported facility and accommodation type IDs.
Use the relevant accommodations endpoint to retrieve supported brand IDs.
Use 24_hour_reception to filter according to whether an accommodation provides 24-hour front desk reception.
Set the value to true to return accommodations with 24-hour reception.
For example:
{
"filters": {
"24_hour_reception": true
}
}Use dormitories to control whether dormitory beds or rooms are included in the results.
Supported values are:
include— Include dormitory beds or rooms with other results. This is the default.exclude— Exclude dormitory beds or rooms.only— Return only dormitory beds or rooms.
For example:
{
"filters": {
"dormitories": "exclude"
}
}Use cancellation_type to restrict results according to cancellation type.
For example:
{
"filters": {
"cancellation_type": "<supported-value>"
}
}See the /accommodations/search API reference for the currently supported values.
Use meal_plan to restrict results according to meal plan.
For example:
{
"filters": {
"meal_plan": "<supported-value>"
}
}See the /accommodations/search API reference for the currently supported values.
Use filters.payment to restrict results according to payment requirements.
The object supports:
credit_card_required— Filter according to whether a credit card is required.timing— Filter according to payment timing.
For example, to filter according to the credit-card requirement:
{
"filters": {
"payment": {
"credit_card_required": false
}
}
}You can also use timing with a supported payment-timing value.
See the Payment timings section and the /accommodations/search API reference for supported values.
Use filters.price to restrict results according to the price per night.
The object supports:
| Parameter | Description |
|---|---|
minimum | Minimum price per night, in the specified currency. The value is inclusive. Omit it when no lower limit is required. |
maximum | Maximum price per night, in the specified currency. The value is inclusive. Omit it when no upper limit is required. |
When both minimum and maximum are specified, only results where the price per night falls within the specified range, inclusive, are returned.
For example:
{
"booker": {
"country": "nl",
"platform": "desktop"
},
"currency": "EUR",
"checkin": "2026-11-10",
"checkout": "2026-11-15",
"city": -2140479,
"guests": {
"number_of_adults": 2,
"number_of_rooms": 1
},
"filters": {
"price": {
"minimum": 100,
"maximum": 200
}
}
}When using filters.price, you must also provide currency.
If you do not need to restrict results by price, omit the price filter.
Use filters.rating to restrict results according to review score, star rating, or both.
The object supports:
minimum_review_score— Minimum review score. Supported values range from 1 to 10.stars— One or more star ratings. Each value must be from 1 to 5.
For example:
{
"filters": {
"rating": {
"minimum_review_score": 8,
"stars": [4, 5]
}
}
}This example restricts the search to accommodations with a minimum review score of 8 and a star rating of 4 or 5.
Set sustainability_certification to true to return only accommodations with a sustainability certification.
For example:
{
"filters": {
"sustainability_certification": true
}
}Set travel_proud to true to return only Proud Certified accommodations.
For example:
{
"filters": {
"travel_proud": true
}
}You can include multiple filter criteria in the same request.
For example:
{
"currency": "EUR",
"filters": {
"24_hour_reception": true,
"price": {
"maximum": 250
},
"rating": {
"minimum_review_score": 8,
"stars": [4, 5]
},
"sustainability_certification": true
}
}Use only filters relevant to your search scenario.
Use the sort object to control the order in which accommodations are returned.
Specify:
sort.by— Criterion used to sort the results.sort.direction— Direction of the sort.
sort.by supports:
| Value | Description |
|---|---|
distance | Sort according to distance from the specified coordinates. |
price | Sort according to price. |
review_score | Sort according to review score. |
stars | Sort according to star rating. |
sort.direction supports:
ascendingdescending
For example, to sort by price in ascending order:
{
"sort": {
"by": "price",
"direction": "ascending"
}
}When sorting by distance, provide the latitude and longitude using the top-level coordinates object.
For example:
{
"coordinates": {
"latitude": 52.3676,
"longitude": 4.9041,
"radius": 5
},
"sort": {
"by": "distance",
"direction": "ascending"
}
}Descending order is not supported when sorting by distance.
See Search for accommodation for more information about searching using coordinates.
You can use filters and sort together in the same accommodations/search request.
For example:
{
"booker": {
"country": "nl",
"platform": "desktop"
},
"checkin": "2026-11-10",
"checkout": "2026-11-15",
"city": -2140479,
"currency": "EUR",
"guests": {
"number_of_adults": 2,
"number_of_rooms": 1
},
"filters": {
"price": {
"maximum": 250
},
"rating": {
"minimum_review_score": 8
}
},
"sort": {
"by": "review_score",
"direction": "descending"
}
}- Specify filters inside the
filtersobject. - Location and accommodation criteria are top-level request fields rather than filters.
- Version 3.2 supports filters for facilities, accommodation type, brands, cancellation, dormitories, meal plans, payment, price, rating, sustainability certification, Travel Proud certification, and 24-hour reception.
- When using
filters.price, providecurrency. minimum_review_scoresupports values from 1 to 10.starssupports values from 1 to 5.- Use
sort.byto sort bydistance,price,review_score, orstars. - Sorting by
distancerequires coordinates and does not support descending order. - You can combine filtering and sorting in the same request.
- See Search for accommodation for information about constructing a complete search request.
- Refer to the Accommodation search use cases for additional examples.
- See the /accommodations/search API reference for the complete request schema and supported values.