# Bayut Search API Documentation

Search current UAE property listings with text, purpose, price, rooms, baths, area, location and category filters, plus sorting and pagination. Prices are AED floats, area is square metres, and each listing carries its agency name, cover photo, location hierarchy and coordinates. A valid empty result is a successful response.

- **Documentation:** [https://scrappa.co/docs/bayut-api/bayut_search](https://scrappa.co/docs/bayut-api/bayut_search)
- **API group:** Bayut API
- **Endpoint:** `GET https://scrappa.co/api/bayut/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | No | Free-text search, e.g. dubai marina. |
| `purpose` | string | No | for-sale or for-rent. |
| `price_min` | integer | No | Optional minimum price in AED. |
| `price_max` | integer | No | Optional maximum price in AED. |
| `rooms` | integer | No | Exact room count, 0 to 10. 0 is a studio. |
| `baths` | integer | No | Exact bathroom count. |
| `area_min` | number | No | Optional minimum area in square metres. |
| `area_max` | number | No | Optional maximum area in square metres. |
| `location_external_id` | array | No | Repeatable location id from the locations endpoint, e.g. 5003 for Dubai Marina. |
| `category_external_id` | string | No | Category id, e.g. 1 for Residential. |
| `sort` | string | No | default, price-asc, price-desc, date-desc, v6-score or verified-score. Defaults to default. |
| `page` | integer | No | Zero-based page number. Defaults to 0. |
| `limit` | integer | No | Listings per page, 1 to 50. Defaults to 20. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/bayut/search?query=dubai+marina&limit=20"
```

## Example response

```json
{
    "success": true,
    "data": {
        "listings": [
            {
                "id": "16238511",
                "title": "Corner Plot | Rixos Mansions & Sea Views | 40% Post Handover | Near Marina",
                "url": "https://www.bayut.com/property/details-16238511.html",
                "purpose": "for-sale",
                "rooms": 2,
                "baths": 3,
                "price": {
                    "amount": 2700000,
                    "currency": "AED"
                },
                "area": {
                    "value": 110.94,
                    "unit": "sqm",
                    "sqft": 1194.15
                },
                "agency_name": "Hills Field Real Estate",
                "cover_photo_url": "https://images.bayut.com/thumbnails/861008323-800x600.jpeg",
                "photo_count": 14,
                "created_at": "2026-08-20T11:13:25Z"
            }
        ]
    },
    "meta": {
        "endpoint_family": "search",
        "billable": true,
        "pagination": {
            "page": 0,
            "limit": 20,
            "total": 11792,
            "has_more": true,
            "next_page": 1,
            "truncated": false
        }
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A public parameter or range is invalid. This response is not billable. |
| 502 | Invalid Source Response | Bayut returned an unexpected response shape. This response is not billable. |
| 503 | Service Unavailable | The transport or Bayut was unavailable after retries. This response is not billable and is safe to retry. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
