# UAE Real Estate API: Bayut and Property Finder in one 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.

- Subscribe on RapidAPI: https://rapidapi.com/happyendpoint/api/uae-real-estate-api
- Plans: https://rapidapi.com/happyendpoint/api/uae-real-estate-api/pricing
- Postman collection: https://www.postman.com/happyendpoints-team/uae-real-estate-api
- Example code on GitHub: https://github.com/happyendpointhq/uae-real-estate-api

## Using Bayut data (read this first)

- 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.
- Property Finder responses come back with `"platform": "propertyfinder"`.
- On Property Finder, `/search-properties` needs `location` (the area name); `location_id` alone returns a 400 error. On Bayut (`platform=other`), `location` or `location_id` both work.

## 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

```bash
# 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:

```python
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

Base URL: `https://uae-real-estate-api.p.rapidapi.com`. All `GET`, plus `/health`. Every endpoint takes `platform` (`propertyfinder`, or `other` for Bayut).

| 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` (Bayut data, so the response says `"platform": "other"`):

```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 an error instead of an empty result (`GET /agent-details?platform=propertyfinder`):

```json
{
  "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"
}
```

## Which UAE property API to use

- **UAE Real Estate API** (Bayut + Property Finder): Both portals behind one key and one set of endpoints. Compare the same area on each portal, or switch portals with one parameter. https://rapidapi.com/happyendpoint/api/uae-real-estate-api
- **Property Finder API** (Property Finder): Property Finder only, with more endpoints: price trends, new projects, developers, and Dubai (DLD) and Abu Dhabi (ADREC) transaction records. https://uaepropertyapi.com/documentation
- **BayutAPI** (Bayut): Bayut only, with more Bayut endpoints: off-plan projects, agent and agency data, and Dubai transaction history. https://bayutapi.dev/?utm_source=uaepropertyapi&utm_medium=referral&utm_campaign=uae-real-estate-api

## 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.

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.

HTML version: https://uaepropertyapi.com/uae-real-estate-api
