Hipflat Scraper [$0.80/1k💰] Thailand Property & Projects avatar

Hipflat Scraper [$0.80/1k💰] Thailand Property & Projects

Pricing

from $0.80 / 1,000 property or project results

Go to Apify Store
Hipflat Scraper [$0.80/1k💰] Thailand Property & Projects

Hipflat Scraper [$0.80/1k💰] Thailand Property & Projects

Scrape hipflat.co.th property listings and new-project data across Thailand: price, price per m², beds, baths, area, floor, type, address, GPS, amenities, photos, full description and project facts. Buy and rent; search and URL modes; project records with available units; sorts and filters.

Pricing

from $0.80 / 1,000 property or project results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

9 days ago

Last modified

Categories

Share

Hipflat Scraper — Thailand Property & Projects

Scrape property listings and new-project market data from hipflat.co.th across Thailand — buy and rent, condos, houses, villas, townhouses, apartments, land, offices, commercial and hotels — with rich, structured fields per record.

Two ways to run it, one clean dataset out.

What you get

Per listing record:

  • Identity: listingId, url, title, dealType (buy/rent), propertyType
  • Price: price, priceText, pricePerArea, currency
  • Size & layout: bedrooms, bathrooms, area (m²), floor
  • Location: address, latitude, longitude
  • Content: description, images (every photo), mainImage, imageCount
  • With Fetch details on: full amenity list, floor, price per m², GPS, the full untruncated description, the parent-project facts (projectName, projectDetails) and the advertiser (agencyName, agencyLogo)

Per project record (project directories and project pages):

  • projectName, projectSlug, address, latitude, longitude
  • saleFromPrice, rentFromPrice, availableUnitsCount
  • units (available units with price, price per m², layout), amenities, facilities, nearby, full description

Common rival field names are mirrored as aliases (e.g. record_type, record_id, price_min, image_urls, coordinates, property_types) so existing pipelines keep working.

Modes

  • Search — pick a deal type (buy/rent), property type and location, add optional price / bedroom / bathroom / area filters and a sort order. Location accepts English names for major provinces (Bangkok, Pattaya, Phuket, Chiang Mai, Chonburi, …) or a Thai province name; leave it empty to search all of Thailand.
  • URL — paste any hipflat URL: a listing search (/ขายคอนโด/กรุงเทพฯ), a single listing (/ads/...), a project directory (/thailand-projects/...) or a project page (/projects/...). The actor detects the shape and scrapes it. Deal type, property type, location and sort order above are ignored in this mode (a pasted URL carries its own); price, bedroom, bathroom and area filters still apply.

Search mode options

  • Deal type: buy, rent
  • Property type: condo, house, villa, townhouse, apartment, land, office, commercial, hotel
  • Sort: relevance, price ↑/↓, bedrooms ↑/↓, area ↑/↓, newest first

Filters (search mode and URL mode)

  • Price range (minPrice / maxPrice, THB)
  • Bedrooms, minimum bathrooms, area range (minArea / maxArea, m²)

Limits

  • Max items — the single run cap (default 20; set 0 for unlimited).
  • Max pages — optional per-search page ceiling; unlimited by default, defers to Max items.

Output caps only

The actor manages its own reliability internally. The only limits you set are the output caps above — there are no concurrency or retry knobs to tune.

Input parameters

FieldDescription
resumeFromRunIdContinue one specific interrupted run — paste a previous run or dataset ID and this run skips records already collected there.
incrementalModeTurn this on for daily/recurring monitoring of the same search. The first run returns everything as NEW; later runs return only NEW/UPDATED/REAPPEARED by default.
stateKeyOptional. Name a monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty for an automatic key derived from the search/URL and detail settings.
emitUnchangedOff by default. Also return UNCHANGED records (incremental mode) — returns and bills extra rows you already have.
emitExpiredOff by default. Also return EXPIRED records no longer found since the last run (incremental mode) — only produced after a complete, non-resumed, non-capped scan. Returns and bills extra synthetic rows.

Resume & recurring updates

Two different features, both optional:

  • Resume (resumeFromRunId) continues one specific interrupted crawl: paste a previous run or dataset ID and this run skips every record already collected there. No state is kept between unrelated runs.
  • Incremental mode (incrementalMode) is for scheduling this same search daily/weekly and getting only what changed. The actor remembers its own baseline for the search (keyed by stateKey, or an automatic key derived from the search/URL and detail settings) and classifies every record as NEW, UPDATED, UNCHANGED, REAPPEARED, or EXPIRED. By default only NEW/UPDATED/REAPPEARED records return; turn on emitUnchanged/emitExpired to also get those (both return — and bill — extra rows). EXPIRED records are only produced after a run that scanned its full search with no cap hit and no Resume.

Output then carries changeType, changedFields, firstSeenAt, and lastSeenAt. Change detection ignores scrapedAt (a per-run timestamp) and every field that only exists once the optional detail fetch has run (e.g. floor, pricePerArea, the full description, GPS coordinates, the advertiser and parent-project facts on listings; description, availableUnitsCount, facilities, units, nearby, marketStats, developer and GPS coordinates on projects) — none of those can be compared across runs where detail fetching was toggled on or off. Price, area, bedrooms/bathrooms, and every other core field do trigger UPDATED when they change.

Send results into your apps (MCP connectors)

Optionally pipe each record into the apps you already use via Model Context Protocol connectors — Notion, Linear, Airtable or Apify. Authorize a connector once under Apify → Settings → Integrations, then select it in the input. The connector receives a condensed, human-readable summary per item; the full record always stays in the dataset.

Plan requirement

Runs on any Apify plan, including the free tier. hipflat serves results only to a Thailand connection, so keep the default Thailand proxy for reliable results. On a limited or free connection the site may return no results; the input warns you when that is the case.

Pricing

Pay per event: one charge when the run starts, one per record pushed, and — only when Fetch details is on — one per listing whose detail page is fetched. Runs with detail fetching off are billed only for the records they return.