99.co Singapore API Scraper
Pricing
from $1.00 / 1,000 property listings
99.co Singapore API Scraper
Extract structured property listing data from 99.co Singapore (99.co). Search by location, district, listing type, or property type. Returns id, title, price, address, district, beds, baths, floor area, property type, tenure, agent details, image URLs, and listing URLs.
Pricing
from $1.00 / 1,000 property listings
Rating
0.0
(0)
Developer
R.L.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
99.co Singapore Scraper πΈπ¬π
Extract property listings from 99.co Singapore (99.co) at scale. Search by location, district, listing type, and property type β get clean, structured JSON with prices, addresses, floor area, agent contacts, images, geolocation, and direct listing URLs.
Perfect for real estate analytics, price monitoring, lead generation, market research, and building property datasets β no manual copy-pasting, no browser required.
What it does
99.co is one of Singapore's largest property marketplaces. This scraper pulls listing data straight from its internal mobile-app API β reverse-engineered from the official 99.co Android app β and hands you ready-to-use records. Point it at a neighbourhood or postal district, filter by sale/rent and property type, and export the results to JSON, CSV, Excel, or your own database.
- β‘ Fast & reliable β reads the underlying API, not fragile page HTML.
- π― Precise targeting β 28 Singapore postal districts + freetext area/MRT search.
- π’ All property types β HDB, condo/apartment, landed, walk-up, commercial.
- π° Sale or rent β with min/max price and bedroom filters.
- π Rich per-listing data β including agent name, mobile, project name, and exact address.
- π Export anywhere β CSV, JSON, Excel, or push to Google Sheets, Make, Zapier, and 5,000+ apps.
Use cases
- Real estate agents & agencies β track new listings and competitor pricing in your patch.
- Property investors β spot deals, compare price-per-sqft across districts, monitor yields.
- Market analysts & researchers β build historical datasets of Singapore property prices.
- Proptech & data teams β feed clean listing data into dashboards, models, and CRMs.
- Lead generation β collect agent contact details from active listings.
Input
Configure the run from the Apify Console UI or via the API. Every field is optional β leave the search wide open or narrow it down.
| Field | Description |
|---|---|
| Location | Area/neighbourhood/MRT name, e.g. Orchard, Woodlands, Bishan MRT. Freetext search. |
| District | Precise Singapore postal district (D01βD28). Overrides Location when set. |
| Listing type | For Sale or For Rent. |
| Property type | Condo/Apartment, HDB, Landed, Walk-up, or Commercial. |
| Min / Max price (S$) | Price range in SGD (monthly for rentals). |
| Bedrooms | Exact number of bedrooms. |
| Fetch full listing detail | Also fetch each listing's detail page for agent contact, project name, and exact address. Roughly doubles request count. |
| Max items | Cap the number of listings returned (0 = unlimited). |
| Proxy | Apify Proxy enabled by default for reliable requests. |
Example input
{"districtCode": "D09","listingType": "sale","propertyType": "condo","minPrice": 1000000,"maxPrice": 3000000,"bedrooms": 2,"maxItems": 500}
Search all of Singapore by leaving Location and District empty.
Output
Each listing is one dataset record. Export to JSON, CSV, Excel, HTML, or RSS, or fetch via the Apify API.
Example output
{"id": "3R2mm6SZtgjGJP3N2RAoW9","title": "224 Bishan Street 23","typeText": "For Sale","price": 850000,"pricePretty": "S$ 850,000","pricePerArea": "S$ 774 psf","address": "224 Bishan Street 23 570224","district": "D20","region": "Central Region","beds": "3","baths": 2,"floorArea": 1098,"floorAreaText": "1,098 sqft","propertyType": "hdb_4r","propertyName": "224 Bishan Street 23","tenure": "99 yrs","topYear": "1990","agentName": "Ong Shee Chiat (Nick Ong)","agentMobile": "+6581633644","latitude": 1.35894550352623,"longitude": 103.847698643978,"postalCode": "570224","images": ["https://..."],"listingUrl": "https://www.99.co/property/3R2mm6SZtgjGJP3N2RAoW9","postedDate": "4m"}
Fields returned
id, title, typeText, price, pricePretty, pricePerArea, address, district, region, beds, baths, floorArea, floorAreaText, landArea, landAreaText, propertyType, propertyName, tenure, topYear, furnishing, agentName, agentMobile, agentNumber, latitude, longitude, postalCode, images, hasFloorplans, listingUrl, shareUrl, postedDate, neighbourhoodName, and more.
Singapore postal districts
D01 Raffles Place / Marina Β· D02 Chinatown / Tanjong Pagar Β· D03 Alexandra / Commonwealth Β· D04 Harbourfront / Telok Blangah Β· D05 Buona Vista / Clementi / West Coast Β· D06 City Hall / Clarke Quay Β· D07 Beach Road / Bugis / Rochor Β· D08 Farrer Park / Little India Β· D09 Orchard / River Valley Β· D10 Bukit Timah / Holland Β· D11 Newton / Novena / Thomson Β· D12 Balestier / Toa Payoh Β· D13 Macpherson / Potong Pasir Β· D14 Eunos / Geylang / Paya Lebar Β· D15 East Coast / Marine Parade Β· D16 Bedok / Upper East Coast Β· D17 Changi / Loyang Β· D18 Pasir Ris / Tampines Β· D19 Hougang / Punggol / Sengkang Β· D20 Ang Mo Kio / Bishan Β· D21 Clementi Park / Upper Bukit Timah Β· D22 Boon Lay / Jurong / Tuas Β· D23 Bukit Batok / Choa Chu Kang Β· D24 Lim Chu Kang / Tengah Β· D25 Admiralty / Woodlands Β· D26 Mandai / Upper Thomson Β· D27 Sembawang / Yishun Β· D28 Seletar / Yio Chu Kang
How to use
- Click Try for free / Start.
- Set your filters (location, district, price, property typeβ¦).
- Run the Actor.
- Download results as JSON, CSV, or Excel β or grab them via the Apify API.
Want it on autopilot? Schedule daily or weekly runs to keep a fresh feed of new listings.
Integrations
Connect this Actor to Make, Zapier, Google Sheets, Google Drive, Slack, GitHub, and thousands more via Apify Integrations β or use webhooks and the REST API to pipe listings straight into your own systems.
Cost estimation
There's no per-result pricing configured for this Actor β you pay for the platform compute you use (or nothing extra on your own plan tier). Search + detail requests are lightweight JSON API calls, so runs are typically fast and cheap. Use Max items and disable Fetch full listing detail to keep large runs efficient.
FAQ
Is web scraping 99.co legal? This tool collects publicly available listing data. You are responsible for using it in line with 99.co's terms and applicable laws (including data-protection rules when handling personal data such as agent contacts). Use scraped data responsibly.
Do I need a 99.co account? No.
How many listings can I get? As many as the search returns. Use Max items to cap a run.
Can I get agent contact details? Yes β agentName and agentMobile are included when Fetch full listing detail is on and the agent's contact is published on the listing.
What if a search is too broad? If a location can't be resolved, the run fails fast instead of silently returning all of Singapore β so you never pay for the wrong data.
Support
Found a bug or need an extra field? Open an issue on the Actor's Issues tab. Suggestions welcome.