# Mudah.my Property Count API Documentation

<p><strong>Mudah.my Property Count API</strong> returns the number of listings for the same filters as search, without loading the listings. The response also splits the count into agent and private owner listings. Use it for market statistics, filter previews and monitoring.</p>

- **Documentation:** [https://scrappa.co/docs/mudah-property-api/mudah_property_count](https://scrappa.co/docs/mudah-property-api/mudah_property_count)
- **API group:** Mudah.my Property API
- **Endpoint:** `GET https://scrappa.co/api/mudah-property/v1/count`

## 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 |
| --- | --- | --- | --- |
| `listing_type` | string | No | sale (default) or rent. Example: rent. |
| `category` | string | No | residential (default), all, apartment, house, commercial, land or room (room needs rent). Example: apartment. |
| `region` | integer | No | State id from autocomplete or the reference route. Example: 8 for Selangor. |
| `subarea` | integer | No | Subarea id from autocomplete. Example: 353. |
| `building_id` | string | No | Building UUID from autocomplete or the buildings route. |
| `q` | string | No | Free text keyword, 2 to 100 characters. Example: freehold. |
| `bedrooms` | integer | No | Bedrooms 1 to 5. 5 means 5 or more. Example: 3. |
| `bathrooms` | integer | No | Bathrooms 1 to 5. 5 means 5 or more. Example: 2. |
| `property_type_id` | integer | No | Property type id from the reference route. Example: 1 for condominium. |
| `furnished_id` | integer | No | Rent only. 1 fully, 2 partially, 3 not furnished. Example: 1. |
| `min_price` | integer | No | Minimum price in MYR (rent: per month). Example: 300000. |
| `max_price` | integer | No | Maximum price in MYR (rent: per month). Example: 500000. |
| `min_size` | integer | No | Minimum built-up size in sq.ft. Example: 800. |
| `max_size` | integer | No | Maximum built-up size in sq.ft. Example: 1500. |
| `store` | integer | No | Seller store id. Example: 790734. |
| `user_id` | integer | No | Seller user id. Example: 6690932. |

## Example response

```json
{
    "data": {
        "total": 20051,
        "by_seller_type": {
            "agent": 18010,
            "private": 2041
        },
        "search_parameters": {
            "region": 8,
            "category": "apartment",
            "listing_type": "sale"
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "count"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required parameter or a value is invalid. This response is not billable. |
| 503 | Upstream Unavailable | Mudah.my could not be reached. This response is not billable and is retryable. |
| 503 | Unexpected Upstream Data | Mudah.my returned data in an unexpected shape. This response is not billable and is retryable. |

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