Get Started with BayutAPI
From sign-up to your first API call in under 5 minutes. Follow these steps to start building with UAE real estate data.
Sign Up on RapidAPI
BayutAPI is hosted on RapidAPI, a marketplace for APIs. If you do not already have an account, create a free one.
Create a RapidAPI account →Subscribe to BayutAPI
Navigate to the BayutAPI listing on RapidAPI and subscribe to a plan. The Basic plan is free and includes 900 requests per month — no credit card required.
Subscribe to BayutAPI →Get Your API Key
Once subscribed, RapidAPI will generate an API key for you. You can find it in the "Header Parameters" section of any endpoint page. You will need two headers for every request:
Security: Never expose your API key in client-side code or public repositories. Keep it in environment variables or a secure key management system.
Make Your First Request
Let us start with the /autocomplete endpoint to search for a location. Replace YOUR_API_KEY with your actual key.
import requests
url = "https://bayut14.p.rapidapi.com/autocomplete"
querystring = {"query": "dubai marina"}
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "bayut14.p.rapidapi.com"
}
response = requests.get(url, headers=headers, params=querystring)
data = response.json()
print(data) Expected Response
{
"success": true,
"data": {
"locations": [
{
"id": 36,
"externalID": "5002",
"name": { "en": "Dubai Marina" },
"slug": { "en": "/dubai/dubai-marina" },
"type": "neighborhood",
"level": 2,
"path": "Dubai > Dubai Marina",
"adCount": 12450
}
],
"total": 1
}
} Search Properties
Now use the location ID from the autocomplete response to search for properties. The /search-property endpoint supports filtering by purpose (sale/rent), bedrooms, price range, property type, and more.
import requests
url = "https://bayut14.p.rapidapi.com/search-property"
querystring = {
"purpose": "for-sale",
"location_ids": "5002", # Dubai Marina
"page": "1",
"rooms": "2"
}
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "bayut14.p.rapidapi.com"
}
response = requests.get(url, headers=headers, params=querystring)
data = response.json()
for prop in data["data"]["properties"]:
print(f"{prop['title']['en']} - AED {prop['price']:,}") Explore More Endpoints
BayutAPI offers 17 endpoints for property data, agents, agencies, amenities, transactions, new projects, and more. Check out the full documentation to see what is available.
Ready to Build?
Get your free API key and make your first request in under 5 minutes.