---
title: "Mudah.my Property API: 9 endpoints, 1 credit per call"
description: "Mudah.my Property API for Malaysian homes, rooms, land and commercial property for sale or rent, listings, buildings and agents. 1 credit per successful call."
url: https://perceptlayer.com/apis/mudah-my-property
---

[APIs](https://perceptlayer.com/apis) / [Real estate](https://perceptlayer.com/verticals/real-estate) / Mudah.my Property

1 credit per call 9 endpoints 19 datapoints

# Mudah.my Property API

Mudah.my Property API for Malaysian homes, rooms, land and commercial property for sale or rent, listings, buildings and agents. 1 credit per successful call.

[Get a free API key](https://perceptlayer.com/signup) Run it below

Mudah.my Property

GET /v1/mudah-my-property/search?listing\_type=sale&category=apartment&region=8&bedrooms=3 

```
{
  "success": true,
  "data": {
    "search_parameters": {
      "listing_type": "sale",
      "category": "apartment",
      "region": "8",
      "bedrooms": "3",
      "sort": "latest",
      "page": 1
    },
    "search_metadata": {
      "page": 1,
      "per_page": 40,
      "total_results": 15527,
      "showing": 40,
      "filtered_out": 0,
      "has_next": true,
      "depth_limit_reached": false
    },
    "listings": [
      {
        "list_id": 115312393,
        "ad_id": 135407214,
        "title": "[🌟TKT 1 + FULL LOAN🌟] Mahkota Cheras Flat L4 Pangsapuri Orkid BMC",
        "url": "https://www.mudah.my/tkt-1-full-loan-mahkota-cheras-flat-l4-pangsapuri-orkid-bmc-115312393.htm",
        "listing_type": "sale",
        "category": {
          "id": 2020,
          "name": "Apartment / Condominium"
        },
        "property_type": {
          "id": 2,
          "name": "Apartment"
        },
        "tenure": "Freehold",
        "price": {
          "amount": 140000,
          "currency": "MYR",
          "label": "RM 140,000",
          "old_price": 148000
        },
        "size": {
          "value": 650,
          "unit": "sq.ft."
        },
        "bedrooms": 3,
        "bathrooms": 2,
        "location": {
          "region": "Selangor",
          "region_id": 8,
          "subarea": "Kajang",
          "subarea_id": 298
        },
        "building": {
          "id": "e309ce06-ec70-4fa8-8986-f19b4964109c",
          "name": "Pangsapuri Orkid, Bandar Mahkota Cheras"
        },
        "seller": {
          "user_id": 2843274,
          "name": "TK TAN 019-6302828",
          "store_id": 490304,
          "store_verified": true,
          "type": "agent",
          "company_ad": true
        },
        "images": [
          "https://img.rnudah.com/images/30/3005723162905927509.jpg"
        ],
        "image_count": 7,
        "media_count": 7,
        "dates": {
          "listed_at": "2026-11-12T21:18:49+08:00",
          "original_listed_at": "2026-09-21T11:30:08+08:00",
          "modified_at": "2026-11-12T21:18:49+08:00",
          "expires_at": "2026-11-22T11:30:08+08:00"
        }
      },
      {
        "list_id": 116283364,
        "ad_id": 136557040,
        "title": "LEVEL 1 Apartment Mutiara Bukit Raja 1 Klang",
        "url": "https://www.mudah.my/level-1-apartment-mutiara-bukit-raja-1-klang-116283364.htm",
        "listing_type": "sale",
        "category": {
          "id": 2020,
          "name": "Apartment / Condominium"
        },
        "property_type": {
          "id": 2,
          "name": "Apartment"
        },
        "tenure": "Freehold",
        "price": {
          "amount": 165000,
          "currency": "MYR",
          "label": "RM 165,000"
        },
        "size": {
          "value": 657,
          "unit": "sq.ft."
        },
        "bedrooms": 3,
        "bathrooms": 2,
        "location": {
          "region": "Selangor",
          "region_id": 8,
          "subarea": "Klang",
          "subarea_id": 303
        },
        "building": {
          "id": "3b6e8d73-3639-49cd-a176-564020d73a1a",
          "name": "Mutiara Bukit Raja 2 Apartment"
        },
        "seller": {
          "user_id": 18440990,
          "name": "RAFIQ BIN ROSEMAN",
          "store_id": 1612297,
          "store_verified": false,
          "type": "agent",
          "company_ad": true
        },
        "images": [
          "https://img.rnudah.com/images/30/3010648563765318652.jpg"
        ],
        "image_count": 10,
        "media_count": 10,
        "dates": {
          "listed_at": "2026-11-12T21:10:01+08:00",
          "original_listed_at": "2026-11-12T21:10:01+08:00",
          "modified_at": "2026-11-12T21:10:01+08:00",
          "expires_at": "2027-01-13T21:08:43+08:00"
        }
      },
      {
        "list_id": 116099123,
        "ad_id": 136335471,
        "title": "Pangsapuri Palma Di Bandar Country Homes, Rawang.",
        "url": "https://www.mudah.my/pangsapuri-palma-di-bandar-country-homes-rawang-116099123.htm",
        "listing_type": "sale",
        "category": {
          "id": 2020,
          "name": "Apartment / Condominium"
        },
        "property_type": {
          "id": 2,
          "name": "Apartment"
        },
        "tenure": "Freehold",
        "price": {
          "amount": 90000,
          "currency": "MYR",
          "label": "RM 90,000"
        },
        "size": {
          "value": 645,
          "unit": "sq.ft."
        },
        "bedrooms": 3,
        "bathrooms": 2,
        "location": {
          "region": "Selangor",
          "region_id": 8,
          "subarea": "Rawang",
          "subarea_id": 322
        },
        "building": {
          "id": "4b13e2f0-236a-4049-8855-dedcebdced28",
          "name": "Palma Apartment (Bandar Country Homes)"
        },
        "seller": {
          "user_id": 18893852,
          "name": "Vivian Ho",
          "store_id": 1623297,
          "store_verified": true,
          "type": "agent",
          "company_ad": true
        },
        "images": [
          "https://img.rnudah.com/images/30/3007312838817228466.jpg"
        ],
        "image_count": 8,
        "media_count": 9,
        "dates": {
          "listed_at": "2026-11-12T21:00:07+08:00",
          "original_listed_at": "2026-10-21T07:49:26+08:00",
          "modified_at": "2026-11-12T21:00:07+08:00",
          "expires_at": "2026-12-22T07:49:26+08:00"
        }
      }
    ]
  },
  "meta": {
    "endpoint_family": "search",
    "request_id": "req_2b02131c88414a12a815e443f6b5a0ec",
    "credits_charged": 1,
    "credits_remaining": 1842
  }
}
```

200 OK JSON X-Credits-Used: 1

Recorded from our API and shortened.

Sample data

## What one call returns

A recorded run of `search`: the fields and shapes you will get, shortened to 3 items.

| # | list\_id integer | ad\_id integer | title string | url url | listing\_type string | category object | property\_type object | tenure string | price object | size object | bedrooms integer | bathrooms integer | location object | building object | seller object | images string\[\] | image\_count integer | media\_count integer | dates object |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | 115312393 | 135407214 | \[🌟TKT 1 + FULL LOAN🌟\] Mahkota Cheras Flat L4 Pangsapuri Orkid BMC | https://www.mudah.my/tkt-1-full-loan-mahkota-cheras-flat-l4-pangsapuri-orkid-bmc-115312393.htm | sale | {2 fields} | {2 fields} | Freehold | {4 fields} | {2 fields} | 3 | 2 | {4 fields} | {2 fields} | {6 fields} | \[1 item\] | 7 | 7 | {4 fields} |
| 2 | 116283364 | 136557040 | LEVEL 1 Apartment Mutiara Bukit Raja 1 Klang | https://www.mudah.my/level-1-apartment-mutiara-bukit-raja-1-klang-116283364.htm | sale | {2 fields} | {2 fields} | Freehold | {3 fields} | {2 fields} | 3 | 2 | {4 fields} | {2 fields} | {6 fields} | \[1 item\] | 10 | 10 | {4 fields} |
| 3 | 116099123 | 136335471 | Pangsapuri Palma Di Bandar Country Homes, Rawang. | https://www.mudah.my/pangsapuri-palma-di-bandar-country-homes-rawang-116099123.htm | sale | {2 fields} | {2 fields} | Freehold | {3 fields} | {2 fields} | 3 | 2 | {4 fields} | {2 fields} | {6 fields} | \[1 item\] | 8 | 9 | {4 fields} |

Recorded from our API · 3 items shown · 19 datapoints per item GET /v1/mudah-my-property/search?listing\_type=sale&category=apartment&region=8&bedrooms=3

19 datapoints

### Identity

-   list\_id integer
-   ad\_id integer
-   title string
-   listing\_type string
-   category object
-   property\_type object

### Contact

-   url url
-   seller object

### Location

-   location object

### Reputation

-   images string\[\]
-   image\_count integer

### Price

-   price object

### Other

-   tenure string
-   size object
-   bedrooms integer
-   bathrooms integer
-   building object
-   media\_count integer
-   dates object

Playground

## Run this API

cURL shell 

```
curl "https://api.perceptlayer.com/v1/mudah-my-property/search?listing_type=sale&category=apartment&region=8&bedrooms=3" \
  -H "X-API-Key: $API_KEY"
```

Mudah.my Property · 9 endpoints

## Endpoints

Every endpoint takes the same key. Open one for its parameters and an example request.

| Endpoint | Required parameters | Cost |
| --- | --- | --- |
| [GET `/v1/mudah-my-property/agent`](https://perceptlayer.com/apis/mudah-my-property/agent) | `slug` | 1 credit |
| [GET `/v1/mudah-my-property/autocomplete`](https://perceptlayer.com/apis/mudah-my-property/autocomplete) | `keyword` +2 optional | 1 credit |
| [GET `/v1/mudah-my-property/building`](https://perceptlayer.com/apis/mudah-my-property/building) | `prop_id` | 1 credit |
| [GET `/v1/mudah-my-property/buildings`](https://perceptlayer.com/apis/mudah-my-property/buildings) | `keyword` +1 optional | 1 credit |
| [GET `/v1/mudah-my-property/count`](https://perceptlayer.com/apis/mudah-my-property/count) | none +16 optional | 1 credit |
| [GET `/v1/mudah-my-property/listing`](https://perceptlayer.com/apis/mudah-my-property/listing) | `list_id` | 1 credit |
| [GET `/v1/mudah-my-property/reference`](https://perceptlayer.com/apis/mudah-my-property/reference) | none | 1 credit |
| [GET `/v1/mudah-my-property/search`](https://perceptlayer.com/apis/mudah-my-property/search) | none +18 optional | 1 credit |
| [GET `/v1/mudah-my-property/seller-listings`](https://perceptlayer.com/apis/mudah-my-property/seller-listings) | none +18 optional | 1 credit |

Overview

## About the Mudah.my Property API

## What you can get

The Mudah.my Property API returns Mudah.my property data as JSON through 9 endpoints.

-   **Search:** `search` takes a `listing_type` (sale or rent) and `category` (all, residential, apartment, house, commercial, land or room), with `region`, `subarea`, `building_id`, `q`, `bedrooms`, `bathrooms`, `property_type_id`, `furnished_id` (1, 2 or 3), `min_price`, `max_price`, `min_size`, `max_size`, `store`, `user_id`, `sort` (latest, price\_asc or price\_desc) and `page`. `count` takes the same filters without `sort` and `page`.
-   **Listings:** `listing` takes a `list_id`.
-   **Buildings:** `buildings` takes a `keyword`, with `page`; `building` takes a `prop_id`.
-   **Sellers:** `agent` takes a `slug`; `seller-listings` takes a `user_id` with the same filters as `search`.
-   **Lookups:** `autocomplete` takes a `keyword`, with `type` (location or keyword) and `listing_type`; `reference` takes no parameters.

The recorded `search` for apartments for sale in region 8 (Selangor in the response) with 3 bedrooms returns `search_metadata` with a `total_results` of 15,527, `per_page` and `has_next`. Each item in `listings` carries `list_id`, `ad_id`, `title`, `url`, `listing_type`, `category`, `property_type`, `tenure`, `price` (with `old_price` when it has changed), `size`, `bedrooms`, `bathrooms`, `location` (region and subarea), `building`, `seller`, `image_count` and `dates`.

## How a call works

Search a region: `GET /v1/mudah-my-property/search?listing_type=sale&category=apartment&region=8&bedrooms=3` with your key in the `X-API-Key` header. Each listing's `list_id` is what `listing` takes, and its `seller.user_id` is what `seller-listings` takes as `user_id`. Every successful call costs 1 credit; failed calls cost nothing.

Real estate JSON REST MCP

### More real estate APIs

[28Hse](https://perceptlayer.com/apis/28hse) [4zida](https://perceptlayer.com/apis/4zida) [591](https://perceptlayer.com/apis/591-house) [99.co](https://perceptlayer.com/apis/99co) [99acres](https://perceptlayer.com/apis/99acres) [Adondevivir](https://perceptlayer.com/apis/adondevivir) [Apartment List](https://perceptlayer.com/apis/apartment-list) [Apartments.com](https://perceptlayer.com/apis/apartments-com) [Aqar](https://perceptlayer.com/apis/aqar) [Aqarmap](https://perceptlayer.com/apis/aqarmap) [Argenprop](https://perceptlayer.com/apis/argenprop) [athome](https://perceptlayer.com/apis/athome)

Use cases

### Track apartment prices and rents in Selangor and other Malaysian regions

`Use the Mudah.my Property API to track apartment prices and rents in Selangor and other Malaysian regions` 

### Spot price cuts from \`price.old\_price\`

`` Use the Mudah.my Property API to spot price cuts from `price.old_price` `` 

### Count listings for a filter set with \`count\`, without paging through results

`` Use the Mudah.my Property API to count listings for a filter set with `count`, without paging through results `` 

### Follow the listings in one condominium with \`building\_id\`

`` Use the Mudah.my Property API to follow the listings in one condominium with `building_id` `` 

FAQ

## Questions

**How much does the Mudah.my Property API cost?**

Each successful call costs one credit. New accounts get free credits to start, and credit packs bring the price down as you scale.

**What format are responses in?**

Every endpoint returns JSON, with no HTML parsing on your side.

**Do I need a Mudah.my account?**

No. You call this Mudah.my Property API with your Perceptlayer key in the \`X-API-Key\` header, with no Mudah.my login.

**How do I find region and building ids?**

Each listing's \`location\` carries a \`region\_id\` and \`subarea\_id\`, the values \`region\` and \`subarea\` take; region 8 is Selangor in the recorded search. \`buildings\` finds buildings by \`keyword\`.

**Should I build a Mudah.my Property scraper instead?**

You can, but a Mudah.my Property scraper is code you maintain: page changes break it, requests get blocked, and Mudah.my Property's terms govern how you collect data. The Mudah.my Property API gives you 9 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.

## Try the Mudah.my Property API with 100 free credits

No credit card. Failed calls are never billed.

[Get a free API key](https://perceptlayer.com/signup) [Read the docs](https://docs.perceptlayer.com)
