ddproperty.com APIddproperty.com ↗
Search Thailand property listings for sale and rent, get listing details, look up MRT/BTS stations, and calculate mortgage payments via the DDProperty API.
curl -X GET 'https://api.parse.bot/scraper/7daa3631-0833-4aa5-b97e-c09547f619ea/search_properties_for_sale?page=2&freetext=Sukhumvit' \ -H 'X-API-Key: $PARSE_API_KEY'
Search properties for sale in Thailand with various filters. Returns paginated listings with property details including price, location, bedrooms, and agent information.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| bedrooms | string | Number of bedrooms filter |
| freetext | string | Search keyword such as location name or property name (e.g., 'Sukhumvit', 'Bangkok') |
| max_price | string | Maximum price filter in THB |
| min_price | string | Minimum price filter in THB |
| property_type | string | Property type group filter (N for condo, B for house, T for townhouse, V for villa, L for land) |
{
"type": "object",
"fields": {
"page": "integer current page number",
"total": "integer total number of matching listings",
"listings": "array of property listing objects with id, title, address, price, beds, baths, area, agent, and url",
"total_pages": "integer total number of pages"
},
"sample": {
"data": {
"page": 1,
"total": 76232,
"listings": [
{
"id": 60248551,
"mrt": "8 min (680 m) from BL10 Tao Poon MRT",
"url": "https://www.ddproperty.com/en/property/project/the-privacy-parc-taopoon-bangkok-for-sale-60248551#3924",
"area": "",
"beds": 1,
"agent": {
"id": 900995691,
"name": "Pruksa Real Estate",
"avatar": "https://th1-cdn.pgimgs.com/agent/900995691/APHO.132627741.V120B.jpg",
"description": "Tropical Modern condo"
},
"baths": 1,
"price": "฿2,590,000",
"title": "The Privacy Parc Taopoon, Bangkok",
"images": [],
"address": "16 Bangkok - Nonthaburi Road, Bang Sue, Bang Sue, Bangkok",
"currency": "THB",
"property": {
"id": 15204,
"typeCode": "SALE",
"typeText": "For Sale",
"typeGroup": "N",
"newProject": true,
"isPremiumProjectListing": true
},
"posted_on": "7 May 2026",
"price_raw": 2590000,
"property_type": "For Sale",
"price_per_area": "฿99,615 / sqm"
}
],
"total_pages": 3812
},
"status": "success"
}
}About the ddproperty.com API
The DDProperty API exposes 5 endpoints covering Thailand's largest property portal, letting you search sales and rental listings, retrieve full listing details, look up MRT/BTS transit stations, and run mortgage amortization calculations. The search_properties_for_sale endpoint alone returns paginated results with fields including price in THB, bedroom/bathroom counts, agent details, and address — all filterable by property type, price range, and keyword.
Search and Filter Listings
Both search_properties_for_sale and search_properties_for_rent accept overlapping filter sets: freetext for keyword or location search (e.g., 'Sukhumvit', 'Pattaya'), bedrooms, min_price/max_price in THB, and page for pagination. The sale endpoint adds a property_type filter using single-letter codes — N for condo, B for house, T for townhouse, V for villa, and L for land. Each response includes total, total_pages, and a listings array whose objects carry id, title, address, price, beds, baths, area, agent, and url.
Listing Detail
get_property_detail accepts a slug — the URL path segment that identifies a specific listing, formatted like <property-name>-for-sale-<listing-id>. The response adds fields not present in search results: images (array of image URLs), tenure (e.g., F for freehold), a structured address object with street, district, region, area, and postcode, and an agent object that includes id, name, and badges.
Transit Station Lookup and Mortgage Calculator
get_location_suggestions takes a query string and returns matching MRT/BTS station objects with id, name, type, line, line_color, and geographic coordinates — useful for filtering or tagging listings by transit proximity. calculate_mortgage accepts price, tenure_years, interest_rate, and downpayment_pct, and returns loan_amount, monthly_payment, total_interest, total_repayment, and total_downpayment — all in THB.
Coverage Notes
All listings and data reflect the Thai market only. Prices in search results are returned as formatted strings; the mortgage calculator expects a raw numeric price value. Pagination is cursor-free — use the integer page parameter alongside total_pages to walk result sets.
- Aggregate Bangkok condo listings filtered by BTS station proximity using coordinates from
get_location_suggestions. - Build a rental price comparison tool for specific districts using
freetextandmin_price/max_pricefilters. - Display full listing pages including images, tenure, and agent badges by resolving slugs via
get_property_detail. - Embed a mortgage calculator widget that shows monthly payment, total interest, and total repayment for any listed property.
- Scrape market-level data by paginating
search_properties_for_salewithproperty_type=Nto track condo price trends. - Cross-reference rental and sale prices for the same area by running parallel queries on both search endpoints.
- Populate a property recommendation engine using bedroom count, area, and address fields from paginated search results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does DDProperty have an official developer API?+
What does `get_property_detail` return beyond what search results include?+
get_property_detail returns several fields absent from search listings: an images array of photo URLs, a tenure code (e.g., F for freehold), a structured address object broken into street, district, region, area, and postcode, and agent badges. You need the listing's URL slug to call this endpoint.Does the sale search support filtering by specific Bangkok districts or provinces beyond keyword search?+
search_properties_for_sale endpoint filters by freetext, property_type, bedrooms, and price range. It does not expose a dedicated district or province filter parameter — location scoping goes through the freetext field. You can fork this API on Parse and revise it to add a structured location parameter if your use case requires it.Does the API cover properties outside Thailand?+
How does pagination work across the search endpoints?+
page (current page), total (total matching listings), and total_pages. Pass the integer page parameter to step through results. There is no cursor-based pagination — you iterate by incrementing page up to the value of total_pages.