Skip to content

Bayut + Property Finder

UAE Real Estate API

Listings, agents, agencies and transactions from Bayut and Property Finder, the UAE's two largest property portals, through one REST API and one key. Every request names its portal with platform=bayut* or platform=propertyfinder, and the endpoints and filters are the same for both.

At a glance

Portals Bayut (platform=other on RapidAPI; platform=bayut also works) and Property Finder (platform=propertyfinder), chosen per request
Data Listings for sale and rent, full listing records, agents, agencies and brokers, and historical sale and rental transactions
Coverage All seven emirates: Dubai, Abu Dhabi, Sharjah, Ajman, Ras Al Khaimah, Fujairah, Umm Al Quwain
Listings Bayut showed over 600,000 live ads and Property Finder nearly 400,000 (31 Oct 2026)
Base URL https://uae-real-estate-api.p.rapidapi.com
Auth x-rapidapi-key and x-rapidapi-host headers (RapidAPI)
Format JSON. Prices in AED; area filters in square feet
Filters Property type, bedrooms, bathrooms, price, area, furnishing, ready or off-plan, rent frequency; sort by popular, newest, cheapest or most expensive

Quick start

Pass the area by name with location and the API resolves it on the portal you chose. On Bayut you can also pass the numeric location_id from /autocomplete; on Property Finder, /search-properties needs location.

curl
# Search one area on Bayut (on RapidAPI, Bayut is platform=other)
curl "https://uae-real-estate-api.p.rapidapi.com/search-properties?platform=other&purpose=rent&location=Dubai%20Marina&bedrooms=1" \
  -H "x-rapidapi-host: uae-real-estate-api.p.rapidapi.com" \
  -H "x-rapidapi-key: YOUR_RAPIDAPI_KEY"

# The same search on Property Finder: change one parameter
curl "https://uae-real-estate-api.p.rapidapi.com/search-properties?platform=propertyfinder&purpose=rent&location=Dubai%20Marina&bedrooms=1" \
  -H "x-rapidapi-host: uae-real-estate-api.p.rapidapi.com" \
  -H "x-rapidapi-key: YOUR_RAPIDAPI_KEY"

The same search on both portals in Python, counting 1-bedroom rentals in Dubai Marina on each:

both_portals.py
import requests

BASE = "https://uae-real-estate-api.p.rapidapi.com"
HEADERS = {
    "x-rapidapi-key": "YOUR_RAPIDAPI_KEY",
    "x-rapidapi-host": "uae-real-estate-api.p.rapidapi.com",
}

def count_rentals(platform, area, bedrooms="1"):
    res = requests.get(f"{BASE}/search-properties", headers=HEADERS, params={
        "platform": platform, "purpose": "rent",
        "location": area, "bedrooms": bedrooms,
    })
    return res.json()["data"]["total"]

# "other" is Bayut; responses for it also say "platform": "other"
for platform in ("other", "propertyfinder"):
    print(platform, count_rentals(platform, "Dubai Marina"))

# Output on 5 Nov 2026:
# other 2158   (Bayut)
# propertyfinder 2269

Endpoints

10 endpoints, all GET, plus /health. Every one takes platform.

Endpoint Returns Portals
/autocomplete Locations matching a name, with the portal's location_id, path and coordinates Both
/search-properties Listings for rent or sale in a location, with filters, sorting and paging Both
/property-details The full record for one listing Both
/search-agents Agents in a location, or by name on Bayut Both
/agent-details An agent's profile Bayut (other)
/agent-properties Every listing an agent has live Both
/search-agencies Agencies (Bayut) or brokers (Property Finder) in a location, or by name on Bayut Both
/agency-details An agency's profile Bayut (other)
/agency-properties Every listing an agency or broker has live Both
/get-transactions Historical sale or rental transactions for a location over 3 months, 6 months, 1 year or 2 years, by property type and bedrooms Both

Example response

GET /search-properties?platform=other&purpose=rent&location=Dubai Marina&bedrooms=1,2&price_max=100000, from the example in the API's documentation. Every response is wrapped in {"success", "platform", "data"}. Property Finder returns its own field shapes for some endpoints.

search-properties.json
{
  "success": true,
  "platform": "other",
  "data": {
    "properties": [
      {
        "id": "10935141",
        "externalID": "14354275",
        "title": {
          "en": "Stunning Marina View | 1 Bedroom Unfurnished"
        },
        "purpose": "for-rent",
        "price": 85000,
        "rentFrequency": "yearly",
        "rooms": 1,
        "baths": 2,
        "area": 64.27,
        "isVerified": true,
        "completionStatus": "completed",
        "amenities": [
          "Parking",
          "Swimming Pool",
          "Gym",
          "Security"
        ]
      }
    ],
    "total": 1432,
    "page": 1,
    "totalPages": 58,
    "hitsPerPage": 25
  }
}

Asking a portal for something it does not have returns a clear error instead of an empty result:

GET /agent-details?platform=propertyfinder
{
  "success": false,
  "message": "Agent details is not available for PropertyFinder. Use /search-agents to find agents or /agent-properties to view their listings.",
  "error": "PLATFORM_LIMITATION"
}

FAQ

Is there an official Bayut API or Property Finder API?
Both portals offer APIs to their own agent customers for managing listings and leads (Bayut's Leads API, Property Finder's Enterprise API). Neither offers public access to search the market's listings. The UAE Real Estate API is an independent API that returns the public listing data of both portals as JSON.
How do I choose between Bayut and Property Finder data?
Every request takes a platform parameter: platform=propertyfinder for Property Finder, and platform=other for Bayut (Bayut is listed as other on RapidAPI; platform=bayut is accepted too). Bayut responses always come back with "platform": "other", so treat other as Bayut in your code. The endpoints, parameter names and filters are the same for both, and responses share one envelope (properties, total, page, totalPages), so switching portals is one parameter change. Pass the area by name with location; location IDs differ between the portals (Dubai Marina is 5003 on Bayut and 50 on Property Finder).
Which endpoints work on only one portal?
/agent-details and /agency-details return profiles from Bayut only (platform=other). On Property Finder they return a PLATFORM_LIMITATION error; use /search-agents, /agent-properties, /search-agencies and /agency-properties instead, which work on both portals.
Which areas does it cover?
All seven emirates: Dubai, Abu Dhabi, Sharjah, Ajman, Ras Al Khaimah, Fujairah and Umm Al Quwain, as far as each portal lists them.
Should I use this API or the Property Finder API?
Use the UAE Real Estate API when you need both portals behind one key, or Bayut data alongside Property Finder. Use the Property Finder API when you only need Property Finder and want its extra endpoints: price trends, new projects, developers, and Dubai (DLD) and Abu Dhabi (ADREC) transaction records. For Bayut only, with more Bayut endpoints, see BayutAPI at bayutapi.dev.
How much does it cost?
The API is sold on RapidAPI, where the current plans and their request limits are listed. You subscribe there and use your RapidAPI key in the x-rapidapi-key header.

* On RapidAPI the Bayut source is listed as platform=other. To get Bayut data, send platform=other (platform=bayut is accepted too). For Property Finder, send platform=propertyfinder. Every Bayut response comes back with "platform": "other". That is the Bayut data: treat other as Bayut in your code.

The UAE Real Estate API is an independent, third-party API from Happy Endpoint. It is not affiliated with or endorsed by Bayut or Property Finder. Listing counts: Bayut showed over 600,000 live ads and Property Finder nearly 400,000 on 31 Oct 2026. The same home is often listed on both.

Bayut and Property Finder in one API

Subscribe on RapidAPI, copy your key, and query both UAE portals with one parameter.