DDproperty Search API searches homes for sale and for rent in Thailand. Each item has the listing id, URL, title, price in THB (number, text and kind: fixed, range or on request), bedrooms, bathrooms, living area, property type, tenure, address with province, district and area codes, project, developer, agent, agency, posting date, transit text and all photos. Rent prices are per month. Filters are always honoured: a listing that breaks a requested filter is never returned, and meta.filtered_out shows how many were removed from the page. Under a price filter, listings without a fixed price are removed. Searches reach page 100; a higher page is an error, and a page past the last result page answers not found. Every page carries its own data. Narrow big searches with a location and filters. A valid empty result is a successful, billable answer.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
This endpoint has no required query parameters.
15 optional filters available.
string
Optional
sale (default) or rent.
example
string
Optional
Province code from the autocomplete route, for example TH10.
example
string
Optional
District code from the autocomplete route, for example TH1039.
example
string
Optional
Sub-district code from the autocomplete route, for example TH102601.
example
integer
Optional
Condo or project id from the autocomplete route.
1234567890
string
Optional
Free text place or project name. Cannot be combined with a code or property_id.
running shoes
string
Optional
condo, apartment, townhouse, house, twin_house, villa or land.
example
integer
Optional
Minimum price in THB (rent: per month).
10
integer
Optional
Maximum price in THB.
10
integer
Optional
0 (studio) to 5. 5 means five or more.
10
integer
Optional
1 to 5. 5 means five or more.
10
integer
Optional
Minimum living area in sqm.
10
integer
Optional
Maximum living area in sqm.
10
string
Optional
newest, price_asc, price_desc, psf_asc, psf_desc, size_asc or size_desc. Default is the site ranking.
relevance
integer
Optional
One-based page number, 1 to 100 (about 20 results per page).
1
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"items": [
{
"id": 500005597,
"url": "https://www.ddproperty.com/en/property/aspire-asoke-ratchada-bangkok-for-sale-500005597",
"agent": {
"id": 10635723,
"name": "Ma Yuan Tao",
"avatar": "https://th1-cdn.pgimgs.com/agent/10635723/APHO.132926932.V120B.jpg",
"license": null,
"tagline": "\u0e02\u0e32\u0e22\u0e04\u0e2d\u0e19\u0e42\u0e14 Aspire \u0e2d\u0e42\u0e28\u0e01-\u0e23\u0e31\u0e0a\u0e14\u0e32",
"is_verified": true,
"profile_url": "https://www.ddproperty.com/en/agent/ma-yuan-tao-10635723"
},
"price": {
"per": null,
"kind": "fixed",
"text": "\u0e3f4,990,000",
"value": 4990000,
"currency": "THB"
},
"title": "Aspire Asoke-Ratchada, Bangkok",
"agency": {
"id": 43020,
"name": "YX PROPERTY"
},
"badges": [
"Built: 2020",
"Condo",
"Freehold"
],
"images": [
"https://th1-cdn.pgimgs.com/listing/500005597/UPHO.131888373.V800/Aspire-Asoke-Ratchada-Din-Daeng-Thailand.jpg",
"https://th1-cdn.pgimgs.com/listing/500005597/UPHO.131888375.V800/Aspire-Asoke-Ratchada-Din-Daeng-Thailand.jpg",
"https://th1-cdn.pgimgs.com/listing/500005597/UPHO.131888377.V800/Aspire-Asoke-Ratchada-Din-Daeng-Thailand.jpg"
],
"status": "ACT",
"tenure": {
"code": "F",
"label": "Freehold"
},
"videos": [],
"project": {
"id": 6894,
"nano_id": "mw5ajn",
"is_new_project": false
},
"transit": "1.18 km (14 min) from BL20 Phra Ram 9 MRT",
"area_sqm": 50,
"bedrooms": 2,
"location": {
"area": {
"code": "TH102601",
"name": "Din Daeng"
},
"region": {
"code": "TH10",
"name": "Bangkok"
},
"district": {
"code": "TH1026",
"name": "Din Daeng"
},
"full_address": "Soi Ratchadaphisek 3, Din Daeng, Bangkok",
"short_address": "Din Daeng, Din Daeng, Bangkok"
},
"area_text": "50 sqm",
"bathrooms": 1,
"developer": "AP Thailand - \u0e40\u0e2d\u0e1e\u0e35 (\u0e44\u0e17\u0e22\u0e41\u0e25\u0e19\u0e14\u0e4c) \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19)",
"is_studio": false,
"posted_at": "2026-10-18T01:37:40+00:00",
"thumbnail": "https://th1-cdn.pgimgs.com/listing/500005597/UPHO.131888373.V550.jpg",
"build_info": "Built: 2020",
"site_plans": [],
"floor_plans": [],
"image_count": 4,
"posted_text": "Listed on Oct 18, 2026 (1w ago)",
"listing_type": "sale",
"is_pre_launch": false,
"parking_slots": 1,
"property_type": {
"code": "CONDO",
"label": "Condo"
},
"virtual_tours": [],
"price_per_area": "\u0e3f99,800 / sqm",
"is_official_listing": true,
"is_developer_listing": false
},
{
"id": 500444048,
"url": "https://www.ddproperty.com/en/property/project/chapter-one-spark-charan-bangkok-for-sale-500444048",
"agent": {
"id": 900995691,
"name": "Pruksa Real Estate - \u0e1e\u0e24\u0e01\u0e29\u0e32 \u0e40\u0e23\u0e35\u0e22\u0e25\u0e40\u0e2d\u0e2a\u0e40\u0e15\u0e17 \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19)",
"avatar": "https://th1-cdn.pgimgs.com/agent/900995691/APHO.132627741.V120B.jpg",
"license": null,
"tagline": "Chapter one spark charan \u0e04\u0e2d\u0e19\u0e42\u0e14\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e2d\u0e22\u0e39\u0e48 \u0e27\u0e34\u0e27\u0e41\u0e21\u0e48\u0e19\u0e49\u0e33\u0e43\u0e01\u0e25\u0e49 MRT \u0e1a\u0e32\u0e07\u0e1e\u0e25\u0e31\u0e14 150",
"is_verified": false,
"profile_url": null
},
"price": {
"per": null,
"kind": "on_request",
"text": "Price on ask",
"value": null,
"currency": "THB"
},
"title": "Chapter One Spark Charan, Bangkok",
"agency": null,
"badges": [
"New Project: 2026",
"Condo",
"Freehold"
],
"images": [
"https://th1-cdn.pgimgs.com/project-listing-project/500444048/PLPHO.138020823.V800/Chapter-One-Spark-Charan-Bang-Phlat-Thailand.jpg",
"https://th1-cdn.pgimgs.com/project-listing-project/500444048/PLPHO.138020824.V800/Chapter-One-Spark-Charan-Bang-Phlat-Thailand.jpg",
"https://th1-cdn.pgimgs.com/project-listing-project/500444048/PLPHO.138020828.V800/Chapter-One-Spark-Charan-Bang-Phlat-Thailand.jpg"
],
"status": "ACT",
"tenure": {
"code": "F",
"label": "Freehold"
},
"videos": [
"https://youtu.be/njQHfX9Qa7M"
],
"project": {
"id": 11233,
"nano_id": "f78z9u",
"is_new_project": true
},
"transit": "60 m (1 min) from BL07 Bang Phlat MRT",
"area_sqm": null,
"bedrooms": 1,
"location": {
"area": {
"code": "TH102502",
"name": "Bang O"
},
"region": {
"code": "TH10",
"name": "Bangkok"
},
"district": {
"code": "TH1025",
"name": "Bang Phlat"
},
"full_address": "80 Charan Sanitwong Rd, Bang O, Bang Phlat, Bangkok",
"short_address": "Bang O, Bang Phlat, Bangkok"
},
"area_text": null,
"bathrooms": 1,
"developer": "Pruksa Real Estate - \u0e1e\u0e24\u0e01\u0e29\u0e32 \u0e40\u0e23\u0e35\u0e22\u0e25\u0e40\u0e2d\u0e2a\u0e40\u0e15\u0e17 \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19)",
"is_studio": false,
"posted_at": "2026-10-25T00:00:00+00:00",
"thumbnail": "https://th1-cdn.pgimgs.com/project-listing-project/500444048/PLPHO.138020823.V550.jpg",
"build_info": "Completion in 2026",
"site_plans": [],
"floor_plans": [],
"image_count": 4,
"posted_text": "Listed on Oct 25, 2026 (17h ago)",
"listing_type": "sale",
"is_pre_launch": false,
"parking_slots": null,
"property_type": {
"code": "CONDO",
"label": "Condo"
},
"virtual_tours": [],
"price_per_area": null,
"is_official_listing": true,
"is_developer_listing": true
}
],
"pagination": {
"max_page": 100,
"per_page": 20,
"total_count": 3666,
"total_pages": 100,
"current_page": 1,
"has_next_page": true
},
"sort_options": [
{
"label": "Recommended",
"value": null
},
{
"label": "Newest",
"value": "newest"
},
{
"label": "Lowest Price",
"value": "price_asc"
},
{
"label": "Highest Price",
"value": "price_desc"
}
],
"filters_applied": {
"bedrooms": 2,
"max_price": 5000000,
"min_price": 3000000,
"listing_type": "sale"
}
},
"meta": {
"billable": true,
"filtered_out": 0,
"endpoint_family": "search"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A range is invalid, a code has the wrong shape, keyword is combined with a code, or the page is above 100. This response is not billable.
{
"errors": {
"page": [
"The search is limited to the first 100 pages. Narrow the search with filters."
]
},
"message": "The request validation failed"
}Not Found
The page is past the last result page of the search. This response is not billable.
{
"meta": {
"billable": false,
"retryable": false,
"endpoint_family": "search"
},
"error": {
"code": "NOT_FOUND",
"message": "The requested resource was not found."
},
"success": false
}Upstream Unavailable
DDproperty could not be reached or returned data that does not match the request. This response is not billable and is retryable.
{
"meta": {
"billable": false,
"retryable": true,
"endpoint_family": "search"
},
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "DDproperty could not be reached. Please retry shortly."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.