PropertyScout Thailand Scraper avatar

PropertyScout Thailand Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
PropertyScout Thailand Scraper

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

wiseld_squid

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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

FieldDescriptionDefault
startUrlsSearch or property detail URLs to scrape./en/sales/
modeDefault search type when no start URLs or generated filter URLs are provided: sales, rentals, both, or urls.sales
transactionSimple website-style selector: buy, rent, both, or blank.sales
propertyTypeSimple property type selector such as condo, apartment, townhouse, or villa.any
bedsSimple bedroom selector such as studio, 1-bedroom, or 5plus-bedrooms.any
featureSimple feature selector such as pet-friendly, ready-to-move, fully-furnished, gym, or kitchen.any
lowRiseWebsite-style Low-Rise toggle. Filters to buildings with 0–9 floors, matching PropertyScout's own helper text.false
greatDealsWebsite-style Great Deals toggle. Internally mapped to hot-price.false
furnishingSimple furnishing selector.any
moreFeaturesExtra website-style feature slugs such as pet-friendly, swimming-pool, gym, walk-in-wardrobe, laundry-room, kitchen, or balcony.Empty
areaPathOptional area or market path such as bangkok/asok or phuket/thalang.Empty
projectPathOptional building or project path such as bangkok/condo/noble-remix.Empty
customSearchPathOptional exact path relative to /en/ for one precise filter combination.Empty
minPrice / maxPriceOptional 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
maxPagesMaximum search result pages to visit.3
maxItemsMaximum listings to save.100
includeDetailsOpen each listing detail page for richer data.true
includeRawDataInclude raw data from PropertyScout's Next.js state.false
maxConcurrencyNumber of pages processed at the same time.3
requestDelaySecsDelay before each request.1
proxyConfigurationApify 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 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.