APIs / Real estate / iProperty

1 credit per call3 endpoints3 datapoints

iProperty API

iProperty API for Malaysian property search for sale or rent, listing details and location autocomplete as JSON. 1 credit per successful call.

iProperty
GET/v1/iproperty/search?listing_type=sale&location=in-kuala-lumpur-58jok&bedrooms=3&min_price=0&max_price=800000&sort=price&order=asc
{
  "success": true,
  "data": {
    "listing_type": "sale",
    "location": "in-kuala-lumpur-58jok",
    "currency": "MYR",
    "pagination": {
      "current_page": 1,
      "total_pages": 891,
      "total_results": 17814,
      "page_size": 24
    },
    "filters_applied": {
      "listing_type": "sale",
      "location": "in-kuala-lumpur-58jok",
      "bedrooms": "3",
      "min_price": "0",
      "max_price": "800000",
      "sort": "price",
      "order": "asc"
    },
    "sort_options": [
      {
        "label": "Newest",
        "sort": "date",
        "order": "desc"
      },
      {
        "label": "Lowest Price",
        "sort": "price",
        "order": "asc"
      },
      {
        "label": "Highest Price",
        "sort": "price",
        "order": "desc"
      }
    ],
    "items": [
      {
        "id": 102251053,
        "url": "https://www.iproperty.com.my/property/mont-kiara/28-mont-kiara-mk-28/sale-102251053/",
        "title": "28 Mont Kiara @ MK28, Mont Kiara",
        "listing_type": "sale",
        "status": "ACT",
        "new_launch": false,
        "price": {
          "value": 8000,
          "formatted": "RM 8,000",
          "currency": "MYR"
        },
        "bedrooms": 3,
        "is_studio": false,
        "bathrooms": 4,
        "car_parks": 3,
        "property_type": "Condominium",
        "property_group_name": "condo",
        "unit_type_details": "Corner Lot",
        "furnishing": "Fully Furnished",
        "tenure": "Freehold",
        "completion": "Completion: 2012",
        "address": "32 Jalan Kiara, Mont Kiara, Kuala Lumpur",
        "short_address": "Mont Kiara, Kuala Lumpur",
        "district": "Mont Kiara",
        "district_code": "q9qzw",
        "region": "Kuala Lumpur",
        "region_code": "58jok",
        "project_id": 1878,
        "new_project": false,
        "developer": "Terence Wee",
        "posted_at": "2026-09-14T18:50:44+00:00",
        "posted_text": "Listed on Sep 15, 2026 (1mo ago)",
        "thumbnail": "https://ipp1-cdn.pgimgs.com/listing/102251053/UPHO.304543299.V550.jpg",
        "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",
          "https://ipp1-cdn.pgimgs.com/listing/102251053/UPHO.306236901.V800/28-Mont-Kiara-MK28-Mont-Kiara-Malaysia.jpg"
        ],
        "media_counts": {
          "images": 6
        },
        "badges": [
          "Completion: 2012",
          "Condominium",
          "Freehold"
        ],
        "is_official_listing": true,
        "is_developer_listing": false,
        "agent": {
          "id": 693852,
          "name": "Terence Wee",
          "verified": false,
          "profile_url": "https://www.iproperty.com.my/property-agent/terence-wee-693852/"
        }
      },
      {
        "id": 502381018,
        "url": "https://www.iproperty.com.my/property/damansara-heights/aira-residence/sale-502381018/",
        "title": "Aira Residence, Damansara Heights",
        "listing_type": "sale",
        "status": "ACT",
        "new_launch": false,
        "price": {
          "value": 17900,
          "formatted": "RM 17,900",
          "currency": "MYR"
        },
        "psf": {
          "value": 9.29,
          "text": "RM 9.29 psf"
        },
        "bedrooms": 3,
        "is_studio": false,
        "bathrooms": 4,
        "floor_area_sqft": 1927,
        "floor_area_text": "1,927 sqft",
        "property_type": "Condominium",
        "property_group_name": "condo",
        "furnishing": "Fully Furnished",
        "tenure": "Freehold",
        "completion": "Completion: 2019",
        "address": "Jalan Batai, Damansara Heights, Kuala Lumpur",
        "short_address": "Damansara Heights, Kuala Lumpur",
        "district": "Damansara Heights",
        "district_code": "f3k46",
        "region": "Kuala Lumpur",
        "region_code": "58jok",
        "project_id": 15629,
        "new_project": false,
        "developer": "Kim Ching",
        "posted_at": "2026-11-04T13:36:27+00:00",
        "posted_text": "Listed on Nov 04, 2026 (1w ago)",
        "nearest_transit": "1.43 km (17 min) from Semantan",
        "thumbnail": "https://ipp1-cdn.pgimgs.com/listing/502381018/UPHO.393972711.V550.jpg",
        "images": [
          "https://ipp1-cdn.pgimgs.com/listing/502381018/UPHO.393972711.V800/Aira-Residence-Damansara-Heights-Malaysia.jpg",
          "https://ipp1-cdn.pgimgs.com/listing/502381018/UPHO.393972713.V800/Aira-Residence-Damansara-Heights-Malaysia.jpg",
          "https://ipp1-cdn.pgimgs.com/listing/502381018/UPHO.393972714.V800/Aira-Residence-Damansara-Heights-Malaysia.jpg"
        ],
        "media_counts": {
          "images": 22
        },
        "badges": [
          "Completion: 2019",
          "Condominium",
          "Freehold"
        ],
        "is_official_listing": true,
        "is_developer_listing": false,
        "agent": {
          "id": 1300205,
          "name": "Kim Ching",
          "license": "REN83459",
          "verified": true,
          "profile_url": "https://www.iproperty.com.my/property-agent/kim-ching-1300205/"
        }
      },
      {
        "id": 502026892,
        "url": "https://www.iproperty.com.my/property/kepong/impiana-apartment/sale-502026892/",
        "title": "Impiana Apartment, Taman Wangsa Permai, Kepong",
        "listing_type": "sale",
        "status": "ACT",
        "new_launch": false,
        "price": {
          "value": 100000,
          "formatted": "RM 100,000",
          "currency": "MYR"
        },
        "psf": {
          "value": 145.99,
          "text": "RM 145.99 psf"
        },
        "bedrooms": 3,
        "is_studio": false,
        "bathrooms": 2,
        "floor_area_sqft": 685,
        "floor_area_text": "685 sqft",
        "property_type": "Apartment",
        "property_group_name": "condo",
        "unit_type_details": "Intermediate",
        "furnishing": "Partially Furnished",
        "tenure": "Leasehold",
        "address": "Jalan Wangsa 3/7 Jalan Wangsa 3/6, Taman Wangsa Permai, Kepong, Kuala Lumpur",
        "short_address": "Taman Wangsa Permai, Kepong, Kuala Lumpur",
        "area": "Taman Wangsa Permai",
        "district": "Kepong",
        "district_code": "jp1ux",
        "region": "Kuala Lumpur",
        "region_code": "58jok",
        "project_id": 5006,
        "new_project": false,
        "developer": "Ben Mok",
        "posted_at": "2026-11-07T00:00:16+00:00",
        "posted_text": "Listed on Nov 07, 2026 (5d ago)",
        "thumbnail": "https://ipp1-cdn.pgimgs.com/listing/502026892/UPHO.389641442.V550.jpg",
        "images": [
          "https://ipp1-cdn.pgimgs.com/listing/502026892/UPHO.389641442.V800/Impiana-Apartment-Taman-Wangsa-Permai-Malaysia.jpg",
          "https://ipp1-cdn.pgimgs.com/listing/502026892/UPHO.389641417.V800/Impiana-Apartment-Taman-Wangsa-Permai-Malaysia.jpg",
          "https://ipp1-cdn.pgimgs.com/listing/502026892/UPHO.389641374.V800/Impiana-Apartment-Taman-Wangsa-Permai-Malaysia.jpg"
        ],
        "media_counts": {
          "images": 10
        },
        "badges": [
          "Apartment",
          "Leasehold"
        ],
        "is_official_listing": true,
        "is_developer_listing": false,
        "agent": {
          "id": 879919,
          "name": "Ben Mok",
          "license": "REN18388",
          "verified": true,
          "profile_url": "https://www.iproperty.com.my/property-agent/ben-mok-879919/"
        }
      }
    ]
  },
  "meta": {
    "endpoint_family": "search",
    "removed_by_filter": 4,
    "request_id": "req_413c69a7e93e4974a1ba152b9bc3df53",
    "credits_charged": 1,
    "credits_remaining": 1797
  }
}
200 OKJSONX-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.

#labelstringsortstringorderstring
1Newestdatedesc
2Lowest Pricepriceasc
3Highest Pricepricedesc

Recorded from our API · 3 items shown · 3 datapoints per itemGET /v1/iproperty/search?listing_type=sale&location=in-kuala-lumpur-58jok&bedrooms=3&min_price=0&max_price=800000&sort=price&order=asc

3 datapoints

Other

  • labelstring
  • sortstring
  • orderstring

Playground

Run this API

cURLshell
curl "https://api.perceptlayer.com/v1/iproperty/search?listing_type=sale&location=in-kuala-lumpur-58jok&bedrooms=3&min_price=0&max_price=800000&sort=price&order=asc" \
  -H "X-API-Key: $API_KEY"

iProperty · 3 endpoints

Endpoints

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

EndpointRequired parametersCost
GET/v1/iproperty/autocomplete
query+1 optional
1 credit
GET/v1/iproperty/listing
none+2 optional
1 credit
GET/v1/iproperty/search
none+21 optional
1 credit

Overview

About the iProperty API

What you can get

The iProperty API returns iProperty property data as JSON through 3 endpoints.

  • Search: search takes a listing_type (sale or rent) and a location, with page, bedrooms, bathrooms, car_park, min_price, max_price, min_size, max_size, property_type (bungalow, condo, semi_detached, terrace, land, commercial, industrial, agricultural or other), commercial, furnishing (unfurnished, partial or full), room_type (master, common or shared), tenure (freehold, leasehold, bumi_lot, malay_reserved or private_lease), floor_level (ground, low, mid, high or penthouse), keyword, posted_within (3, 7, 14 or 31 days), agent_id, sort (date, price, psf or size) and order (asc or desc).
  • Listings: listing takes an id or a listing url.
  • Locations: autocomplete takes a query, with limit.

The recorded search for in-kuala-lumpur-58jok (sale, 3 bedrooms, up to 800,000, sorted by price ascending) returns items, each with id, url, title, listing_type, price, bedrooms, bathrooms, car_parks, property_type, furnishing, tenure, completion, address, district, region, developer, posted_at, images and is_developer_listing. It also returns the currency (MYR), pagination with total_pages and page_size, and the sort_options the search accepts.

How a call works

Search a location: GET /v1/iproperty/search?listing_type=sale&location=in-kuala-lumpur-58jok&bedrooms=3&min_price=0&max_price=800000&sort=price&order=asc with your key in the X-API-Key header. Each item carries an id and a url, either of which listing takes. Every successful call costs 1 credit; failed calls cost nothing.

Real estateJSONRESTMCP

More real estate APIs

Use cases

Track asking prices and rents for condos in Kuala Lumpur and across Malaysia

Use the iProperty API to track asking prices and rents for condos in Kuala Lumpur and across Malaysia

Compare price per square foot with `sort=psf`

Use the iProperty API to compare price per square foot with `sort=psf`

Filter by `tenure`, including freehold, leasehold and bumi lots

Use the iProperty API to filter by `tenure`, including freehold, leasehold and bumi lots

Watch new listings posted in the last 3, 7, 14 or 31 days

Use the iProperty API to watch new listings posted in the last 3, 7, 14 or 31 days

FAQ

Questions

How much does the iProperty 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 an iProperty account?

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

Can I sort by price per square foot?

Yes. Pass `sort=psf` with `order=asc` or `order=desc` to `search`.

Should I build an iProperty scraper instead?

You can, but an iProperty scraper is code you maintain: page changes break it, requests get blocked, and iProperty's terms govern how you collect data. The iProperty API gives you 3 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 iProperty API with 100 free credits

No credit card. Failed calls are never billed.