Filter Properties by Amenities

Find UAE real estate with specific amenities like swimming pools, gyms, and air-conditioners.

UAE Properties by Amenities

When you're house-hunting, the first thing you check (after price and location) is often the amenities. Does it have a gym? A balcony? Maybe central air?

If you're using the Bayut API to find properties according to your needs, you can filter them by amenities in just two steps:

  1. Find the exact amenity name with the Amenities Search endpoint.
  2. Pass that name into the Properties Search endpoint to get matching results.

Here's how it works.


Step 1: Find the Exact Amenity Name

Bayut needs the exact string for an amenity — if you just type "AC", you'll get nothing back.

That's where Amenities Search helps: it works like auto-complete.

You can search for amenities by name, and it will return a list of matching amenities.

👉 Example: You want properties with air conditioning.

 curl --header "x-rapidapi-key: $RAPIDAPI_KEY" \
   -G "https://bayut-api1.p.rapidapi.com/amenities_search" \
   --data-urlencode "query=air"

Response:

 {
   "results": [
       "Centrally Air-Conditioned",
       "Distance From Airport (kms)"
   ],
   "count": 2,
   "query": "air"
}

Now we know the correct amenity is Centrally Air-Conditioned.


Step 2: Search Properties by Amenity

Once you have the exact name, you can plug it into the Properties Search endpoint.

👉 Example: Search for apartments in Dubai (Location id = 2) that have "Centrally Air-Conditioned":

 curl -X POST "https://bayut-api1.p.rapidapi.com/properties_search" \
   -H "x-rapidapi-key: $RAPIDAPI_KEY" \
   -H "Content-Type: application/json" \
   -d '{
       "purpose": "for-sale",
       "category": "apartments",
       "locations_ids": [2],
       "amenities": ["Centrally Air-Conditioned"],
       "price_min": 500000,
       "price_max": 2000000
   }'

Response (shortened for clarity):

 {
   "results": [
       {
          "id": 11902621,
          "title": "Modern Apartment",
          "purpose": "for-sale",
          "price": 803709.0,
          "location": { "city": { "name": "Dubai" } },
          "amenities": [
              "Centrally Air-Conditioned",
              "Gym or Health Club",
              "Swimming Pool"
            ]
          ...
       },
       .
       .
       .
   ],
   "count": 25
}

And there you go — properties filtered by your chosen amenity.

Note: To get the location id for a specific area, use the Locations Search endpoint. It will return a list of locations with their ids, which you can use in your property searches.


To sum up:

You can even combine multiple amenities in one request:

"amenities": ["Centrally Air-Conditioned", "Swimming Pool", "Gym or Health Club"]

This way, you'll get only the listings that truly match what buyers and renters care about most.

bayut.restapi@gmail.com