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:
Here's how it works.
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
.
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.
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.