99.co Scraper – Singapore Property for Sale & Rent avatar

99.co Scraper – Singapore Property for Sale & Rent

Pricing

from $2.00 / 1,000 property results

Go to Apify Store
99.co Scraper – Singapore Property for Sale & Rent

99.co Scraper – Singapore Property for Sale & Rent

Scrape 99.co (Singapore property) listings for sale and rent without an API: price, floor area, bedrooms, bathrooms, district, region and property type. Bulk input; export JSON/CSV/Excel. Great for property market research and price comparison.

Pricing

from $2.00 / 1,000 property results

Rating

0.0

(0)

Developer

Chad

Chad

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

99.co Scraper | Singapore Property Search, HDB, Condo & Landed Property Listings for Sale & Rent (No API, No Login)

One actor to scrape 99.co Singapore property search: keyword search (scrape HDB, condo, and landed property listings for sale or rent, filtered by your criteria). No login required, no API token, and bulk-pastes of multiple search queries are handled natively. It hits 99.co's public JSON endpoints directly — no browser, fast and cheap.

Built for: people tracking Singapore property prices, market analysts covering specific districts, anyone comparing rental rates across neighborhoods, property market researchers, students needing a dataset for a thesis, and engineers building their own side projects.

Planned for v1.1: listing detail mode (fetch full details of a single listing by ID/URL) — not yet available in this version.


What you get

Every listing includes the fields below (missing values are always returned as null — fields are never dropped):

FieldDescriptionExample
listing_id99.co listing IDPkhHsqk7hrY7DPXGtPVr6L
titleListing name (project name or address)Commonwealth HDB Estate
listing_typeTransaction typesale, rent
main_categoryProperty typehdb, condo, landed
property_segmentProperty sub-categoryhdb, non-landed, landed
priceSale price or monthly rent (SGD)850000
currencyCurrency (always SGD)SGD
price_per_sqftPrice per square foot (SGD)589.24
bedroomsNumber of bedrooms5
bathroomsNumber of bathrooms2
floor_area_sqftFloor area (square feet)1442
addressAddress123 Commonwealth Avenue
districtDistrict number (D1–D28)3
regionRegion nameCentral Region
latitudeLatitude1.2985
longitudeLongitude103.8027
tenureTenure type99-year leasehold, freehold
agent_nameAgent nameTan Wei Ming
agent_idAgent IDuser_abc123
agencyAgency namePropNex Realty Pte Ltd
posted_atListing posted time (ISO 8601)2026-06-15T10:30:00.000Z
image_urlsArray of listing image URLs["https://cdn.99.co/photos/abc123_main.jpg"]
listing_urlFull listing URLhttps://www.99.co/singapore/sale/map/hdb/...
source_modeWhich mode this record came fromsearch
source_queryThe query used to fetch this recordhdb queenstown sale
scraped_atTime of scraping (ISO 8601)2026-07-04T05:23:28.617Z

Modes

ModeWhat it doesBilling eventPriceStatus
🔎 searchKeyword search, scrape a listing list by criteriasearch-listing (per item)$0.002v1.0
📦 detailFetch full details of a single listing by ID/URLproduct-detail (per item)$0.008v1.1

Regardless of which mode you run, every run start incurs a one-time apify-actor-start fee of $0.005. All charges are only applied after data has been successfully written to the dataset — the run log prints total_items / charged / skipped at the end so you can reconcile.


Input fields

FieldTypeRequiredDefaultDescription
modeenumrecommendedsearchOnly search (search listing) is available currently; detail is planned for v1.1.
queriesstring[]required for searchSearch queries, one per line, e.g. hdb queenstown sale, condo orchard rent. Up to 50 per run.
listingTypeenumoptionalsalesale or rent.
mainCategoryenumoptionalhdb / condo / landed. Leave empty to scrape all types.
bedroomsintegeroptionalSpecify number of bedrooms (1+). Leave empty for no limit.
priceMinintegeroptionalOnly keep listings priced (sale/rent) at or above this amount (SGD). Leave empty for no limit.
priceMaxintegeroptionalOnly keep listings priced (sale/rent) at or below this amount (SGD). Leave empty for no limit.
bulkInputstringoptionalOne entry per line, press Enter to add a new line, no quotes or commas. Used as search queries in search mode — merged automatically into queries at run time. Fastest way is to paste a whole column copied from Google Sheets / Excel.
maxItemsintegeroptional50Maximum number of listings to scrape per search query (1-500). Higher values cost more.
proxyConfigurationobjectoptional99.co restricts non-Singapore IPs. We recommend enabling Apify Proxy (Residential or RESIDENTIAL_SG) to avoid 429 blocks.

Examples

🔎 Basic search: Queenstown HDB

{
"mode": "search",
"queries": ["hdb queenstown sale"],
"maxItems": 20
}

🏠 Price range + bedroom count

{
"mode": "search",
"queries": ["condo orchard rent"],
"listingType": "rent",
"mainCategory": "condo",
"bedrooms": 2,
"priceMin": 3000,
"priceMax": 8000,
"maxItems": 50
}

📋 Bulk search across multiple neighborhoods

{
"mode": "search",
"bulkInput": "hdb toa payoh sale\nhdb bishan sale\nhdb ang mo kio sale",
"maxItems": 100
}

Notes

  • Public data only. No login required, no 99.co account needed, and no content requiring authentication is accessed.
  • No login / no API token needed. Fill in the input and run — there are no credentials to configure.
  • The same listing hit by multiple queries produces one row per source_query (billed per query). For example, if both hdb queenstown sale and hdb central sale match the same listing, it will appear as two rows, each billed as a separate search-listing.
  • Cross-page deduplication: within the same search query, if the same listing appears on multiple pages, it's only counted once (built-in deduplication).
  • Polite to the site. Concurrency per domain is capped at 5, failed requests are retried up to 3 times with exponential backoff — the actor won't hammer 99.co's servers.
  • Listing detail mode (detail mode) is planned for v1.1. Only search mode is supported currently.

FAQ

Q: How do I write search queries? One per line, formatted as closely as possible to what a user would type into 99.co's search box, e.g. hdb queenstown sale, condo river valley rent, landed serangoon. You can omit sale/rent (use the listingType field to control it instead), or include it — the scraper passes it through as a query tag either way.

Q: Why is price_per_sqft null? Some 99.co listings don't list a price-per-square-foot figure, or the API doesn't return an area_ppsf field for them. In that case we always return null rather than estimating a value.

Q: How is billing calculated? Each run start incurs a one-time apify-actor-start charge ($0.005); search mode charges search-listing ($0.002) per listing returned. Both are only charged after data is successfully written to the dataset — the run log prints the actual number of billed items.

Q: What if I don't get any data? First check your search query spelling, or try a more common neighborhood name or property type. The scraper stops itself and logs the reason after 5 consecutive requests return no new data, so it won't burn compute for nothing. If you're hitting 429 blocks, we recommend enabling the proxy setting.

Q: When will detail mode (full listing details) be available? Planned for v1.1. At that point you'll be able to bulk-fetch full listing details by listing ID or 99.co listing URL.


Deployment

apify login # first time only: paste your Apify token (never committed to the repo)
apify push # build and upload to Apify Store

After publishing, configure PPE event prices in the Apify Console under Monetization: apify-actor-start $0.005, search-listing $0.002.


Disclaimer

This scraper only collects publicly visible property listing data from 99.co. Data is intended for research and personal use only, not for any unauthorized commercial resale. Please confirm compliance with 99.co's terms of service and applicable local regulations before use. This actor makes no guarantees regarding the accuracy, timeliness, or completeness of the data — refer to 99.co's official site for current property prices and listing status.


99.co scraper, Singapore property, SG real estate, property for sale Singapore, property for rent SG, HDB condo listings, Singapore housing data