OrbTop

99co Singapore Property Scraper

REAL ESTATEBUSINESS

99co Singapore Property Scraper

Scrape property listings from 99.co — Singapore's #2 property portal. Extracts sale, rent, new launch, and commercial listings with pricing, location, agent details, and region classification (CCR / RCR / OCR).

What it does

For each listing type you request (sale, rent, new launch, or commercial), the actor:

  1. Loads the 99.co search page, clearing its Cloudflare protection on the way in
  2. Pulls the full listing set from that session
  3. Extracts listing details directly from the API response — no separate detail-page visits
  4. Paginates automatically until maxItems is reached

Input

Field Type Required Description
maxItems Integer Yes Maximum number of listings to return (min: 1)
listingTypes Array No Listing types to include. Options: sale, rent, new-launch, commercial. Defaults to ["sale", "rent"]

Example input

{
  "maxItems": 100,
  "listingTypes": ["sale", "rent"]
}

Output

Each record contains:

Field Description
listing_id Unique listing identifier
listing_type sale, rent, etc.
title Listing title or address
description Listing description
property_type Property type (Condo, HDB, Landed, etc.)
tenure Freehold / Leasehold
district District number (1–28)
district_code District code (e.g. D10)
region CCR / RCR / OCR classification
project_name Development or project name
address Street address
postal_code Singapore postal code
latitude / longitude GPS coordinates
price_sgd Asking price or monthly rent in SGD
price_psf_sgd Price per square foot in SGD
bedrooms Number of bedrooms
bathrooms Number of bathrooms
floor_area_sqft Floor area in square feet
land_area_sqft Land area in square feet (landed properties)
completion_year Year of completion
school_within_1km Nearby schools within 1 km
amenities Property amenities and features
agent_name Listing agent name
agent_cea_no Agent CEA registration number
agent_phone Agent contact number
agency Agency name
listing_url Direct URL to the listing
image_urls Array of property photo URLs (up to 20)
posted_at Date the listing was posted
scraped_at ISO timestamp of when the record was scraped

Notes

  • Cloudflare bypass: 99.co's challenge is cleared for you. It costs more compute than an unprotected site would, which is reflected in the price.
  • Rate limits: Run with maxItems at 500 or fewer per run to stay within reasonable query limits. For large extracts, split by listing type.
  • Data freshness: The search API returns live listings — data is current at scrape time.
  • Memory: Requires 2048 MB due to the browser-based extraction.

Further reading: Building Permit Data and Property Records: Where to Get Them in Bulk