# Changelog of 99.co Singapore Property Listings Scraper (`codingfrontend/99-co-property-listings-scraper`) Actor

- **URL**: https://apify.com/codingfrontend/99-co-property-listings-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/codingfrontend/99-co-property-listings-scraper.md

## Changelog

### \[1.2.1] - 2026-08-31

- Required canonical listing identity, provenance, sequential ranks, and unique URLs.
- Removed raw HTML/screenshot diagnostics and added a compact `OUTPUT` summary.
- Made proxy setup fail closed and tightened public search URL and unknown-input validation.
- Added explicit HTTP/security/empty-document boundary reporting and entity-only schemas.
- Upgraded to the matching Playwright 1.62.1 Node 22 image and reproducible production install.

### \[1.2.0] - 2026-07-23

#### Fixed

- Removed null, blank, placeholder, and empty collection values from stored records
- Switched location searches to 99.co's canonical area URLs
- Applied price, bedroom, and property type filters to extracted listings
- Corrected MRT parsing to prevent adjacent tag text from becoming a station name
- Excluded agent avatars and messaging icons from property image arrays

#### Improved

- Updated the generated Chrome fingerprint range to match the bundled browser
- Added browser-property hardening before navigation
- Expanded the dataset schema for raw prices, areas, images, tags, and search metadata
- Extracted property type, build year, tenure, postal district, agent name, and tags from current listing cards

### \[1.1.0] - 2025-05-19

#### Added

- Enhanced README with real Singapore property sample output and detailed field descriptions
- Multiple dataset views: listings overview, price analysis, and agent directory

#### Improved

- Cloudflare JS challenge detection and bypass logic
- Debug HTML and screenshot saved to key-value store when listings are not found
- Session retry logic for SG residential proxy rotation

### \[1.0.0] - 2025-01-15

#### Added

- Initial release of 99.co Singapore Property Listings Scraper
- Sale and rental listing support with location, price, and bedroom filters
- Extracts property title, address, district, floor area, tenure, agent name, and agency
- Nearest MRT station and built year extracted from listing card
- Fingerprint injection for improved anti-bot bypass
- Pagination support via next-page button detection
