# Dot Property Scraper | TH PH MY VN Listings (`lentic_clockss/dot-property-th-scraper`) Actor

Scrape Dot Property Thailand, Philippines, Malaysia & Vietnam — condos, houses, land, offices for sale or rent. Extract prices, beds, area, features & images. Dot Property API alternative.

- **URL**: https://apify.com/lentic\_clockss/dot-property-th-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Dot Property Scraper — Thailand, Philippines, Malaysia & Vietnam

**Scrape Dot Property sale and rent listings across Southeast Asia — then download structured real estate data as Excel, CSV, or JSON.**

This Actor is a practical **Dot Property API alternative** for market research, investor screening, rental comps, and lead lists. Choose a market (`TH` / `PH` / `MY` / `VN`), pick property types (condos, houses, land, offices, and more), or paste Dot Property search/listing URLs — and get listing rows with prices, beds, baths, area, features, images, and canonical URLs.

- Pull **homes for sale** and **properties for rent** from [Dot Property Thailand](https://www.dotproperty.co.th), [Philippines](https://www.dotproperty.com.ph), [Malaysia](https://www.dotproperty.com.my), and [Vietnam](https://www.dotproperty.com.vn)
- Cover **residential + commercial** categories (condos, houses, villas, land, offices, shophouse, warehouses, hotels, retail)
- Enrich search cards with **detail-page fields** when `scrapeDetails` is on
- Export to **Excel / CSV / JSON**, or connect Make, n8n, Zapier, Python, or MCP
- **Pay per event** — Actor start + each Dataset listing; no subscription

***

### What does the Dot Property Scraper do?

It turns a Dot Property city or category search into a clean Apify Dataset of property listings.

Under the hood, the Actor:

1. Builds Dot Property search URLs for your market, channel (`BUY` / `RENT`), location, and category — or uses your `startUrls`
2. Collects listing cards from the search results page (Next.js **RSC Flight** on Thailand; **DOM** cards on PH / MY / VN)
3. Optionally opens detail pages to enrich each row with description, features, and gallery images
4. Writes normalized records you can download or push into automations

Residential proxy is required (prefilled by market country). Fetching uses **curl\_cffi** TLS impersonation — no full browser needed for these hosts.

***

### What data can you extract from Dot Property?

| Data point | Thailand (TH) | PH / MY / VN |
| --- | :---: | :---: |
| Listing ID & URL | ✅ | ✅ |
| Title / project | ✅ | ✅ |
| List price or rent | ✅ | ✅ |
| Currency (`THB` / `PHP` / `MYR` / `VND`) | ✅ | ✅ |
| Beds / baths / indoor area | ✅ | ✅ when shown |
| Property type & category | ✅ | ✅ |
| Location / address | ✅ | ✅ |
| GPS coordinates | ✅ (RSC) | — |
| Features & amenities | ✅ with details | ✅ with details |
| Photo gallery | ✅ | ✅ |
| Channel (`BUY` / `RENT`) | ✅ | ✅ |

Every Dataset row also includes `scrapedAt` and `source` = `dotproperty`. A `RUN_SUMMARY` / `OUTPUT` record in the key-value store reports counts and warnings.

***

### What you can do with it

#### 1. Scrape Bangkok condos for sale

Set `market` to `TH`, `channel` to `BUY`, `propertyType` to `condos`, and `location` to `bangkok`. Get structured rows with price, beds, area, project name, and a direct listing URL — ready for comps or investor shortlists.

#### 2. Scrape Metro Manila houses for rent

Set `market` to `PH`, `channel` to `RENT`, `propertyType` to `houses`, and `location` to `metro-manila`. Rows include rent amount, property type, and detail enrichment when `scrapeDetails` is enabled.

#### 3. Cover Malaysia and Vietnam markets

Use `market: "MY"` with `kuala-lumpur`, or `market: "VN"` with an empty location for national search. Match residential proxy country to `MY` or `VN`.

#### 4. Scrape offices and commercial inventory

Set `propertyType` to `offices`, `commercial-property`, `shophouse`, `warehouses`, `hotels`, or `retail-spaces` across active markets.

#### 5. Enrich known Dot Property listing URLs

Paste search or detail URLs into **Start URLs** to drive the run from specific pages instead of building the query from market/location fields.

#### 6. Feed real estate data into automations

Schedule the Actor and send the Dataset to Sheets, Slack, CRM, Make, n8n, Zapier, or an AI agent via Apify MCP / API.

***

### More Actors like this

Looking for another **property portal**, or a scraper outside real estate? Use a specialized Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for **Dot Property Thailand** sale / rent listings and related search pages.

#### Similar real estate Actors

- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)

#### Prefer another specialized scraper?

**Jobs & Freelance**

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)

**E-commerce**

- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)

**Travel & Stays**

- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

**Social & Content**

- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

**General Tools**

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic\_clockss](https://apify.com/lentic_clockss).

***

### How to scrape Dot Property (no code required)

1. Click **Try for free**
2. Choose a **market** (`TH` / `PH` / `MY` / `VN`)
3. Set **channel** to For sale (`BUY`) or For rent (`RENT`)
4. Pick a **property type** (or paste **Start URLs**)
5. Optionally set location slug, max listings, and detail enrichment
6. Keep **Apify RESIDENTIAL** proxy enabled (country matched to market)
7. Click **Start** — open the **Dataset** tab when the run finishes

Start with `maxItems: 5–10` to verify the market, then scale up.

#### Free Apify plan limits (set by this Actor's developer)

| Limit | Free Apify plan | Paid Apify plan |
| --- | --- | --- |
| Runs of this Actor | **10 runs total** | Unlimited |
| Results per run | **Up to 1,000** | Up to schema max (2,000) |

When the run cap is hit, the run finishes with a clear status message — not an Apify platform error.

> **Worker URL is config, not code:** the Actor reads `WORKER_BASE_URL` from Actor environment variables (plus optional per-run `workerBaseUrl`). If you migrate the worker to a new host, update `WORKER_BASE_URL` (and `WORKER_AUTH` if the API key changes) in Apify Console — no Actor code change required. Set `WORKER_PROVIDES_PROXY=1` when the worker supplies its own `PROXY_URL` instead of Apify RESIDENTIAL.

<details>
<summary>For developers: minimal input</summary>

```json
{
  "market": "TH",
  "location": "bangkok",
  "channel": "BUY",
  "propertyType": "condos",
  "maxItems": 10,
  "maxPages": 1,
  "scrapeDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "TH"
  }
}
```

</details>

#### Markets covered

| Code | Site | Parse | Typical proxy |
| --- | --- | --- | --- |
| `TH` | [dotproperty.co.th](https://www.dotproperty.co.th) | Next.js RSC Flight | RESIDENTIAL + TH |
| `PH` | [dotproperty.com.ph](https://www.dotproperty.com.ph) | DOM listing cards | RESIDENTIAL + PH |
| `MY` | [dotproperty.com.my](https://www.dotproperty.com.my) | DOM listing cards | RESIDENTIAL + MY |
| `VN` | [dotproperty.com.vn](https://www.dotproperty.com.vn) | DOM listing cards | RESIDENTIAL + VN |

Not scraped this release (suspended / blocked / unresolved): Singapore, Hong Kong, Laos, Indonesia, Cambodia, Myanmar country hosts.

#### Property categories

| Category slug | Sale | Rent |
| --- | :---: | :---: |
| `properties` (all types) | ✅ | ✅ |
| `condos` | ✅ | ✅ |
| `houses` | ✅ | ✅ |
| `apartments` | ✅ | ✅ |
| `townhouses` | ✅ | ✅ |
| `villas` | ✅ | ✅ |
| `land` | ✅ | — |
| `serviced-apartments` | — | ✅ |
| `commercial-property` | ✅ | ✅ |
| `offices` | ✅ | ✅ |
| `shophouse` | ✅ | ✅ |
| `warehouses` | ✅ | ✅ |
| `hotels` | ✅ | ✅ |
| `retail-spaces` | ✅ | ✅ |

- `propertyType` — single category
- `propertyTypes` — multi-select; overrides `propertyType` when non-empty
- `all` expands primary categories available for the selected channel

#### Supported URL patterns

- Thailand SRP: `/en/{category}-for-{sale|rent}/{location}` e.g. `/en/condos-for-sale/bangkok`
- Thailand LDP: `/en/ads/<slug>_<uuid>`
- PH / MY / VN SRP: `/{category}-for-{sale|rent}/{location?}`
- PH / MY / VN LDP: `/ads/<slug>_<id>` or `/<slug>_<numericId>`
- Pagination: `?page=2` on all markets

***

### Pricing — how much does it cost to scrape Dot Property?

**Pay per event. No subscription.**

| Event | Price | When charged |
| --- | ---: | --- |
| `apify-actor-start` | **$0.005** | When a normal run starts (scaled by allocated memory GB) |
| `apify-default-dataset-item` (`result`) | **$2.50 / 1,000** ($0.0025 each) | Each listing written to the default Dataset |

**User pays platform usage costs: Yes** — compute, residential proxy, and other platform usage are billed to the user in addition to event charges.

**Example product charges (events only):**

| Scenario | Approx. event charge |
| --- | ---: |
| Canary: 10 listings | $0.005 + 10 × $0.0025 = **$0.030** |
| City scan: 100 listings | $0.005 + $0.25 = **$0.255** |
| 1,000 listings | $0.005 + $2.50 = **$2.505** |

Platform usage (especially residential proxy) is separate and depends on run duration and memory.

You are only charged **result** events for rows successfully written to the Dataset. Failed runs that emit zero listings do not incur result charges (Actor Start may still apply).

**Standby / Live View:** readiness endpoints do not scrape Dot Property. Keeping Standby enabled may incur platform compute while the standby container is warm — separate from PPE event charges.

***

### Input

| Field | Description |
| --- | --- |
| `startUrls` | Dot Property TH / PH / MY / VN search or listing URLs |
| `market` / `markets` | `TH`, `PH`, `MY`, `VN`, or `all` |
| `location` | Place slug (optional; market default when empty) |
| `channel` | `BUY` or `RENT` |
| `propertyType` / `propertyTypes` | Category or multi-select (`all` expands primary cats) |
| `maxItems` / `maxPages` | Caps (fair-shared across markets/categories) |
| `scrapeDetails` | Enrich each card from the listing detail page |
| `useBrowserFallback` | On CF blocks, retry with enhanced HTTP (+ Camoufox if installed) |
| `locale` | TH path prefix `en` / `th` (optional) |
| `requestDelayMillis` | Delay between HTTP requests |
| `proxyConfiguration` | Apify RESIDENTIAL recommended; country matched to market |

Open the **Input** tab in Console for the full form and tooltips.

***

### Output example

You can download the Dataset as **JSON, CSV, Excel, or HTML**.

```json
{
  "id": 5782686,
  "uuid": "173a55538680-4930-8382-0b50-88be0089",
  "url": "https://www.dotproperty.co.th/en/ads/1-bedroom-condo-for-sale-in-modiz-sukhumvit-50-phra-khanong-bangkok_173a55538680-4930-8382-0b50-88be0089",
  "source": "dotproperty",
  "market": "TH",
  "category": "condos",
  "channel": "BUY",
  "title": "1 Bedroom Condo for sale at Modiz Sukhumvit 50",
  "price": "฿2,700,000",
  "priceAmount": 2700000,
  "currency": "THB",
  "numBedrooms": "1",
  "propertyType": "Condo",
  "indoorArea": "24 SqM",
  "sourceLayer": "rsc_srp+ldp",
  "scrapedAt": "2026-07-19T00:29:20.000000+00:00"
}
```

Core fields include `id`, `url`, `market`, `channel`, `category`, `title`, `price` / `priceAmount` / `currency`, size and rooms when shown, plus detail extras such as features, description, and image galleries when `scrapeDetails` is on.

***

### Live View endpoints

When Standby / Live View is enabled, the Actor exposes a small OpenAPI surface for readiness and discovery:

| Endpoint | Purpose |
| --- | --- |
| `GET /` | Readiness / service info |
| `GET /health` | Health check |
| `GET /input-example` | Low-cost example input |
| `GET /openapi.json` | Deployed OpenAPI document |

Scraping still runs through a **normal Actor run** — Live View does not scrape Dot Property by itself.

***

### Connect from code

Actor ID: `lentic_clockss/dot-property-th-scraper`

```python
from apify_client import ApifyClient

client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("lentic_clockss/dot-property-th-scraper").call(
    run_input={
        "market": "TH",
        "location": "bangkok",
        "channel": "BUY",
        "propertyType": "condos",
        "maxItems": 10,
        "proxyConfiguration": {
            "useApifyProxy": True,
            "apifyProxyGroups": ["RESIDENTIAL"],
            "apifyProxyCountry": "TH",
        },
    }
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item.get("title"), item.get("priceAmount"), item.get("url"))
```

Use the same Actor ID in Make, n8n, Zapier, or Apify MCP for AI-agent workflows.

***

### FAQ

#### Why did my free-plan run stop with a limit message?

Free Apify plan users can run this Actor up to **10 times**, with up to **1,000 results per run**. These caps are set by the **Actor developer, not Apify**. Upgrade to a paid Apify plan for unlimited runs (schema `maxItems` still applies, up to 2,000).

#### Is there a free Dot Property API?

Dot Property does not offer a simple public listing API for bulk export. This Actor gives you structured sale and rent data through Apify runs, Dataset exports, and integrations.

#### Can I scrape multiple Southeast Asia markets?

Yes. Set `market` to `all`, or pass `markets: ["TH", "PH", "MY", "VN"]`. Caps are fair-shared across markets and categories.

#### How do I scrape Dot Property Thailand condos for sale?

Set `market` to `TH`, `channel` to `BUY`, `propertyType` to `condos`, and `location` to `bangkok` (or another Thai city slug). Keep **RESIDENTIAL + TH** proxy enabled.

#### How do I scrape Philippines, Malaysia, or Vietnam?

Use `PH` + `metro-manila`, `MY` + `kuala-lumpur`, or `VN` with empty location for national search. Match `apifyProxyCountry` to the market.

#### Why is a residential proxy required?

Dot Property sits behind Cloudflare. Apify RESIDENTIAL with a country matched to the market is required for reliable runs. For multi-market runs, **omit** `apifyProxyCountry` so each market gets its own exit (TH/PH/MY/VN).

#### What is the Actor ID / slug?

The Apify Actor name remains `lentic_clockss/dot-property-th-scraper` for continuity (original Thailand release). The product scrapes **TH / PH / MY / VN**.

#### Can I schedule daily Dot Property scrapes?

Yes. Create an Apify schedule with the same input and send the Dataset to Sheets, Slack, a CRM, or your pipeline.

#### Is it legal to scrape Dot Property?

Use this Actor for legitimate research and analysis only. Respect Dot Property terms of use and applicable law in Thailand, Philippines, Malaysia, Vietnam, and your jurisdiction. Results may include publicly displayed listing information; do not use personal data without a lawful basis. Favorite / enquiry / phone controls are **not clicked**.

***

### Related Actors

All **77** public Actors from \[[lentic\_clockss](https://apify.com/lentic_clockss)]. Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

# Actor input Schema

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

Dot Property search (SRP) or listing detail (LDP) URLs for TH/PH/MY/VN. Search URLs override market/location/category when provided.

## `market` (type: `string`):

Primary country market. Use all for TH+PH+MY+VN. Ignored when markets is set.

## `markets` (type: `array`):

Optional multi-select of markets. Overrides market when non-empty.

## `location` (type: `string`):

Place slug (bangkok, metro-manila, kuala-lumpur). Leave empty to use each market default (VN defaults to national).

## `channel` (type: `string`):

BUY (for sale) or RENT (for rent).

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

Single category. Use all to expand primary residential + commercial types for the channel.

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

Optional multi-select categories. Overrides propertyType when non-empty. all expands primary types.

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

Maximum property records to save (1–2,000; fair-split across markets/categories). Free Apify plan users: capped at 1,000/run and limited to 10 total runs of this Actor (Actor developer policy).

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

Maximum SRP pages per search URL (~25–30 listings per page).

## `scrapeDetails` (type: `boolean`):

Fetch each listing LDP (RSC unitDetail on TH; DOM on PH/MY/VN).

## `useBrowserFallback` (type: `boolean`):

On Cloudflare blocks, retry with enhanced HTTP and Camoufox if installed. Default off (curl\_cffi only).

## `locale` (type: `string`):

Optional URL locale (mainly TH: en/th). Leave empty for market default.

## `requestDelayMillis` (type: `integer`):

Politeness delay between HTTP requests.

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

Max concurrent HTTP fetches for detail pages.

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

Apify Proxy recommended when the Actor mints RESIDENTIAL. Ignored when Actor env WORKER\_PROVIDES\_PROXY=1 (worker supplies PROXY\_URL). Leave apifyProxyCountry empty so each market (TH/PH/MY/VN) uses its own residential exit.

## `workerBaseUrl` (type: `string`):

Optional per-run override of the Cloud Run worker origin. Production runs should leave this empty and use Actor env WORKER\_BASE\_URL.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.dotproperty.co.th/en/condos-for-sale/bangkok"
    }
  ],
  "market": "TH",
  "markets": [],
  "location": "bangkok",
  "channel": "BUY",
  "propertyType": "properties",
  "propertyTypes": [],
  "maxItems": 25,
  "maxPages": 1,
  "scrapeDetails": true,
  "useBrowserFallback": false,
  "locale": "",
  "requestDelayMillis": 800,
  "maxConcurrency": 2,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

Normalized Dot Property listing records from SRP and optional LDP enrichment.

## `runSummary` (type: `string`):

Counts, engine, markets, and timestamps for the run.

# 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://www.dotproperty.co.th/en/condos-for-sale/bangkok"
        }
    ],
    "location": "bangkok"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/dot-property-th-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://www.dotproperty.co.th/en/condos-for-sale/bangkok" }],
    "location": "bangkok",
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/dot-property-th-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://www.dotproperty.co.th/en/condos-for-sale/bangkok"
    }
  ],
  "location": "bangkok"
}' |
apify call lentic_clockss/dot-property-th-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/B8Hb35yVCKubc3XeH/builds/nWqEaBkZ3nbsuddud/openapi.json
