Skip to content
Last updated

Filtering and sorting accommodation results v3.2

Learn how to filter and sort accommodation results returned by the accommodations/search endpoint.


Overview

By default, accommodations/search returns the most affordable available product for each accommodation matching your search criteria.

Top picks ranking

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:

  • filters to restrict results according to accommodation or product characteristics.
  • sort to 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.


Filters

Specify filters inside the filters object of an accommodations/search request.

Version 3.2 supports the following filters:

Filter
Description
24_hour_receptionFilter according to whether 24-hour front desk reception is available. Set to true to return accommodations with 24-hour reception.
accommodation_facilitiesFilter by accommodation facility IDs. Use accommodations/constants to retrieve supported IDs.
accommodation_typesFilter by accommodation type IDs. Use accommodations/constants to retrieve supported IDs.
brandsFilter by accommodation brand IDs.
cancellation_typeFilter according to cancellation type. See the API reference for the supported values.
dormitoriesControl whether dormitory beds or rooms are returned. Supported values are include, exclude, and only. The default is include.
meal_planFilter according to meal plan. See the API reference for the supported values.
paymentFilter according to payment requirements using credit_card_required and timing.
priceFilter according to price per night. Requires currency. Use minimum, maximum, or both to define the price range.
ratingFilter according to review score or star rating using minimum_review_score and stars.
room_facilitiesFilter by room facility IDs. Use accommodations/constants to retrieve supported IDs.
sustainability_certificationSet to true to return only accommodations with a sustainability certification.
travel_proudSet to true to return only Proud Certified accommodations.

You can include multiple criteria within the filters object to refine the search results.

Filter by facilities and accommodation characteristics

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.

Filter by 24-hour reception

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
  }
}

Filter dormitories

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"
  }
}

Filter by cancellation type

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.

Filter by meal plan

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.

Filter by payment requirements

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.

Filter by price

Use filters.price to restrict results according to the price per night.

The object supports:

Parameter
Description
minimumMinimum price per night, in the specified currency. The value is inclusive. Omit it when no lower limit is required.
maximumMaximum 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.

Filter by rating

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.

Filter by sustainability certification

Set sustainability_certification to true to return only accommodations with a sustainability certification.

For example:

{
  "filters": {
    "sustainability_certification": true
  }
}

Filter by Travel Proud

Set travel_proud to true to return only Proud Certified accommodations.

For example:

{
  "filters": {
    "travel_proud": true
  }
}

Combine filters

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.


Sorting

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 criteria

sort.by supports:

ValueDescription
distanceSort according to distance from the specified coordinates.
priceSort according to price.
review_scoreSort according to review score.
starsSort according to star rating.

Sort direction

sort.direction supports:

  • ascending
  • descending

For example, to sort by price in ascending order:

{
  "sort": {
    "by": "price",
    "direction": "ascending"
  }
}

Sort by distance

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.


Combine filtering and sorting

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"
  }
}

Key notes

  • Specify filters inside the filters object.
  • 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, provide currency.
  • minimum_review_score supports values from 1 to 10.
  • stars supports values from 1 to 5.
  • Use sort.by to sort by distance, price, review_score, or stars.
  • Sorting by distance requires coordinates and does not support descending order.
  • You can combine filtering and sorting in the same request.