28Hse Scraper | Hong Kong Real Estate | $2 / 1k avatar

28Hse Scraper | Hong Kong Real Estate | $2 / 1k

Pricing

from $1.79 / 1,000 results

Go to Apify Store
28Hse Scraper | Hong Kong Real Estate | $2 / 1k

28Hse Scraper | Hong Kong Real Estate | $2 / 1k

Extract structured Hong Kong real estate property listings from 28Hse with prices, estate names, districts, bedroom counts, saleable area, and enriched listing details. Built for enterprise-grade Hong Kong real estate intelligence, pricing analysis, and automated property data pipelines.

Pricing

from $1.79 / 1,000 results

Rating

0.0

(0)

Developer

Fatih Tahta

Fatih Tahta

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

28Hse.com Scraper | Hong Kong Real Estate Data

Slug: fatihtahta/28hse-scraper

Overview

28Hse.com Scraper collects structured Hong Kong property listing data, including listing URLs, titles, prices, estate names, districts, bedroom counts, saleable area, and other listing-level attributes. When enabled, it can also return richer listing detail data such as agent information, media assets, location coordinates, nearby places, recent transactions, and estate metadata. 28Hse.com is a widely used Hong Kong real estate marketplace, making it a valuable source for tracking residential and commercial property supply, pricing, and listing activity. This actor helps automate collection across searches and direct listing URLs so teams can work with consistent JSON output instead of manual copy-paste. The result is faster research, cleaner pipelines, and less operational overhead.

Why Use This Actor

  • Market researchers and analysts: Track asking prices, listing volume, property mix, and area-level supply for trend analysis, dashboards, and benchmarking.
  • Product and content teams: Build listing feeds, neighborhood pages, market snapshots, and editorial datasets with consistent property attributes.
  • Developers and data engineers: Send structured listing records directly into ETL jobs, internal databases, APIs, and analytics workflows.
  • Lead generation and enrichment teams: Enrich property records with listing context, estate details, and contact-related metadata where available.
  • Monitoring and competitive intelligence teams: Watch selected searches, estates, districts, or listing URLs over time to detect changes in pricing and inventory.

Input Parameters

Provide any combination of URLs, queries, and filters. Leave optional fields empty to collect broader results.

ParameterTypeDescriptionDefault
enrich_databooleanWhen true, returns richer listing detail fields in addition to the standard listing record.false
listingModestringTransaction type for query-based searches. Allowed values: buy (For sale), rent (For rent).buy
queriesstring[]Free-text search terms to run on 28Hse, such as estate names, districts, or property keywords.
propertyTypestringProperty type filter for query-based runs. Allowed values: apartment, carpark, office, shop, land, oversea.
locationstringLocation filter for query-based runs. Allowed values: hk_only, hong_kong_island, kowloon, new_territories, outlying_islands, oversea.
minPriceintegerMinimum listing price in HKD. Leave empty for no lower bound.
maxPriceintegerMaximum listing price in HKD. Leave empty for no upper bound.
minSaleableAreaintegerMinimum saleable area in square feet.
maxSaleableAreaintegerMaximum saleable area in square feet.
bedroomsstring[]Bedroom filter for query-based runs. Allowed values: studio, 1, 2, 3, 4, 5+. Multiple values are supported.
limitintegerMaximum number of records to save for each query or direct URL seed. Leave empty to collect all available results.
startUrlsstring[]One or more direct 28Hse listing page URLs to collect.
proxyConfigurationobjectConnection settings for Apify proxy or a custom proxy configuration.Apify proxy enabled with RESIDENTIAL group

Example Inputs

Scenario: query-driven run

{
"queries": ["Tsing Yi", "Lai Chi Kok"],
"listingMode": "buy",
"propertyType": "apartment",
"location": "kowloon",
"bedrooms": ["2", "3"],
"limit": 150
}

Scenario: direct URL run

{
"startUrls": [
"https://www.28hse.com/en/buy/apartment/property-3789134",
"https://www.28hse.com/en/buy/apartment/property-3788395"
],
"enrich_data": true,
"listingMode": "buy",
"propertyType": "apartment",
"limit": 20
}

Scenario: filtered targeted run

{
"queries": ["Liberte", "Mount Haven"],
"listingMode": "buy",
"minPrice": 6000000,
"maxPrice": 9000000,
"minSaleableArea": 450,
"maxSaleableArea": 700,
"bedrooms": ["2"],
"limit": 100
}

Output

6.1 Output destination

The actor writes results to an Apify dataset as JSON records. And the dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs without post-processing.

6.2 Record envelope (all items)

Every record includes these stable identifiers:

  • type (string, required): Record category. Current value: property.
  • id (number, required): 28Hse listing identifier.
  • url (string, required): Canonical listing URL.

Recommended idempotency key: type + ":" + id

Use this key for deduplication and upserts when the same listing appears across multiple seeds, schedules, or repeated runs.

6.3 Examples

Example: property (type = "property") - standard record

{
"type": "property",
"id": "3788395",
"url": "https://www.28hse.com/en/buy/apartment/property-3788395",
"title": "Rent exceeds 3%, rare and unique unit with rooftop terrace",
"sourceUrl": "https://www.28hse.com/en/property/dosearch",
"seedId": "bd5ea23885c1",
"seedType": "query",
"pageIndex": 1,
"extractionStrategy": "embedded_json",
"price": "Sell HKD$7.3 Millions",
"priceNumeric": 7300000,
"currency": "HKD",
"company": "Midland Realty International Limited",
"estate": "Mount Haven",
"district": "Tsing Yi",
"unitDesc": "Unit B,High Floor,BLOCK 1",
"bedrooms": 2,
"areaSaleableSqft": 561,
"areaGrossSqft": 678,
"direction": "North west",
"propertyType": "Apartment",
"postedText": "23 seconds ago posted",
"detailEnriched": false,
"tags": [
"2 Bedrooms",
"North west",
"Apartment",
"SHKP",
"Garden view",
"Elegant"
]
}

Example: property (type = "property") - enriched record

{
"type": "property",
"id": "3789134",
"url": "https://www.28hse.com/en/buy/apartment/property-3789134",
"title": "Exclusive agency, familiar property owners, open to all with tickets, immediate viewing with keys.",
"sourceUrl": "https://www.28hse.com/en/property/dosearch",
"seedId": "5589bfff9e2c",
"seedType": "query",
"seedValue": "",
"pageIndex": 4,
"extractionStrategy": "embedded_json",
"price": "Sell HKD$8.1 Millions",
"priceNumeric": 8100000,
"currency": "HKD",
"description": "Best Buy, Best Buy in the market, Negotiable, Spacious",
"company": "Centaline Property",
"address": "Kowloon Lai Chi Kok Liberte No.833 Lai Chi Kok Road",
"referenceNumber": "MOD436",
"agentName": "Centaline Property",
"agentUrl": "https://www.28hse.com/en/agent/4625",
"agentAddress": "長沙灣深盛路9號宇晴匯2樓88號舖",
"agentLicenseNumber": "S467585",
"agentAvatarUrl": "https://i1.28hse.com/2026/03/202603261009002493037_large.jpg",
"agentNameCardUrl": "https://i1.28hse.com/2026/03/202603261328385819675_large.jpg",
"companyLicenseNumber": "C-000227",
"companyImageUrl": "https://www.28hse.com/assets/images/agent4/CENTALINE.jpg",
"companySellCount": 148,
"wechatId": "manicml",
"wechatQr": "https://u.wechat.com/IFuCvdO7-cnoBhivKdUGTYs?s%3D4=",
"wechatWord": "Hello Mani Chan , I have just seen your property listing from 28Hse Liberte Sell HKD$8.1 Millions Property(ID:3789134) . Please provide me more details: https://www.28hse.com/en/buy/apartment/property-3789134?t=1774685499",
"messageTemplate": "Hello Mani Chan , I have just seen your property listing from 28Hse Liberte Sell HKD$8.1 Millions Property(ID:3789134) . Please provide me more details: https://www.28hse.com/en/buy/apartment/property-3789134?t=1774685499",
"estate": "Liberte",
"district": "Lai Chi Kok",
"unitDesc": "Unit E,Mid Floor,BLOCK 8, Middle Floor",
"floorZone": "Middle Floor",
"unitPrice": "@16,497",
"bedrooms": 2,
"areaSaleableSqft": 491,
"areaGrossSqft": 647,
"direction": "North",
"propertyType": "Apartment",
"postedText": "3 hours ago posted",
"publishedAt": "2026-03-28T16:11:39+08:00",
"updatedAt": "2026-03-28T16:11:39+08:00",
"expiresAt": "2026-04-27T16:11:39+08:00",
"latitude": 22.334587,
"longitude": 114.148849,
"imageUrls": [
"https://i1.28hse.com/2026/03/202603281610391162707_large.jpg",
"https://i1.28hse.com/2026/03/20260328161039769030_large.jpg",
"https://i1.28hse.com/2026/03/202603281610405752230_large.jpg",
"https://i1.28hse.com/2026/03/202603281610402596378_large.jpg",
"https://i1.28hse.com/2026/03/202603281610383856781_large.jpg"
],
"floorplanUrls": [
"https://i1.28hse.com/estate_data/64/2510/FLOOR/2510_20231116200247885351_thumb.jpg",
"https://i1.28hse.com/estate_data/64/2510/UNIT/2510_20231116200357266125_thumb.jpg",
"https://i1.28hse.com/estate_data/64/2510/FLOOR/2510_20231116200247885351_large.jpg",
"https://i1.28hse.com/estate_data/64/2510/UNIT/2510_20231116200357266125_large.jpg"
],
"features": [
"Decoration",
"View",
"Units' Feature",
"Simple",
"Good view",
"City view",
"Shopping Mall nearby",
"Clubhouse",
"MTR nearby",
"Good school zone"
],
"listingLabels": [
"Apartment",
"Shun Tak",
"Golden Ads",
"3 hours ago posted",
"Visited#42"
],
"contactMethods": [
"phone",
"whatsapp",
"wechat",
"message"
],
"contacts": [
{
"name": "Mani Chan",
"license_number": "S467585",
"avatar_url": "https://i1.28hse.com/2026/03/202603261009002493037_thumb.jpg",
"avatar_large_url": "https://i1.28hse.com/2026/03/202603261009002493037_large.jpg",
"wechat_id": "manicml",
"wechat_qr": "https://u.wechat.com/IFuCvdO7-cnoBhivKdUGTYs?s%3D4=",
"wechat_word": "Hello Mani Chan , I have just seen your property listing from 28Hse Liberte Sell HKD$8.1 Millions Property(ID:3789134) . Please provide me more details: https://www.28hse.com/en/buy/apartment/property-3789134?t=1774685499",
"name_card_url": "https://i1.28hse.com/2026/03/202603261328385819675_large.jpg",
"name_card_desc": "WeChat ID: manicml",
"available_actions": [
"phone",
"whatsapp",
"wechat",
"message"
]
}
],
"propertyDetails": {
"Mobile QRCode": null,
"Sell Price": "Sell HKD$8.1 Millions",
"Mortgage Monthly Repayment": {
"subvalues": [
"Initial Payment HKD$2.43 Millions, Mortgage Ratio 70%",
"Interest Rate 3%, Years 25",
"The above payment is for reference only."
],
"links": [
"https://www.28hse.com/en/mortgage/?mortgage_loan_rate=3&mortgage_loan_ratio=70&mortgage_loan_year=25&mortgage_price=810.0"
]
},
"Gross Area": {
"value": "647 ft²",
"subvalues": [
"Unit Price: @12,519"
]
},
"Saleable Area": {
"value": "491 ft²",
"subvalues": [
"Unit Price: @16,497"
]
},
"Estate": {
"value": "Liberte",
"subvalues": [
"Kowloon Lai Chi Kok",
"Block and Unit: Unit E,Mid Floor(17-27|45/F),BLOCK 8",
"Building age: 22 Year",
"See estate's sold price history, floor plans and more information."
],
"links": [
"https://www.28hse.com/en/estate/detail/liberte-2510"
]
},
"Direction (Living Room)": "North",
"Floor zone": "Middle Floor",
"Room and Bathroom": "2 Bedrooms 1 Bathroom",
"Kitchen type": "Separate Kitchen",
"Kitchen cooking mode": "Open-frame cooking",
"Pri School Net": {
"subvalues": [
"Related Property",
"School Net 40(Sham Shui Po District)"
],
"links": [
"https://www.28hse.com/en/buy/apartment/primary-schoolnet-40",
"https://www.28hse.com/en/schoolnet/primary-schoolnet-40"
]
},
"Sec School Net": {
"subvalues": [
"Related Property",
"Sham Shui Po District(KL2)"
],
"links": [
"https://www.28hse.com/en/buy/apartment/secondary-schoolnet-6",
"https://www.28hse.com/en/schoolnet/secondary-schoolnet-6"
]
},
"Address": "No.833 Lai Chi Kok Road"
},
"estateDetails": {
"Estate Entry Date": "2003-08-08",
"Estate Introudction": "Liberte is located at 833 Lai Chi Kok Road, Four Little Dragons / Lai Chi Kok, Kowloon. The developer is SUN HUNG KAI / SHUN TAK, the Occupation date starts from August 2003. It consists of 7 buildings with a total of 2,434 residential units, with salesable area from 378 to 1,166 sq.ft.. There are Clubhouse, Swimming Pool, Kids' Facilities, Sports Facilities, Entertainment Facilities, Catering Facilities, Health & Beauty, Recreational Area in Liberte; There is good public transport, about 12 mins walking distance to MTR. POA School Net is 40, Secondary school district is in Sham Shui Po.",
"Unit Desc": "2,434 Units",
"Carpark": "487",
"Block Desc": "7 Towers",
"Developer": "Shun Tak"
},
"nearbyPlaces": [
{
"category": "Trans",
"name": "Banyan Garden, Sham Shing Road( Bus Stop )",
"distance": "2 min Walk"
},
{
"category": "Trans",
"name": "Banyan Gardens( Bus Stop )",
"distance": "2 min Walk"
},
{
"category": "Trans",
"name": "Banyan Garden, Lai Chi Kok Road( Bus Stop )",
"distance": "2 min Walk"
},
{
"category": "Mall",
"name": "Shengyue Shopping Mall",
"distance": "1 min Walk"
},
{
"category": "Mall",
"name": "The Pacifica Mall",
"distance": "2 min Walk"
},
{
"category": "Mall",
"name": "Banyan Mall",
"distance": "2 min Walk"
},
{
"category": "Food",
"name": "Mx",
"distance": "1 min Walk"
},
{
"category": "Food",
"name": "Starbucks Coffee",
"distance": "1 min Walk"
},
{
"category": "Food",
"name": "鴻福堂",
"distance": "1 min Walk"
},
{
"category": "School",
"name": "Laichikok Catholic Primary School",
"distance": "2 min Walk"
},
{
"category": "School",
"name": "Sham Shui Po Government Primary School",
"distance": "3 min Walk"
},
{
"category": "School",
"name": "Hong Kong Ling Liang Church Sau Tak Kindergarten",
"distance": "3 min Walk"
},
{
"category": "Bank",
"name": "China Construction Bank (asia) Corporation Limited",
"distance": "4 min Walk"
},
{
"category": "Bank",
"name": "The Hongkong And Shanghai Banking Corporation Limi",
"distance": "4 min Walk"
},
{
"category": "Bank",
"name": "Industrial And Commercial Bank Of China (asia) Lim",
"distance": "4 min Walk"
},
{
"category": "Hospital",
"name": "Nam Cheong Family Medicine Clinic",
"distance": "10 min Walk"
},
{
"category": "Hospital",
"name": "Caritas Medical Centre",
"distance": "10 min Walk"
},
{
"category": "Hospital",
"name": "Caritas Medical Centre Family Medicine Clinic",
"distance": "10 min Walk"
}
],
"recentTransactions": [
{
"unit_id": "163430",
"estate": "Liberte",
"unit": "Flat A, 29/F, Block 3",
"url": "https://www.28hse.com/en/estate/detail/liberte-2510/history/blockno-3/unitid-163430",
"date": "2026-03-25",
"source": "Land Registry",
"area": "512ft²",
"price": "HKD$8.2 M",
"unit_price": "@ $16,016"
},
{
"unit_id": "164602",
"estate": "Liberte",
"unit": "Flat E, 11/F, Block 7",
"url": "https://www.28hse.com/en/estate/detail/liberte-2510/history/blockno-6/unitid-164602",
"date": "2026-03-24",
"source": "Land Registry",
"area": "491ft²",
"price": "HKD$7.55 M",
"unit_price": "@ $15,377"
},
{
"unit_id": "164522",
"estate": "Liberte",
"unit": "Flat E, 22/F, Block 7",
"url": "https://www.28hse.com/en/estate/detail/liberte-2510/history/blockno-6/unitid-164522",
"date": "2026-03-20",
"source": "Land Registry",
"area": "491ft²",
"price": "HKD$8.03 M",
"unit_price": "@ $16,354"
},
{
"unit_id": "164679",
"estate": "Liberte",
"unit": "Flat B, 41/F, Block 8",
"url": "https://www.28hse.com/en/estate/detail/liberte-2510/history/blockno-7/unitid-164679",
"date": "2026-03-18",
"source": "Land Registry",
"area": "522ft²",
"price": "HKD$8.7 M",
"unit_price": "@ $16,667"
},
{
"unit_id": "163662",
"estate": "Liberte",
"unit": "Flat A, 48/F, Block 5",
"url": "https://www.28hse.com/en/estate/detail/liberte-2510/history/blockno-4/unitid-163662",
"date": "2026-03-16",
"source": "Land Registry",
"area": "379ft²",
"price": "HKD$6.46 M",
"unit_price": "@ $17,045"
},
{
"estate": "Liberte",
"unit": "Flat E, Middle, Block 7, Liberte",
"url": "https://www.28hse.com/en/estate/detail/liberte-2510/transaction/deal-4439959",
"date": "2026-03-13",
"source": "Market Info",
"area": "491ft²",
"price": "HKD$8.03 M",
"unit_price": "@ $16,354"
},
{
"estate": "Liberte",
"unit": "Flat B, High, Block 8, Liberte",
"url": "https://www.28hse.com/en/estate/detail/liberte-2510/transaction/deal-4439958",
"date": "2026-03-13",
"source": "Market Info",
"area": "522ft²",
"price": "HKD$8.7 M",
"unit_price": "@ $16,667"
},
{
"unit_id": "163926",
"estate": "Liberte",
"unit": "Flat A, 11/F, Block 5",
"url": "https://www.28hse.com/en/estate/detail/liberte-2510/history/blockno-4/unitid-163926",
"date": "2026-03-12",
"source": "Land Registry",
"area": "378ft²",
"price": "HKD$6 M",
"unit_price": "@ $15,873"
},
{
"unit_id": "163684",
"estate": "Liberte",
"unit": "Flat G, 46/F, Block 5",
"url": "https://www.28hse.com/en/estate/detail/liberte-2510/history/blockno-4/unitid-163684",
"date": "2026-03-11",
"source": "Land Registry",
"area": "504ft²",
"price": "HKD$8.1 M",
"unit_price": "@ $16,071"
},
{
"unit_id": "164073",
"estate": "Liberte",
"unit": "Flat D, 42/F, Block 6",
"url": "https://www.28hse.com/en/estate/detail/liberte-2510/history/blockno-5/unitid-164073",
"date": "2026-03-09",
"source": "Land Registry",
"area": "491ft²",
"price": "HKD$7.7 M",
"unit_price": "@ $15,678"
}
],
"otherUnits": [
{
"title": "2 Bedrooms ( 45 )",
"price_range": "$6.9M - $9M",
"url": "https://www.28hse.com/en/buy/apartment/a2/dg27/di27-64/c2510?roomRange=2"
}
],
"detailEnriched": true,
"tags": [
"2 Bedrooms , 1 Bathroom",
"North",
"Apartment",
"Shun Tak",
"Simple",
"Good view",
"City view",
"Shopping Mall nearby",
"Clubhouse",
"MTR nearby",
"Lai Chi Kok",
"Liberte",
"For Sale Property Detail Page"
]
}

Field reference

Property fields (type = "property")

  • type (string, required): Record category.
  • id (number, required): Listing identifier.
  • url (string, required): Canonical listing URL.
  • title (string, optional): Listing headline.
  • sourceUrl (string, optional): Source page that produced the record.
  • seedId (string, optional): Internal seed identifier for the input that generated the record.
  • seedType (string, optional): Seed category, such as query or direct URL input.
  • seedValue (string, optional): Original seed value when available.
  • pageIndex (number, optional): Source result page number.
  • extractionStrategy (string, optional): Extraction mode label included in the record.
  • price (string, optional): Human-readable price string.
  • priceNumeric (number, optional): Numeric price value.
  • currency (string, optional): Currency code, typically HKD.
  • description (string, optional): Listing description text.
  • company (string, optional): Agency or company name.
  • address (string, optional): Listing address text.
  • referenceNumber (string, optional): Listing or agency reference number.
  • agentName (string, optional): Agent or agency contact name as shown.
  • agentUrl (string, optional): Public agent profile URL.
  • agentAddress (string, optional): Agent office address.
  • agentLicenseNumber (string, optional): Agent license number.
  • agentAvatarUrl (string, optional): Agent avatar image URL.
  • agentNameCardUrl (string, optional): Agent name card image URL.
  • companyLicenseNumber (string, optional): Company license number.
  • companyImageUrl (string, optional): Company logo or image URL.
  • companySellCount (number, optional): Company listing count when available.
  • wechatId (string, optional): WeChat identifier.
  • wechatQr (string, optional): WeChat QR URL.
  • wechatWord (string, optional): Prebuilt WeChat message text.
  • messageTemplate (string, optional): Prebuilt contact message text.
  • estate (string, optional): Estate or building name.
  • district (string, optional): District or area name.
  • unitDesc (string, optional): Unit description.
  • floorZone (string, optional): Floor band or floor zone.
  • unitPrice (string, optional): Unit price text.
  • bedrooms (number, optional): Bedroom count.
  • areaSaleableSqft (number, optional): Saleable area in square feet.
  • areaGrossSqft (number, optional): Gross area in square feet.
  • direction (string, optional): Property facing direction.
  • propertyType (string, optional): Property category label.
  • postedText (string, optional): Relative posted time text.
  • publishedAt (string, optional): Publish timestamp in ISO-8601 format.
  • updatedAt (string, optional): Last update timestamp in ISO-8601 format.
  • expiresAt (string, optional): Expiry timestamp in ISO-8601 format.
  • latitude (number, optional): Latitude coordinate.
  • longitude (number, optional): Longitude coordinate.
  • imageUrls (array[string], optional): Listing image URLs.
  • floorplanUrls (array[string], optional): Floor plan image URLs.
  • features (array[string], optional): Listing feature tags.
  • listingLabels (array[string], optional): Listing labels shown with the property.
  • contactMethods (array[string], optional): Supported contact method labels.
  • contacts (array[object], optional): Structured contact entries.
  • propertyDetails (object, optional): Source-labeled property detail map.
  • estateDetails (object, optional): Source-labeled estate detail map.
  • nearbyPlaces (array[object], optional): Nearby place records.
  • recentTransactions (array[object], optional): Recent transaction records.
  • otherUnits (array[object], optional): Related unit links and price ranges.
  • detailEnriched (boolean, optional): Indicates whether enriched detail fields were collected.
  • tags (array[string], optional): Combined tags and descriptors.

Contact fields (type = "property")

  • contacts[].name (string, optional): Contact display name.
  • contacts[].license_number (string, optional): Contact license number.
  • contacts[].avatar_url (string, optional): Contact thumbnail avatar URL.
  • contacts[].avatar_large_url (string, optional): Contact large avatar URL.
  • contacts[].wechat_id (string, optional): Contact WeChat ID.
  • contacts[].wechat_qr (string, optional): Contact WeChat QR URL.
  • contacts[].wechat_word (string, optional): Prebuilt WeChat outreach text.
  • contacts[].name_card_url (string, optional): Contact name card image URL.
  • contacts[].name_card_desc (string, optional): Name card description text.
  • contacts[].available_actions (array[string], optional): Available contact actions.

Property detail fields (type = "property")

  • propertyDetails.Mobile QRCode (null|string, optional): Mobile QR code value when present.
  • propertyDetails.Sell Price (string, optional): Sale price text.
  • propertyDetails.Mortgage Monthly Repayment.subvalues (array[string], optional): Mortgage-related detail lines.
  • propertyDetails.Mortgage Monthly Repayment.links (array[string], optional): Mortgage-related public links.
  • propertyDetails.Gross Area.value (string, optional): Gross area value.
  • propertyDetails.Gross Area.subvalues (array[string], optional): Gross area supporting detail lines.
  • propertyDetails.Saleable Area.value (string, optional): Saleable area value.
  • propertyDetails.Saleable Area.subvalues (array[string], optional): Saleable area supporting detail lines.
  • propertyDetails.Estate.value (string, optional): Estate name.
  • propertyDetails.Estate.subvalues (array[string], optional): Estate supporting detail lines.
  • propertyDetails.Estate.links (array[string], optional): Estate-related public links.
  • propertyDetails.Direction (Living Room) (string, optional): Living room facing direction.
  • propertyDetails.Floor zone (string, optional): Floor zone label.
  • propertyDetails.Room and Bathroom (string, optional): Room and bathroom summary.
  • propertyDetails.Kitchen type (string, optional): Kitchen type label.
  • propertyDetails.Kitchen cooking mode (string, optional): Kitchen cooking mode label.
  • propertyDetails.Pri School Net.subvalues (array[string], optional): Primary school net detail lines.
  • propertyDetails.Pri School Net.links (array[string], optional): Primary school net public links.
  • propertyDetails.Sec School Net.subvalues (array[string], optional): Secondary school net detail lines.
  • propertyDetails.Sec School Net.links (array[string], optional): Secondary school net public links.
  • propertyDetails.Address (string, optional): Address value in the property detail map.

Estate detail fields (type = "property")

  • estateDetails.Estate Entry Date (string, optional): Estate entry or occupation date.
  • estateDetails.Estate Introudction (string, optional): Estate description text.
  • estateDetails.Unit Desc (string, optional): Unit count summary.
  • estateDetails.Carpark (string, optional): Car park summary.
  • estateDetails.Block Desc (string, optional): Building or tower count summary.
  • estateDetails.Developer (string, optional): Developer name.

Nearby place fields (type = "property")

  • nearbyPlaces[].category (string, optional): Nearby place category.
  • nearbyPlaces[].name (string, optional): Nearby place name.
  • nearbyPlaces[].distance (string, optional): Relative distance text.

Recent transaction fields (type = "property")

  • recentTransactions[].unit_id (string, optional): Unit identifier when available.
  • recentTransactions[].estate (string, optional): Estate name.
  • recentTransactions[].unit (string, optional): Unit description.
  • recentTransactions[].url (string, optional): Transaction detail URL.
  • recentTransactions[].date (string, optional): Transaction date.
  • recentTransactions[].source (string, optional): Transaction source label.
  • recentTransactions[].area (string, optional): Transaction area text.
  • recentTransactions[].price (string, optional): Transaction price text.
  • recentTransactions[].unit_price (string, optional): Transaction unit price text.

Other unit fields (type = "property")

  • otherUnits[].title (string, optional): Related unit grouping label.
  • otherUnits[].price_range (string, optional): Related unit price range.
  • otherUnits[].url (string, optional): Related unit URL.

Data guarantees & handling

  • Best-effort extraction: fields may vary by region, session, availability, and UI experiments on the source site.
  • Optional fields: null-check in downstream code because some attributes may be absent on certain listings.
  • Deduplication: recommend type + ":" + id.

How to Run on Apify

  1. Open the actor in Apify Console.
  2. Enter one or more search queries or direct listing URLs, then choose any filters you want to apply.
  3. Set the listing mode and the maximum number of records to collect per seed.
  4. Enable enriched data if you want extended listing details in each record.
  5. Click Start and wait for the run to finish.
  6. Download the dataset in JSON, CSV, Excel, or another supported format.

Scheduling & Automation

Scheduling

Automated Data Collection

You can schedule recurring runs to keep your property dataset current without manual restarts. This is useful for ongoing market monitoring, reporting, and downstream automation.

  • Navigate to Schedules in Apify Console
  • Create a new schedule (daily, weekly, or custom cron)
  • Configure input parameters
  • Enable notifications for run completion
  • Optional: add webhooks for automated processing

Integration Options

  • Webhooks: Trigger downstream actions when a run completes
  • Zapier: Connect to 5,000+ apps without coding
  • Make (Integromat): Build multi-step automation workflows
  • Google Sheets: Export results to a spreadsheet
  • Slack/Discord: Receive notifications and summaries
  • Email: Send automated reports via email

Performance

Estimated run times:

  • Small runs (< 1,000 outputs): ~2–3 minutes
  • Medium runs (1,000–5,000 outputs): ~5–15 minutes
  • Large runs (5,000+ outputs): ~15–30 minutes

Execution time varies based on filters, result volume, and how much information is returned per record.

Compliance & Ethics

Responsible Data Collection

This actor collects publicly available real estate listing and market information from https://www.28hse.com for legitimate business purposes, including real estate research and market analysis, listing monitoring and benchmarking, and data enrichment for internal tools and reporting. Users are responsible for ensuring their use of the collected data complies with applicable laws, regulations, and the source site’s terms. This section is informational and not legal advice.

  • Real estate research and market analysis
  • Listing monitoring and competitive tracking
  • Data enrichment and internal analytics

Best Practices

  • Use collected data in accordance with applicable laws, regulations, and the target site’s terms
  • Respect individual privacy and personal information
  • Use data responsibly and avoid disruptive or excessive collection
  • Do not use this actor for spamming, harassment, or other harmful purposes
  • Follow relevant data protection requirements where applicable, including GDPR and CCPA

Support

For help, open an issue on the actor page in Apify Console. Include the input you used with any sensitive values redacted, the run ID, a short description of expected versus actual behavior, and a small output sample if useful.