FazWaz Thailand Property Scraper — Sale & Rent avatar

FazWaz Thailand Property Scraper — Sale & Rent

Pricing

from $2.50 / 1,000 overview listings

Go to Apify Store
FazWaz Thailand Property Scraper — Sale & Rent

FazWaz Thailand Property Scraper — Sale & Rent

Scrape FazWaz Thailand sale and rental properties with THB prices, rooms, locations, projects, rental yield, ownership, photos, GPS and public agent data.

Pricing

from $2.50 / 1,000 overview listings

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

7

Monthly active users

4 days ago

Last modified

Share

🇹🇭 FazWaz Thailand Property Scraper — Sale & Rent Listings, Prices, GPS & Investment Data

Extract structured real-estate listings from FazWaz — Thailand's largest international property marketplace — in minutes. This FazWaz scraper turns public sale and rental pages for Bangkok, Phuket, Pattaya, Chiang Mai, Koh Samui, Hua Hin, Krabi and anywhere in Thailand into clean, analysis-ready rows with normalized THB prices, bedrooms, bathrooms, indoor and land area, project facts, rental yield, ownership, GPS coordinates and public FazWaz agent details. No login, no cookies, no coding, and no external API account — just pick a location, choose sale or rent, and scrape FazWaz at scale.

Export every result to JSON, CSV, Excel, or API.

Built for property investors, buyer's agents, relocation consultants, PropTech teams, market analysts, mortgage and valuation firms, and data scientists who need reliable, up-to-date FazWaz data instead of copy-pasting listings by hand.


🔎 Why scrape FazWaz?

FazWaz aggregates hundreds of thousands of condos, villas, houses, townhouses, land plots and commercial units for sale and rent across Thailand, complete with asking prices, project information, estimated rental returns and agent contacts. It is one of the richest single sources of Thai property-market intelligence, covering primary developer stock and resale inventory in every major city and resort destination.

That richness is exactly why manual collection is painful. Listings change daily, prices get reduced, new projects launch, and the investment figures (estimated rent, yield, CAM fees) are buried inside each card and detail page. Copying a few hundred properties into a spreadsheet by hand is slow, error-prone and impossible to keep current. A FazWaz scraper automates the whole job: it walks the search results, follows pagination, opens each property for its full record, de-duplicates by listing ID, and hands you a tidy FazWaz data export you can refresh on a schedule.

Common reasons people scrape FazWaz:

  • 📊 Build a Thailand property price database and track price-per-square-meter across neighborhoods and projects.
  • 🏘️ Monitor new inventory and price reductions for specific areas, projects or developers.
  • 💸 Screen investment opportunities using estimated rent, rental yield, CAM fees and ownership type.
  • 🧭 Assemble buyer and relocation shortlists with photos, GPS and project details for client review.
  • 🤝 Collect public FazWaz agent and office contact details for partnership and lead-generation outreach.
  • 🗺️ Feed normalized FazWaz data into dashboards, CRMs, mapping tools, valuation models and AI apps.
  • 🏗️ Compare off-plan vs completed stock, completion dates, project units and amenities side by side.

✨ What this FazWaz scraper does

  • ✅ Three ways to target data — pick popular Thailand locations from a dropdown, paste any FazWaz search URL (with your own on-site filters applied), or feed exact listing URLs for bulk detail extraction.
  • ✅ Automatic pagination — the actor advances through FazWaz result pages (~30 listings per page) and collects hundreds to thousands of de-duplicated listings, bounded by your maxResults and maxPagesPerSearch limits.
  • ✅ Sale, rent, or both — scrape the for-sale market, the rental market, or run all to capture both in one go.
  • ✅ Overview or full-detail mode — a fast card scan for high-volume price snapshots, or deep enrichment that visits every property page for the complete record.
  • ✅ Rich captured fields, including:
    • 💰 Pricing — source price and currency, normalized priceThb, originalPrice/originalPriceThb (reductions), and pricePerSqm/pricePerSqmThb.
    • 🏠 Property — operation (sale/rent), propertyType, bedrooms, bathrooms, indoorAreaSqm, landAreaSqm, floor and views.
    • 📍 Location — full address plus a clean subdistrict / district / province breakdown and precise latitude/longitude.
    • 🏗️ Project — projectName, developer, completion, yearBuilt and projectUnits.
    • 📈 Investor signals — estimatedRent, rentalYield, camFee and updatedText.
    • 🛋️ Details — furnishing, ownership, landOwnership, propertyDescription, features and projectAmenities.
    • 🖼️ Media — preview photos in overview mode and the complete gallery in detail mode.
    • 📞 Contact & source — public listedBy (e.g. private owner or agency), agentName, agentPhone, agentEmail when displayed, plus listingId, url and scrapedAt.
  • ✅ On-dataset filters — narrow results by property type, THB price range, minimum bedrooms/bathrooms and indoor-area range, then sort by price, area, bedrooms, rental yield or last updated.
  • ✅ De-duplication — one dataset row equals one unique FazWaz listing, keyed on its stable listingId.
  • ✅ Fast and reliable — direct HTTP extraction (no heavy browser), with automatic retries and optional proxy rotation on temporary access and server errors.
  • ✅ Export anywhere — download as JSON, CSV, Excel or XML, or pull results straight from the Apify API.

Only publicly displayed property and business-contact information is collected. The actor does not infer hidden or private data.


🎯 Use cases

  • Property investors — rank condos and villas by rental yield, CAM fee and price-per-m² to shortlist high-return assets.
  • Buyer's & relocation agents — export filtered sale or rental options with photos, GPS and project facts for client review.
  • PropTech & portals — power listing feeds, recommendation engines and valuation models with normalized FazWaz data.
  • Market analysts & appraisers — build comparable-property datasets and track asking-price trends across Thai cities.
  • Developers & sales teams — benchmark competing projects by completion date, units, amenities and pricing.
  • Mortgage & valuation firms — gather consistent area, price and ownership data for underwriting and AVMs.
  • Lead-generation teams — collect public FazWaz office/agent names, phones and emails for outreach.
  • Data scientists & researchers — study Thailand's real-estate market, rental yields and geographic price distribution.

📥 Input

Configure the actor from the Apify Console form or pass a JSON input via the FazWaz API. Everything is optional — the prefilled Bangkok example runs immediately.

FieldTypeDescription
locationsarrayPopular Thailand locations: Bangkok, Phuket, Pattaya, Chiang Mai, Koh Samui, Hua Hin, Krabi, Chon Buri.
customLocationsarrayAdditional FazWaz location slugs, one per line (for areas not in the dropdown).
operationstringsale, rent, or all (both markets).
propertyTypesarrayFilter by Condo, Villa, House, Townhouse, Apartment, Penthouse, Land, Commercial, Hotel, Office, Warehouse. Empty = all types.
startUrlsarrayPaste FazWaz search pages (with your on-site filters) or exact property URLs.
listingUrlsarrayBulk list of exact FazWaz property URLs for detail-only extraction.
maxResultsintegerMaximum unique listings to save. Use 0 for no limit. Default 200.
maxPagesPerSearchintegerPagination depth per search (~30 listings/page). Default 10, max 500.
includeDetailsbooleanVisit each property for full description, gallery, ownership, GPS and agent data. Default true.
minPriceThb / maxPriceThbintegerOptional THB price range. 0 = unbounded.
minBedrooms / minBathroomsintegerOptional minimum room counts. 0 = no minimum.
minAreaSqm / maxAreaSqmintegerOptional indoor-area range in m². 0 = unbounded.
sortBystringOrder the dataset by recommended, price, area, bedrooms, rentalYield or updated.
sortDirectionstringdesc or asc.
maxConcurrencyintegerParallel detail requests. Default 8.
proxyConfigurationobjectOptional Apify Proxy; direct requests are attempted first.

Any FazWaz filter not represented here can be applied on the website — just copy the resulting search URL into startUrls.

Example input

{
"locations": ["bangkok", "phuket"],
"operation": "sale",
"propertyTypes": ["Condo", "Villa"],
"minBedrooms": 2,
"maxPriceThb": 15000000,
"maxResults": 500,
"maxPagesPerSearch": 20,
"includeDetails": true,
"sortBy": "rentalYield",
"sortDirection": "desc"
}

📤 Output

Every listing becomes one clean JSON object, keyed and de-duplicated on its stable listingId. Fields are omitted when FazWaz does not publish them for a property, so your rows stay compact. Below is a real detail-mode record from a fresh Bangkok run:

{
"listingId": "U6657167",
"url": "https://www.fazwaz.com/property-sales/1-bedroom-condo-for-sale-at-c-ekkamai-in-khlong-tan-nuea-bangkok-u6657167",
"propertyTitle": "1 Bedroom Condo",
"operation": "sale",
"propertyType": "Condo",
"projectName": "C Ekkamai",
"developer": "The Choice Property Development",
"price": 3980140,
"currency": "THB",
"priceThb": 3980140,
"originalPriceThb": 5565450,
"pricePerSqmThb": 102944,
"bedrooms": 1,
"bathrooms": 1,
"indoorAreaSqm": 38.79,
"address": "Khlong Tan Nuea, Watthana, Bangkok",
"subdistrict": "Khlong Tan Nuea",
"district": "Watthana",
"province": "Bangkok",
"latitude": 13.740239,
"longitude": 100.589765,
"furnishing": "Fully Furnished",
"ownership": "Thai Quota",
"yearBuilt": 2018,
"floor": "40",
"views": ["City View", "Unblocked Open View"],
"features": ["Covered Parking", "Duplex", "Balcony"],
"projectAmenities": ["Hotel Managed", "On Site Restaurant", "Communal Pool"],
"projectUnits": 736,
"estimatedRent": 17540,
"rentalYield": 5,
"camFee": 2125,
"updatedText": "5 days ago",
"listedBy": "Private Owner",
"agentName": "FazWaz Bangkok",
"agentPhone": "+66 (0) 2 026 8323",
"photos": ["https://cdn.fazwaz.com/wbr/.../unit/6657167/image.png"],
"scrapedAt": "2026-11-02T00:06:11.251Z"
}

Field reference

FieldDescription
listingIdStable FazWaz listing identifier (used for de-duplication).
urlCanonical property page URL.
propertyTitleListing headline.
operationsale or rent.
propertyTypeCondo, Villa, House, Townhouse, Land, etc.
projectNameDevelopment / building name.
price / currencySource asking price and the currency FazWaz served it in.
priceThbPrice normalized to Thai Baht via a live exchange rate (always comparable).
originalPrice / originalPriceThbPre-reduction price when a discount is shown.
pricePerSqm / pricePerSqmThbPrice per square meter.
bedrooms / bathroomsRoom counts (bedrooms omitted for studios).
indoorAreaSqm / landAreaSqmIndoor area and, for houses/land, plot size in m².
addressFull location string as shown on FazWaz.
subdistrict / district / provinceLocation breakdown parsed from the address (province = e.g. Bangkok, Phuket).
latitude / longitudeGPS coordinates (detail mode).
furnishingFurnishing status (e.g. Fully Furnished, Unfurnished).
ownership / landOwnershipOwnership type (e.g. Freehold, Foreign Quota, Thai Quota, Leasehold).
floor / viewsFloor level and view tags.
yearBuilt / completion / developer / projectUnitsProject facts.
features / projectAmenitiesUnit features and project amenities.
estimatedRent / rentalYield / camFeeInvestor signals (present when FazWaz shows them).
updatedTextHuman-readable "last updated" label (e.g. "5 days ago").
listedByWho published the listing (e.g. Private Owner, Developer, agency) — detail mode.
agentName / agentPhone / agentEmailPublic FazWaz office/agent contact when displayed.
photosImage URLs (full gallery in detail mode, preview in overview).
scrapedAtISO timestamp of extraction.

On data quality: in a fresh 500-listing Bangkok verification run, core fields (listingId, url, propertyTitle, operation, propertyType, priceThb, bathrooms, indoorAreaSqm, address) populated at 100%, with province, GPS, agentName/agentPhone, projectName/developer, furnishing and ownership also near-100% in detail mode. Investor signals (rentalYield, estimatedRent, camFee) and originalPrice populate at ~85–94% (only when FazWaz shows them). landAreaSqm/landOwnership populate for houses and land (data-dependent). A SUMMARY record and an ERRORS list are also saved to the run's key-value store.

About currency: FazWaz displays prices in the currency it infers from the visitor, so the source currency may be USD, EUR, THB and so on. The actor preserves the source price/currency and always computes priceThb with a single live exchange-rate lookup per currency, so you get a consistent Thai-Baht figure for comparison every time.


🔁 Pagination & scale

The FazWaz scraper paginates automatically. For each location or search URL it increments the page parameter (FazWaz returns roughly 30 listings per page), collecting new listings until it hits the end of results, your maxPagesPerSearch depth, or your maxResults cap. Every listing is de-duplicated by listingId, so merging several locations or search URLs never produces duplicate rows — a recent 4-city run returned 500 unique listings with zero duplicates and zero request errors.

This means you can comfortably pull hundreds to thousands of unique Thai property listings in a single run. Set maxResults: 0 and a high maxPagesPerSearch to harvest an entire market, or keep both low for a fast snapshot. In detail mode the actor fetches property pages in parallel (controlled by maxConcurrency) to keep large runs quick — the 500-listing detail run above completed in about seven minutes.


⚙️ How to use

  1. Open the actor in Apify Console and click Try for free.
  2. Pick one or more locations, choose For sale / For rent / Both, and set maxResults.
  3. (Optional) Add propertyTypes, price, bedroom, bathroom or area filters, or paste a FazWaz search URL into startUrls.
  4. Toggle includeDetails on for full records (GPS, agent, amenities) or off for a fast overview scan.
  5. Click Start, then download results as JSON, CSV, Excel or XML.
  6. Automate it: run on a schedule, call it via the Apify API, or connect to Make, Zapier, Google Sheets or a webhook to keep a live Thai property dataset in sync.

💡 Tips

  • Use a FazWaz search URL in startUrls to reuse any on-site filter the input form doesn't expose (map areas, specific sub-locations, keyword queries).
  • Running overview mode (includeDetails: false) is the cheapest, fastest way to grab prices and basic specs for a whole market.
  • For investment screening, set sortBy: "rentalYield" with sortDirection: "desc" to surface the highest-return listings first.
  • Combine minPriceThb/maxPriceThb with minBedrooms to build precise comparable-property datasets — always filter on priceThb, which is currency-normalized.
  • Use operation: "all" to capture sale and rental inventory for the same area in one run.
  • Schedule a daily run and compare listingId + priceThb over time to detect new inventory and price reductions.
  • If a run ever hits an access block, enable Apify Proxy in proxyConfiguration and the actor rotates IPs automatically.

❓ FAQ

Is scraping FazWaz legal? This actor collects only publicly available listing and business-contact information, the same data any visitor can see on FazWaz. It does not bypass logins or access private data. As with any web scraping, you are responsible for complying with applicable laws and the website's terms of use.

How many listings can I get, and how fast? As many as the market holds — the actor paginates through all result pages and de-duplicates, so you can collect hundreds to thousands of listings per run. A fresh 500-listing, full-detail Bangkok-area run finished in roughly seven minutes with zero errors; a prefilled 20-property overview run finishes in a minute or two. Larger runs scale with maxResults, maxPagesPerSearch and maxConcurrency.

Do I need proxies or a login? No login and no API key are required. Direct requests are attempted first; if you ever encounter access blocks, enable Apify Proxy in proxyConfiguration and the actor will route through it.

What export formats are supported? JSON, CSV, Excel and XML downloads, plus programmatic access through the Apify API and dataset endpoints.

Is there a FazWaz API? FazWaz does not offer a public developer API for bulk listing data. This actor is effectively a ready-made FazWaz API: it returns clean, structured JSON you can query, schedule and integrate.

Are prices in Thai Baht? Yes. FazWaz serves prices in the visitor's inferred currency, so the source price and its currency are preserved exactly as shown, and priceThb is normalized to Thai Baht using a single live exchange-rate lookup per currency — so you always get a consistent THB figure to compare and filter on.

Can I filter by city, property type or price? Yes. Choose locations from the dropdown (or add slugs), filter by propertyTypes, THB price range, bedrooms, bathrooms and indoor area, and sort the final dataset. For anything more specific, paste a FazWaz search URL into startUrls.

Does it include GPS coordinates and photos? Yes — detail mode returns latitude/longitude and the full photo gallery. Overview mode includes preview photos.

What's the difference between overview and detail mode? Overview mode reads search cards (fast, cheap, great for price snapshots). Detail mode additionally visits each property for the full description, complete gallery, ownership, furnishing, project amenities, GPS and public agent fields — and it enriches the province/district/subdistrict breakdown from the canonical property page.

How fresh is the data? Every run scrapes FazWaz live, so results reflect the listings as they appear at run time. Schedule recurring runs to keep your dataset current.


Scaling to other real-estate marketplaces? Pair this FazWaz scraper with:


▶️ Ready to collect Thai property data?

Click Try for free, pick your locations, and get a clean FazWaz dataset — prices, GPS, rental yields, projects and agent details — exported to JSON, CSV, Excel or API in minutes.

FazWaz is a trademark of its respective owner. This independent actor is not affiliated with or endorsed by FazWaz. Use it in compliance with applicable laws and the website's terms.