Skip to content
Scrappa Get API key
28Hse API 1 credit/request

28Hse Listing API

GET https://scrappa.co/api/28hse/listing

Get one apartment listing by id: title, description, publish, change and expiry dates, price as text and as a number, exact latitude and longitude, saleable and gross area with price per square foot, bedrooms, bathrooms, floor zone, direction, estate with region and block, building age, developer, management company, all photos, the agency with licence number and the contact persons. Fields the listing does not have are left out. An unknown or removed listing answers 404 and is not billed.

28Hse Listing API 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/28hse/listing
Auth header
x-api-key
Cost
1 credit/request
id = 1234567890 mode = example
Response preview
200 OK
{
    "data": {
        "id": "4069683",
        "url": "https://www.28hse.com/en/buy/apartment/property-4069683",
        "mode": "buy",
        "price": 4040000,
        "title": "Received 13,000 In Rent. Received 4% Return!",
        "agency": {
            "id": "1264",
            "name": "Midland Property",
            "license_number": "C-000982"
        },
        "agents": [
            {
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

2 required parameters needed before sending a request.

id string Required

Listing id from the id field of a search result.

Example value 1234567890
mode string Required

buy or rent, as in the mode field of the search result.

Example value example

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "data": {
        "id": "4069683",
        "url": "https://www.28hse.com/en/buy/apartment/property-4069683",
        "mode": "buy",
        "price": 4040000,
        "title": "Received 13,000 In Rent. Received 4% Return!",
        "agency": {
            "id": "1264",
            "name": "Midland Property",
            "license_number": "C-000982"
        },
        "agents": [
            {
                "name": "Rock Chan"
            }
        ],
        "estate": {
            "id": "4214",
            "name": "Sheung Shui Centre",
            "slug": "sheung-shui-centre-4214"
        },
        "images": [
            {
                "url": "https://i1.28hse.com/2026/10/202610252320006476527_large.jpg"
            }
        ],
        "region": "New Territories Sheung Shui",
        "address": "No.3 Chi Cheong Road",
        "bedrooms": 2,
        "currency": "HKD",
        "latitude": 22.500961,
        "direction": "North east",
        "longitude": 114.129341,
        "floor_zone": "Low Floor",
        "price_text": "Sale HK$4.04 million",
        "property_type": "apartment",
        "date_published": "2026-10-25T23:20:02+08:00",
        "gross_area_sqft": 465,
        "building_age_years": 32,
        "saleable_area_sqft": 351,
        "gross_price_per_sqft": 8688,
        "saleable_price_per_sqft": 11510
    },
    "meta": {
        "billable": true,
        "endpoint_family": "listing"
    },
    "success": true
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

404

HTTP 404

The listing or agency does not exist or is no longer online. This response is not billable.

422

HTTP 422

A parameter is missing or invalid. This response is not billable.

503

HTTP 503

28Hse is temporarily unavailable, or its answer did not match the request, for example another page or an ignored filter. Retry the request. This response is not billable.

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.