Getting Started with UAE Real Estate Data in 5 Minutes
If you are building anything related to UAE real estate — a property portal, an investment dashboard, a market research tool, or even a chatbot — you need reliable property data. BayutAPI gives you programmatic access to listings, agents, agencies, and project data sourced from Bayut, one of the largest property platforms in the UAE.
In this guide, you will go from zero to your first successful API response in about five minutes.
Step 1: Get Your API Key on RapidAPI
BayutAPI is hosted on RapidAPI. Head over to the listing page:
Click Subscribe to Test and choose a plan. The free tier gives you enough requests to explore the API and build a prototype. Once subscribed, RapidAPI generates an API key for you under the X-RapidAPI-Key header.
Step 2: Make Your First Request
Let’s search for properties for sale in Dubai. Here is the simplest possible request using cURL:
curl --request GET \
--url 'https://bayut14.p.rapidapi.com/search-property?location_ids=5002&purpose=for-sale&page=1' \
--header 'x-rapidapi-host: bayut14.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_API_KEY'
Replace YOUR_API_KEY with the key from your RapidAPI dashboard.
If you prefer Python:
import requests
url = "https://bayut14.p.rapidapi.com/search-property"
params = {
"location_ids": "5002",
"purpose": "for-sale",
"page": "1"
}
headers = {
"x-rapidapi-host": "bayut14.p.rapidapi.com",
"x-rapidapi-key": "YOUR_API_KEY"
}
response = requests.get(url, headers=headers, params=params)
data = response.json()
print(f"Found {data['data']['total']} properties")
Or in JavaScript with fetch:
const url = 'https://bayut14.p.rapidapi.com/search-property?location_ids=5002&purpose=for-sale&page=1';
const response = await fetch(url, {
headers: {
'x-rapidapi-host': 'bayut14.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_API_KEY'
}
});
const data = await response.json();
console.log(`Found ${data.data.total} properties`);
Step 3: Understand the Response
A successful response returns a JSON object with a structure like this:
{
"success": true,
"data": {
"total": 24531,
"page_size": 3,
"page": 1,
"properties": [
{
"id": "4829571",
"title": { "en": "Spacious 3BR Apartment in Downtown Dubai" },
"purpose": "for-sale",
"price": 2850000,
"rooms": 3,
"baths": 4,
"area": 1875.5,
"coverPhoto": {
"url": "https://..."
},
"location": [
{ "name": "UAE", "slug": "uae" },
{ "name": "Dubai", "slug": "dubai" },
{ "name": "Downtown Dubai", "slug": "downtown-dubai" }
],
"agency": {
"name": "Premier Properties LLC",
"logo": { "url": "https://..." }
},
"contactName": "Ahmed Al-Farsi",
"phoneNumber": { "phone": "+971501234567" }
}
]
}
}
Key fields in each property hit:
- id — Unique property identifier
- title — The listing headline (a localized object, e.g.,
{"en": "..."}) - price — Price in AED
- rooms / baths — Bedroom and bathroom counts
- area — Size in square feet
- location — An array of location breadcrumbs from country down to the specific neighborhood
- agency — The listing agency’s name and logo
- contactName / phoneNumber — Agent contact details
Step 4: Explore More Endpoints
The property search endpoint is just the beginning. BayutAPI also provides:
- Autocomplete — Get location IDs by typing a place name. Essential for building search inputs.
- Property detail — Fetch full details for a single listing including description, amenities, and photo gallery.
- Search new projects — Browse off-plan developments by location.
- Agency listings — Get all listings from a specific agency.
- Agent listings — Get all listings for a specific agent.
For example, to use autocomplete to find the location ID for “Jumeirah Village Circle”:
curl --request GET \
--url 'https://bayut14.p.rapidapi.com/autocomplete?query=jumeirah%20village%20circle' \
--header 'x-rapidapi-host: bayut14.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_API_KEY'
This returns location suggestions with their IDs, which you then pass to the property search endpoint.
Step 5: Add Filters
The property search endpoint supports a variety of filters to narrow results:
- purpose —
for-saleorfor-rent - location_ids — Target a specific area (get IDs from autocomplete)
- price_min / price_max — Price range in AED
- rooms — Number of bedrooms (comma-separated for multiple values, e.g.,
1,2,3) - property_type — Property type:
apartments,villas,townhouses,penthouses,commercial, etc. - sort — Sort by
lowest_price,highest_price,latest,verified - page — For pagination (starts from 1)
Here is a filtered search for 2-bedroom apartments for rent under 100,000 AED in Dubai Marina:
params = {
"location_ids": "5003", # Dubai Marina
"purpose": "for-rent",
"property_type": "apartments",
"rooms": "2",
"price_max": "100000",
"sort": "lowest_price"
}
What’s Next?
You now have everything you need to start pulling UAE real estate data into your application. From here you might want to:
- Build a property search interface
- Set up automated price tracking
- Analyze market trends across neighborhoods
- Create an agent or agency directory
Check out our other tutorials for step-by-step guides on each of these projects. If you run into any issues, the RapidAPI dashboard shows detailed request logs and error messages to help you debug.
Ready to Build with UAE Real Estate Data?
Get your API key and start making requests in minutes. Free tier available with 900 requests per month.