# iProperty Search API Documentation

<p><strong>iProperty Search API</strong> returns Malaysian property for sale or rent as JSON. Filter by location, price, bedrooms, bathrooms, car parks, floor size, property type, furnishing, tenure, floor level, keyword, posting date or agent, sort by date, price, psf or size, and page through the results. Each item carries the title, address, price with currency, psf, bedrooms, bathrooms, size, tenure, furnishing, completion, property type, district, nearest transit, agent, agency, developer, posting date and photos. The response also returns the result count, the real page and total pages, the applied filters and the available sort options. Every returned item satisfies every requested filter. Cards that break a filter are removed, and the count is in <code>meta.removed_by_filter</code>, so a page can hold fewer items than the page size. A valid empty result is a successful, billable response.</p>

- **Documentation:** [https://scrappa.co/docs/iproperty-api/iproperty_search](https://scrappa.co/docs/iproperty-api/iproperty_search)
- **API group:** iProperty API
- **Endpoint:** `GET https://scrappa.co/api/iproperty/v1/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 |
| --- | --- | --- | --- |
| `listing_type` | string | No | sale (default) or rent. Example: rent. |
| `location` | string | No | Location slug from Autocomplete (search_filter.location). Leave empty to search all of Malaysia. Example: in-kuala-lumpur-58jok. |
| `page` | integer | No | One-based page number. The response page always matches the request. Example: 2. |
| `bedrooms` | integer | No | Number of bedrooms, 0 for a studio. 5 means 5 or more. Example: 3. |
| `bathrooms` | integer | No | Number of bathrooms, 1 to 5. 5 means 5 or more. Example: 2. |
| `car_park` | integer | No | Number of car parks, 1 to 5. 5 means 5 or more. Example: 2. |
| `min_price` | integer | No | Minimum price in MYR (rent: per month). Example: 500000. |
| `max_price` | integer | No | Maximum price in MYR. Must be at least min_price. Example: 800000. |
| `min_size` | integer | No | Minimum floor size in square feet. Example: 1000. |
| `max_size` | integer | No | Maximum floor size in square feet. Must be at least min_size. Example: 1500. |
| `property_type` | string | No | condo, bungalow, semi_detached, terrace, land, commercial, industrial, agricultural or other. Example: condo. |
| `commercial` | boolean | No | Set true to search commercial property. Example: true. |
| `furnishing` | string | No | full, partial or unfurnished. Example: full. |
| `room_type` | string | No | Rent only: master, common or shared room. Example: master. |
| `tenure` | string | No | freehold, leasehold, bumi_lot, malay_reserved or private_lease. Example: freehold. |
| `floor_level` | string | No | ground, low, mid, high or penthouse. Example: high. |
| `keyword` | string | No | Free text keyword, 2 to 100 characters. Example: lake. |
| `posted_within` | integer | No | Only listings posted within 3, 7, 14 or 31 days. Example: 7. |
| `agent_id` | string | No | Only listings of this agent. Use the agent id from a result. Example: 3065513. |
| `sort` | string | No | Sort key: date, price, psf or size. Without it the site default order applies. Example: price. |
| `order` | string | No | asc (default) or desc. Used with sort. Example: asc. |

## Example response

```json
{
    "data": {
        "items": [
            {
                "id": 102251053,
                "psf": null,
                "url": "https://www.iproperty.com.my/property/mont-kiara/28-mont-kiara-mk-28/sale-102251053/",
                "area": null,
                "agent": {
                    "id": 693852,
                    "name": "Terence Wee",
                    "photo": null,
                    "license": null,
                    "verified": false,
                    "profile_url": "https://www.iproperty.com.my/property-agent/terence-wee-693852/"
                },
                "price": {
                    "value": 8000,
                    "period": null,
                    "currency": "MYR",
                    "formatted": "RM 8,000",
                    "qualifier": null
                },
                "title": "28 Mont Kiara @ MK28, Mont Kiara",
                "agency": null,
                "badges": [
                    "Completion: 2012",
                    "Condominium",
                    "Freehold"
                ],
                "images": [
                    "https://ipp1-cdn.pgimgs.com/listing/102251053/UPHO.304543299.V800/28-Mont-Kiara-MK28-Mont-Kiara-Malaysia.jpg",
                    "https://ipp1-cdn.pgimgs.com/listing/102251053/UPHO.322947698.V800/28-Mont-Kiara-MK28-Mont-Kiara-Malaysia.jpg"
                ],
                "region": "Kuala Lumpur",
                "status": "ACT",
                "tenure": "Freehold",
                "address": "32 Jalan Kiara, Mont Kiara, Kuala Lumpur",
                "bedrooms": 3,
                "district": "Mont Kiara",
                "bathrooms": 4,
                "car_parks": 3,
                "developer": "Terence Wee",
                "is_studio": false,
                "posted_at": "2026-09-14T18:50:44+00:00",
                "thumbnail": "https://ipp1-cdn.pgimgs.com/listing/102251053/UPHO.304543299.V550.jpg",
                "completion": "Completion: 2012",
                "furnishing": "Fully Furnished",
                "new_launch": false,
                "project_id": 1878,
                "new_project": false,
                "posted_text": "Listed on Sep 15, 2026 (1mo ago)",
                "region_code": "58jok",
                "listing_type": "sale",
                "media_counts": {
                    "images": 6
                },
                "district_code": "q9qzw",
                "property_type": "Condominium",
                "short_address": "Mont Kiara, Kuala Lumpur",
                "land_area_text": null,
                "floor_area_sqft": null,
                "floor_area_text": null,
                "nearest_transit": null,
                "unit_type_details": "Corner Lot",
                "is_official_listing": true,
                "property_group_name": "condo",
                "is_developer_listing": false
            },
            {
                "id": 502245807,
                "psf": {
                    "text": "RM 6.83 psf",
                    "value": 6.83
                },
                "url": "https://www.iproperty.com.my/property/mont-kiara/allevia/sale-502245807/",
                "area": null,
                "agent": {
                    "id": 950885,
                    "name": "Sharon Wong",
                    "photo": null,
                    "license": "REN23913",
                    "verified": true,
                    "profile_url": "https://www.iproperty.com.my/property-agent/sharon-wong-950885/"
                },
                "price": {
                    "value": 12000,
                    "period": null,
                    "currency": "MYR",
                    "formatted": "RM 12,000",
                    "qualifier": null
                },
                "title": "Allevia, Mont Kiara",
                "agency": null,
                "badges": [
                    "Completion: 2025",
                    "Condominium",
                    "Freehold"
                ],
                "images": [
                    "https://ipp1-cdn.pgimgs.com/listing/502245807/UPHO.392332449.V800/Allevia-Mont-Kiara-Malaysia.jpg",
                    "https://ipp1-cdn.pgimgs.com/listing/502245807/UPHO.392332442.V800/Allevia-Mont-Kiara-Malaysia.jpg"
                ],
                "region": "Kuala Lumpur",
                "status": "ACT",
                "tenure": "Freehold",
                "address": "Mont Kiara, Kuala Lumpur",
                "bedrooms": 3,
                "district": "Mont Kiara",
                "bathrooms": 3,
                "car_parks": null,
                "developer": "Sharon Wong",
                "is_studio": false,
                "posted_at": "2026-10-12T07:08:19+00:00",
                "thumbnail": "https://ipp1-cdn.pgimgs.com/listing/502245807/UPHO.392332449.V550.jpg",
                "completion": "Completion: 2025",
                "furnishing": "Fully Furnished",
                "new_launch": false,
                "project_id": 16375,
                "new_project": true,
                "posted_text": "Listed on Oct 12, 2026 (1w ago)",
                "region_code": "58jok",
                "listing_type": "sale",
                "media_counts": {
                    "images": 15
                },
                "district_code": "q9qzw",
                "property_type": "Condominium",
                "short_address": "Mont Kiara, Kuala Lumpur",
                "land_area_text": null,
                "floor_area_sqft": 1757,
                "floor_area_text": "1,757 sqft",
                "nearest_transit": null,
                "unit_type_details": null,
                "is_official_listing": true,
                "property_group_name": "condo",
                "is_developer_listing": false
            }
        ],
        "currency": "MYR",
        "location": "in-kuala-lumpur-58jok",
        "pagination": {
            "page_size": 24,
            "total_pages": 876,
            "current_page": 1,
            "total_results": 17523
        },
        "listing_type": "sale",
        "sort_options": [
            {
                "sort": "date",
                "label": "Newest",
                "order": "desc"
            },
            {
                "sort": "price",
                "label": "Lowest Price",
                "order": "asc"
            },
            {
                "sort": "price",
                "label": "Highest Price",
                "order": "desc"
            },
            {
                "sort": "psf",
                "label": "PSF (low-high)",
                "order": "asc"
            },
            {
                "sort": "psf",
                "label": "PSF (high-low)",
                "order": "desc"
            },
            {
                "sort": "size",
                "label": "Size (high-low)",
                "order": "desc"
            },
            {
                "sort": "size",
                "label": "Size (low-high)",
                "order": "asc"
            }
        ],
        "filters_applied": {
            "sort": "price",
            "order": "asc",
            "bedrooms": 3,
            "location": "in-kuala-lumpur-58jok",
            "max_price": 800000,
            "listing_type": "sale"
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search",
        "removed_by_filter": 1
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required parameter, a value or a range is invalid. This response is not billable. |
| 404 | Not Found | The location slug does not exist. This response is not billable. |
| 503 | Upstream Unavailable | iProperty could not be reached or returned data that does not match the request. 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)
