# DDproperty Search API Documentation

<p><strong>DDproperty Search API</strong> 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 <code>meta.filtered_out</code> 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.</p>

- **Documentation:** [https://scrappa.co/docs/ddproperty-api/ddproperty_search](https://scrappa.co/docs/ddproperty-api/ddproperty_search)
- **API group:** DDproperty API
- **Endpoint:** `GET https://scrappa.co/api/ddproperty/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. |
| `region_code` | string | No | Province code from the autocomplete route, for example TH10. |
| `district_code` | string | No | District code from the autocomplete route, for example TH1039. |
| `area_code` | string | No | Sub-district code from the autocomplete route, for example TH102601. |
| `property_id` | integer | No | Condo or project id from the autocomplete route. |
| `keyword` | string | No | Free text place or project name. Cannot be combined with a code or property_id. |
| `property_type` | string | No | condo, apartment, townhouse, house, twin_house, villa or land. |
| `min_price` | integer | No | Minimum price in THB (rent: per month). |
| `max_price` | integer | No | Maximum price in THB. |
| `bedrooms` | integer | No | 0 (studio) to 5. 5 means five or more. |
| `bathrooms` | integer | No | 1 to 5. 5 means five or more. |
| `min_size` | integer | No | Minimum living area in sqm. |
| `max_size` | integer | No | Maximum living area in sqm. |
| `sort` | string | No | newest, price_asc, price_desc, psf_asc, psf_desc, size_asc or size_desc. Default is the site ranking. |
| `page` | integer | No | One-based page number, 1 to 100 (about 20 results per page). |

## Example response

```json
{
    "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

| Status | Error | Description |
| --- | --- | --- |
| 422 | 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. |
| 404 | Not Found | The page is past the last result page of the search. This response is not billable. |
| 503 | Upstream Unavailable | DDproperty 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)
