PropertyScout Thailand Scraper
Pricing
from $1.00 / 1,000 results
PropertyScout Thailand Scraper
Scrapes public PropertyScout Thailand search result pages and optionally enriches each listing from its detail page.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
wiseld_squid
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
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
{"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
{"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
npm installINPUT='{"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
Priceis supported asminPriceandmaxPricethrough 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-Riseis supported as a post-scrape filter based on PropertyScout's own building floor metadata and helper text (0–9floors), not through a confirmed public path slug.Great Dealsis currently mapped through PropertyScout's publichot-pricepath.