# Property24 Search

Search Property24 listings for sale or to rent in a suburb, city, province or estate. Get the location id and location_type from locations/autocomplete. Filters by price, minimum bedrooms and property type are applied by Property24. Minimum bathrooms are matched on the returned listings, so a page can hold fewer than 21 items; filtered_out shows how many were removed. A listing that breaks a requested filter is never returned. The page in the response always equals the page you asked for.

- **Documentation:** [https://scrappa.co/docs/property24-api/property24_search](https://scrappa.co/docs/property24-api/property24_search)
- **API group:** Property24 API
- **Endpoint:** `GET https://scrappa.co/api/property24/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 |
| --- | --- | --- | --- |
| `location_id` | integer | Yes | Location id from locations/autocomplete. |
| `location_type` | integer | Yes | Type from locations/autocomplete: 1 suburb, 2 city, 5 province, 13 estate. Regions (4) are not supported. |
| `deal_type` | string | No | sale or rent. Default sale. |
| `property_type` | string | No | house, apartment, townhouse, vacant_land, farm, commercial or industrial. Default all types. |
| `min_price` | integer | No | Minimum price in rand. |
| `max_price` | integer | No | Maximum price in rand. |
| `min_bedrooms` | integer | No | Minimum bedrooms. Not for land, farm, commercial or industrial. |
| `min_bathrooms` | integer | No | Minimum bathrooms, matched on the returned listings. Not for land, farm, commercial or industrial. |
| `sort` | string | No | newest, price_low or price_high. |
| `page` | integer | No | Page number, starting at 1. Maximum 50. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/property24/search?location_id=432&location_type=2&deal_type=sale&min_bedrooms=2&sort=price_low"
```

## Example response

```json
{
    "success": true,
    "page": 1,
    "deal_type": "sale",
    "property_type": null,
    "location": {
        "id": 432,
        "type": 2,
        "type_label": "city",
        "name": "Cape Town"
    },
    "total_filtered_results": 702,
    "total_pages": 36,
    "filtered_out": 0,
    "results": [
        {
            "listing_id": "117555220",
            "path": "/for-sale/wynberg/cape-town/western-cape/10109/117555220",
            "url": "https://www.property24.com/for-sale/wynberg/cape-town/western-cape/10109/117555220",
            "deal_type": "sale",
            "title": "2 Bedroom Apartment / flat for sale in Wynberg - Cape Town",
            "price": 1125000,
            "price_text": "R 1 125 000",
            "location": "Wynberg",
            "description": "Bright & Welcoming 2 Bedroom Apartment First floor 2 bedroom apartment in Wynberg Village ...",
            "bedrooms": 2,
            "bathrooms": 1,
            "parking_spaces": 1,
            "erf_size_m2": null,
            "floor_size_m2": 55,
            "images": [
                "https://images.prop24.com/385319368/Crop600x400"
            ],
            "agency": {
                "id": 30696,
                "slug": "hqm-properties",
                "name": "HQM Properties",
                "logo": "https://images.prop24.com/349180118/Ensure264x153"
            },
            "agent_name": null,
            "ribbons": [
                "Reduced"
            ]
        }
    ]
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | The listing, agency or location does not exist or is no longer online. The request is not charged. |
| 422 | Unsupported Location Type | Regions (location_type 4) cannot be searched. Use a suburb, city, province or estate id. |
| 503 | Upstream Unavailable | Property24 returned an unsuccessful, empty or unexpected answer. The request is not charged. |

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