# PropertyScout Thailand Scraper (`mai_amm/propertyscout-thailand-scraper`) Actor

Scrapes public PropertyScout Thailand search result pages and optionally enriches each listing from its detail page.

- **URL**: https://apify.com/mai\_amm/propertyscout-thailand-scraper.md
- **Developed by:** [wiseld\_squid](https://apify.com/mai_amm) (community)
- **Categories:** Real estate, Lead generation, Agents
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## PropertyScout Thailand Scraper

Scrape public property listings from PropertyScout Thailand.

The Actor collects search results from PropertyScout listing pages and can open each property detail page to enrich the data with description, images, canonical URL, and coordinates.

Besides plain `startUrls`, the Actor can also generate PropertyScout search URLs from website-style inputs such as buy or rent, property type, beds, feature, area, and project.

### Good for

- Real estate market research
- Price monitoring
- Property inventory tracking
- Building a clean listing database
- Exporting PropertyScout listings to JSON, CSV, Excel, or BI tools

### What it extracts

Each result can include:

- Listing ID and URL
- Title and description
- Sale or rental price
- Property type
- Bedrooms and bathrooms
- Floor size and land size
- Floor level
- Building floors, completion year, total units, and towers when available
- Building or project name
- Subdistrict, district, province, and neighborhood
- Latitude and longitude
- Google Maps URL
- Furnishing and pet policy
- Nearest transport and distance when available
- Unit amenities and building features when detail pages are enabled
- Listing status
- Image URLs
- Search page and position
- Scrape timestamp

### Input example

```json
{
  "transaction": "sales",
  "propertyType": "condo",
  "beds": "1-bedroom",
  "lowRise": true,
  "greatDeals": true,
  "furnishing": "fully-furnished",
  "moreFeatures": ["pet-friendly", "gym"],
  "areaPath": "bangkok/asok",
  "minPrice": 3000000,
  "maxPrice": 10000000,
  "maxPages": 3,
  "maxItems": 100,
  "includeDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

### Input fields

| Field | Description | Default |
| --- | --- | --- |
| `startUrls` | Search or property detail URLs to scrape. | `/en/sales/` |
| `mode` | Default search type when no start URLs or generated filter URLs are provided: `sales`, `rentals`, `both`, or `urls`. | `sales` |
| `transaction` | Simple website-style selector: buy, rent, both, or blank. | `sales` |
| `propertyType` | Simple property type selector such as `condo`, `apartment`, `townhouse`, or `villa`. | `any` |
| `beds` | Simple bedroom selector such as `studio`, `1-bedroom`, or `5plus-bedrooms`. | `any` |
| `feature` | Simple feature selector such as `pet-friendly`, `ready-to-move`, `fully-furnished`, `gym`, or `kitchen`. | `any` |
| `lowRise` | Website-style Low-Rise toggle. Filters to buildings with `0–9` floors, matching PropertyScout's own helper text. | `false` |
| `greatDeals` | Website-style Great Deals toggle. Internally mapped to `hot-price`. | `false` |
| `furnishing` | Simple furnishing selector. | `any` |
| `moreFeatures` | Extra website-style feature slugs such as `pet-friendly`, `swimming-pool`, `gym`, `walk-in-wardrobe`, `laundry-room`, `kitchen`, or `balcony`. | Empty |
| `areaPath` | Optional area or market path such as `bangkok/asok` or `phuket/thalang`. | Empty |
| `projectPath` | Optional building or project path such as `bangkok/condo/noble-remix`. | Empty |
| `customSearchPath` | Optional exact path relative to `/en/` for one precise filter combination. | Empty |
| `minPrice` / `maxPrice` | Optional price filter. The actor generates PropertyScout's native public price path such as `/from20000thb/` or `/20000thb-40000thb/`, then keeps a result-side safety filter too. For rentals this is monthly rent. | Empty |
| `transactions` etc. | Advanced multi-value fields kept for power users and bulk combinations. | Empty |
| `maxPages` | Maximum search result pages to visit. | `3` |
| `maxItems` | Maximum listings to save. | `100` |
| `includeDetails` | Open each listing detail page for richer data. | `true` |
| `includeRawData` | Include raw data from PropertyScout's Next.js state. | `false` |
| `maxConcurrency` | Number of pages processed at the same time. | `3` |
| `requestDelaySecs` | Delay before each request. | `1` |
| `proxyConfiguration` | Apify proxy settings. | Apify Proxy enabled |

### Output example

```json
{
  "source": "propertyscout_th",
  "country": "TH",
  "id": "2712992",
  "url": "https://propertyscout.co.th/en/2-br-condo-baan-saenkhram-hua-hin-close-the-venezia-2712992/",
  "title": "2-BR Condo at Baan Saenkhram Hua Hin close to The Venezia",
  "description": "2-BR Condo for sale...",
  "buildingName": "Baan Saenkhram Hua Hin",
  "price": 5350000,
  "currency": "THB",
  "listingType": "sale",
  "propertyType": "condo",
  "bedrooms": 2,
  "bathrooms": 2,
  "floorSize": 80.48,
  "floorLevel": 4,
  "buildingFloors": 4,
  "completionYear": 2010,
  "totalUnits": 300,
  "towers": 1,
  "location": {
    "subdistrict": "Cha-Am",
    "district": "Cha-Am",
    "province": "Phetchaburi",
    "neighborhood": "Hua Hin"
  },
  "latitude": 12.663481119240622,
  "longitude": 99.95722574413573,
  "googleMapsUrl": "https://www.google.com/maps?q=12.663481119240622,99.95722574413573",
  "closestTransport": "nana",
  "closestTransportKm": 0.8561463486210343,
  "unitAmenities": ["balcony", "microwave", "refrigerator"],
  "buildingFeatures": ["sauna", "swimming_pool", "gymnasium_room", "cctv"],
  "image": "https://img2.propertyscout.co.th/...",
  "imageUrls": ["https://img2.propertyscout.co.th/..."],
  "sourceUrl": "https://propertyscout.co.th/en/sales/",
  "page": 1,
  "position": 1,
  "detailAvailable": true,
  "scrapedAt": "2026-05-23T00:00:00.000Z"
}
```

### How it works

The Actor reads listing data from the public Next.js data embedded in PropertyScout pages, then follows the normal pagination links. If `includeDetails` is enabled, it visits each property page for extra fields.

When filter inputs are provided, the Actor builds search URLs using PropertyScout's public path patterns, for example:

- `/en/sales/condo/1-bedroom/`
- `/en/rentals/apartment/studio/`
- `/en/sales/pet-friendly/`
- `/en/bangkok/asok/sales/`
- `/en/bangkok/condo/noble-remix/sales/`
- `/en/bangkok/prawet/sales/detached-house/5plus-bedrooms/pet-friendly/`
- `/en/rentals/condo/from20000thb/`
- `/en/rentals/condo/20000thb-40000thb/`

### Local run

```bash
npm install
INPUT='{"transaction":"sales","propertyType":"condo","beds":"1-bedroom","feature":"fully-furnished","areaPath":"bangkok/asok","maxPages":1,"maxItems":5,"includeDetails":true,"proxyConfiguration":{"useApifyProxy":false}}' npm start
```

### Current limitations

- `Price` is supported as `minPrice` and `maxPrice` through PropertyScout's native public path format. The actor also keeps a result-side filter as a safety net when listing prices are present in the payload.
- `Low-Rise` is supported as a post-scrape filter based on PropertyScout's own building floor metadata and helper text (`0–9` floors), not through a confirmed public path slug.
- `Great Deals` is currently mapped through PropertyScout's public `hot-price` path.

# Actor input Schema

## `startUrls` (type: `array`):

PropertyScout search or detail URLs. If empty, the actor starts from /en/sales/.

## `mode` (type: `string`):

Which default search pages to crawl when no startUrls or generated filter URLs are provided.

## `transaction` (type: `string`):

Simple transaction selector like the website tabs.

## `propertyType` (type: `string`):

Main property type filter from the website.

## `beds` (type: `string`):

Bedroom filter like the website chips.

## `feature` (type: `string`):

Single quick feature filter like pet-friendly or fully-furnished.

## `lowRise` (type: `boolean`):

Website-style Low-Rise toggle. Filters to listings where the building has 0 to 9 floors, matching PropertyScout's own help text.

## `greatDeals` (type: `boolean`):

Website-style quick toggle for Great Deals. Maps to PropertyScout's hot-price path.

## `furnishing` (type: `string`):

Simple furnishing selector.

## `moreFeatures` (type: `array`):

Optional extra website-style features from the More section or amenities list.

## `areaPath` (type: `string`):

Optional area path like bangkok/asok, phuket/thalang, or chon-buri.

## `projectPath` (type: `string`):

Optional building or project path like bangkok/condo/noble-remix.

## `customSearchPath` (type: `string`):

Optional exact path relative to /en/, such as sales/condo/1-bedroom/pet-friendly.

## `minPrice` (type: `integer`):

Optional minimum price. The actor uses PropertyScout's native public price path, for example /from20000thb/ or /20000thb-40000thb/. For rentals this means monthly rent.

## `maxPrice` (type: `integer`):

Optional maximum price. Combined with Min price into PropertyScout's native public price path. For rentals this means monthly rent.

## `transactions` (type: `array`):

Advanced multi-value override. Usually you should use Buy or rent above.

## `propertyTypes` (type: `array`):

Advanced multi-value override for property type slugs.

## `bedroomFilters` (type: `array`):

Advanced multi-value override for bedroom slugs.

## `featureSlugs` (type: `array`):

Advanced multi-value override for feature slugs.

## `locationPaths` (type: `array`):

Advanced multi-value override for location paths.

## `projectPaths` (type: `array`):

Advanced multi-value override for building or project paths.

## `customSearchPaths` (type: `array`):

Advanced raw path segments relative to /en/.

## `maxPages` (type: `integer`):

Maximum number of search result pages per run.

## `maxItems` (type: `integer`):

Maximum number of listings to save.

## `includeDetails` (type: `boolean`):

Visit each listing detail page for additional fields such as description, canonical URL, images, and coordinates.

## `includeRawData` (type: `boolean`):

Attach the raw listing object from PropertyScout's **NEXT\_DATA**. This can make the dataset much larger.

## `maxConcurrency` (type: `integer`):

Maximum number of pages the Actor can process at the same time.

## `requestDelaySecs` (type: `integer`):

Polite delay before each request.

## `proxyConfiguration` (type: `object`):

Apify proxy configuration. Public pages usually work without proxy, but proxies help at higher volume.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://propertyscout.co.th/en/sales/"
    }
  ],
  "mode": "sales",
  "transaction": "sales",
  "propertyType": "any",
  "beds": "any",
  "feature": "any",
  "lowRise": false,
  "greatDeals": false,
  "furnishing": "any",
  "moreFeatures": [
    "pet-friendly",
    "swimming-pool"
  ],
  "areaPath": "bangkok/asok",
  "transactions": [
    "sales"
  ],
  "propertyTypes": [
    "condo"
  ],
  "bedroomFilters": [
    "studio",
    "1-bedroom"
  ],
  "featureSlugs": [
    "pet-friendly",
    "ready-to-move"
  ],
  "locationPaths": [
    "bangkok/asok"
  ],
  "projectPaths": [
    "bangkok/condo/noble-remix"
  ],
  "customSearchPaths": [
    "sales/condo/1-bedroom/pet-friendly"
  ],
  "maxPages": 3,
  "maxItems": 100,
  "includeDetails": true,
  "includeRawData": false,
  "maxConcurrency": 3,
  "requestDelaySecs": 1,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://propertyscout.co.th/en/sales/"
        }
    ],
    "moreFeatures": [
        "pet-friendly",
        "swimming-pool"
    ],
    "areaPath": "bangkok/asok",
    "transactions": [
        "sales"
    ],
    "propertyTypes": [
        "condo"
    ],
    "bedroomFilters": [
        "studio",
        "1-bedroom"
    ],
    "featureSlugs": [
        "pet-friendly",
        "ready-to-move"
    ],
    "locationPaths": [
        "bangkok/asok"
    ],
    "projectPaths": [
        "bangkok/condo/noble-remix"
    ],
    "customSearchPaths": [
        "sales/condo/1-bedroom/pet-friendly"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("mai_amm/propertyscout-thailand-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://propertyscout.co.th/en/sales/" }],
    "moreFeatures": [
        "pet-friendly",
        "swimming-pool",
    ],
    "areaPath": "bangkok/asok",
    "transactions": ["sales"],
    "propertyTypes": ["condo"],
    "bedroomFilters": [
        "studio",
        "1-bedroom",
    ],
    "featureSlugs": [
        "pet-friendly",
        "ready-to-move",
    ],
    "locationPaths": ["bangkok/asok"],
    "projectPaths": ["bangkok/condo/noble-remix"],
    "customSearchPaths": ["sales/condo/1-bedroom/pet-friendly"],
}

# Run the Actor and wait for it to finish
run = client.actor("mai_amm/propertyscout-thailand-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://propertyscout.co.th/en/sales/"
    }
  ],
  "moreFeatures": [
    "pet-friendly",
    "swimming-pool"
  ],
  "areaPath": "bangkok/asok",
  "transactions": [
    "sales"
  ],
  "propertyTypes": [
    "condo"
  ],
  "bedroomFilters": [
    "studio",
    "1-bedroom"
  ],
  "featureSlugs": [
    "pet-friendly",
    "ready-to-move"
  ],
  "locationPaths": [
    "bangkok/asok"
  ],
  "projectPaths": [
    "bangkok/condo/noble-remix"
  ],
  "customSearchPaths": [
    "sales/condo/1-bedroom/pet-friendly"
  ]
}' |
apify call mai_amm/propertyscout-thailand-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=mai_amm/propertyscout-thailand-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "PropertyScout Thailand Scraper",
        "description": "Scrapes public PropertyScout Thailand search result pages and optionally enriches each listing from its detail page.",
        "version": "0.1",
        "x-build-id": "TndtLtcSZ00OJxCvS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/mai_amm~propertyscout-thailand-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-mai_amm-propertyscout-thailand-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/mai_amm~propertyscout-thailand-scraper/runs": {
            "post": {
                "operationId": "runs-sync-mai_amm-propertyscout-thailand-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/mai_amm~propertyscout-thailand-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-mai_amm-propertyscout-thailand-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "PropertyScout search or detail URLs. If empty, the actor starts from /en/sales/.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "sales",
                            "rentals",
                            "both",
                            "urls"
                        ],
                        "type": "string",
                        "description": "Which default search pages to crawl when no startUrls or generated filter URLs are provided.",
                        "default": "sales"
                    },
                    "transaction": {
                        "title": "Buy or rent",
                        "enum": [
                            "sales",
                            "rentals",
                            "both",
                            "any"
                        ],
                        "type": "string",
                        "description": "Simple transaction selector like the website tabs.",
                        "default": "sales"
                    },
                    "propertyType": {
                        "title": "Property type",
                        "enum": [
                            "any",
                            "condo",
                            "apartment",
                            "serviced-apartment",
                            "detached-house",
                            "townhouse",
                            "penthouse",
                            "villa",
                            "duplex",
                            "land"
                        ],
                        "type": "string",
                        "description": "Main property type filter from the website.",
                        "default": "any"
                    },
                    "beds": {
                        "title": "Beds",
                        "enum": [
                            "any",
                            "studio",
                            "1-bedroom",
                            "2-bedrooms",
                            "3-bedrooms",
                            "4-bedrooms",
                            "5plus-bedrooms"
                        ],
                        "type": "string",
                        "description": "Bedroom filter like the website chips.",
                        "default": "any"
                    },
                    "feature": {
                        "title": "Feature",
                        "enum": [
                            "any",
                            "pet-friendly",
                            "ready-to-move",
                            "fully-furnished",
                            "kitchen",
                            "balcony",
                            "swimming-pool",
                            "playground",
                            "gym",
                            "walk-in-wardrobe",
                            "laundry-room",
                            "air-conditioning",
                            "maid-room",
                            "hot-price"
                        ],
                        "type": "string",
                        "description": "Single quick feature filter like pet-friendly or fully-furnished.",
                        "default": "any"
                    },
                    "lowRise": {
                        "title": "Low-Rise",
                        "type": "boolean",
                        "description": "Website-style Low-Rise toggle. Filters to listings where the building has 0 to 9 floors, matching PropertyScout's own help text.",
                        "default": false
                    },
                    "greatDeals": {
                        "title": "Great Deals",
                        "type": "boolean",
                        "description": "Website-style quick toggle for Great Deals. Maps to PropertyScout's hot-price path.",
                        "default": false
                    },
                    "furnishing": {
                        "title": "Furnishing",
                        "enum": [
                            "any",
                            "fully-furnished",
                            "partially-furnished",
                            "unfurnished"
                        ],
                        "type": "string",
                        "description": "Simple furnishing selector.",
                        "default": "any"
                    },
                    "moreFeatures": {
                        "title": "More features",
                        "type": "array",
                        "description": "Optional extra website-style features from the More section or amenities list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "areaPath": {
                        "title": "Area or market",
                        "type": "string",
                        "description": "Optional area path like bangkok/asok, phuket/thalang, or chon-buri."
                    },
                    "projectPath": {
                        "title": "Project path",
                        "type": "string",
                        "description": "Optional building or project path like bangkok/condo/noble-remix."
                    },
                    "customSearchPath": {
                        "title": "Exact custom path",
                        "type": "string",
                        "description": "Optional exact path relative to /en/, such as sales/condo/1-bedroom/pet-friendly."
                    },
                    "minPrice": {
                        "title": "Min price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional minimum price. The actor uses PropertyScout's native public price path, for example /from20000thb/ or /20000thb-40000thb/. For rentals this means monthly rent."
                    },
                    "maxPrice": {
                        "title": "Max price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional maximum price. Combined with Min price into PropertyScout's native public price path. For rentals this means monthly rent."
                    },
                    "transactions": {
                        "title": "Advanced transactions",
                        "type": "array",
                        "description": "Advanced multi-value override. Usually you should use Buy or rent above.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "propertyTypes": {
                        "title": "Advanced property types",
                        "type": "array",
                        "description": "Advanced multi-value override for property type slugs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "bedroomFilters": {
                        "title": "Advanced bedroom filters",
                        "type": "array",
                        "description": "Advanced multi-value override for bedroom slugs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "featureSlugs": {
                        "title": "Advanced feature slugs",
                        "type": "array",
                        "description": "Advanced multi-value override for feature slugs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "locationPaths": {
                        "title": "Advanced location paths",
                        "type": "array",
                        "description": "Advanced multi-value override for location paths.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "projectPaths": {
                        "title": "Advanced project paths",
                        "type": "array",
                        "description": "Advanced multi-value override for building or project paths.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "customSearchPaths": {
                        "title": "Advanced custom search paths",
                        "type": "array",
                        "description": "Advanced raw path segments relative to /en/.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxPages": {
                        "title": "Maximum search pages",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of search result pages per run.",
                        "default": 3
                    },
                    "maxItems": {
                        "title": "Maximum listings",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of listings to save.",
                        "default": 100
                    },
                    "includeDetails": {
                        "title": "Include detail pages",
                        "type": "boolean",
                        "description": "Visit each listing detail page for additional fields such as description, canonical URL, images, and coordinates.",
                        "default": true
                    },
                    "includeRawData": {
                        "title": "Include raw listing data",
                        "type": "boolean",
                        "description": "Attach the raw listing object from PropertyScout's __NEXT_DATA__. This can make the dataset much larger.",
                        "default": false
                    },
                    "maxConcurrency": {
                        "title": "Maximum concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of pages the Actor can process at the same time.",
                        "default": 3
                    },
                    "requestDelaySecs": {
                        "title": "Delay between requests",
                        "minimum": 0,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Polite delay before each request.",
                        "default": 1
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy configuration. Public pages usually work without proxy, but proxies help at higher volume.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
