We extract residential and commercial listings, historical sales data, erf sizes, and agent intelligence from Property24. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Residential Listings objects from property24.com. All fields typed and schema-versioned.
"p24_id": "113498214", "title": "3 Bedroom House in Sandton", "price": 3450000.0, "bedrooms": 3, "bathrooms": 2.5, "garages": 2, "erf_size": "1200 sqm", "suburb": "Sandton", "city": "Johannesburg", "listed_date": "2023-10-14T08:30:00Z"
| # | p24_id | title | price | bedrooms | bathrooms | garages |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Commercial Listings objects from property24.com. All fields typed and schema-versioned.
"p24_id": "113498215", "title": "Office Space in Century City", "price": 45000.0, "price_per_sqm": 150.0, "property_type": "Office", "gross_lettable_area": "300 sqm", "suburb": "Century City", "city": "Cape Town", "listed_date": "2023-10-12T09:15:00Z"
| # | p24_id | title | price | price_per_sqm | property_type | gross_lettable_area |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Agent Profiles objects from property24.com. All fields typed and schema-versioned.
"agent_id": "AG78901", "name": "Jane Doe", "agency": "Pam Golding Properties", "phone_number": "+27 82 123 4567", "active_listings_count": 24, "areas_covered": "['Sandton', 'Bryanston', 'Morningside']", "profile_url": "https://www.property24.com/estate-agents/jane-doe/78901"
| # | agent_id | name | agency | phone_number | active_listings_count | |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Historical Sales objects from property24.com. All fields typed and schema-versioned.
"transfer_date": "2022-05-18", "price": 2850000.0, "address": "14 Oak Avenue, Rondebosch", "erf_number": "12345", "property_type": "Freehold", "title_deed_number": "T12345/2022", "buyer_name": "Private Person"
| # | transfer_date | price | address | erf_number | property_type | buyer_name |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Suburb Trends objects from property24.com. All fields typed and schema-versioned.
"suburb": "Rondebosch", "city": "Cape Town", "average_asking_price": 3200000.0, "average_sale_price": 2950000.0, "sales_volume_yoy": 145, "active_listings_count": 87, "demographic_data": "Available"
| # | suburb | city | province | average_asking_price | average_sale_price | sales_volume_yoy |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Our Property24 scraper navigates map-based searches, dynamic phone reveals, and pagination limits to extract every listing, agent profile, and historical sale record.
Extract houses, apartments, farms, and commercial spaces with property-specific metadata and dimensional attributes.
Capture agent names, contact details, agency affiliations, and active portfolio sizes across all regions.
Extract past transfer dates, sale prices, and erf numbers from the Property Values section to track appreciation.
Capture latitude, longitude, and nearby points of interest like schools and hospitals for spatial analysis.
Monitor asking price changes, listing durations, and delist events across suburbs to gauge market velocity.
Extract structured dimensions for land size, floor area, and zoning categories for accurate valuations.
Scrape full-resolution image URLs for property galleries, floor plans, and virtual tour links.
Aggregate demographic data, average asking prices, and sales volumes by neighbourhood.
Run daily diffs to identify new listings, sold properties, and price reductions without processing full payloads.
Brief in. Clean data out.
Provide target suburbs, property types, or agency profiles. We design the extraction schema together.
We configure Scrapy / Playwright crawlers, proxy rotation, session management, and CAPTCHA handling for property24.com.
Schema validation, null-rate checks, price-outlier detection, and sample validation before full launch.
JSON / CSV / Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.
Property portals deploy aggressive anti-scraping measures to protect their inventory. Here is how we maintain reliable extraction pipelines.
Property24 limits search results to a fixed number of pages. We bypass this by programmatically sub-dividing geographic queries using map bounding boxes to ensure total coverage of dense metropolitan areas.
Agent contact numbers require a click event to reveal. We use Playwright to simulate user interaction and extract the unmasked numbers without triggering bot detection heuristics.
Property portals use Cloudflare and custom WAFs to block datacenter IPs. Our crawlers use South African residential proxies and realistic browser fingerprints to bypass geographic and reputation-based blocks.
Listing layouts vary significantly between standard listings and premium agency templates. Our selectors use multiple fallback chains to normalise data across all template variations.
For national property feeds, we maintain a hash index of last-seen values per listing. Subsequent runs only push diffs, reducing downstream processing load and storage costs.
Monitor competitor listings, agent performance, and market share across specific suburbs to optimise pricing strategies.
Feed raw listing data and historical sales into automated valuation models and investment algorithms.
Analyse suburb trends, average asking prices, and time-on-market to identify lucrative development zones.
Use historical transfer data and current asking prices to calibrate mortgage risk models and collateral valuations.
Analyse commercial property availability and pricing for site selection and expansion planning.
Track macro-economic indicators through housing market velocity, price reductions, and inventory levels.
"Property24 holds the definitive record of the South African real estate market, but extracting it requires navigating complex map grids and dynamic rendering."
Most teams underestimate the investment required: reliable Property24 scraping requires South African residential proxies, full JavaScript rendering for contact reveals, and geographic query subdivision to bypass pagination limits. DataFlirt absorbs that complexity so your engineers can focus on the analysis, not the infrastructure.
Everything supported by our property24.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
Scrapy handles crawl orchestration, deduplication, and retry logic. Playwright handles JavaScript rendering, cookie sessions, and interaction flows.
We maintain pools of residential ISP proxies across South Africa. Rotation happens per-request with sticky sessions where required.
Pipelines run on AWS Lambda and ECS. Airflow handles scheduling, dependency management, and SLA alerting. All state stored in managed Postgres.
Data delivered to where your team already works — no new tooling required.
About property24.com scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available information is generally permissible under applicable law. DataFlirt targets only public, non-authenticated property and agent data. We do not extract personal user data or circumvent authentication walls.
Property24 restricts search results to a maximum number of pages. We bypass this by programmatically sub-dividing large geographic areas into smaller map bounding boxes, ensuring total extraction coverage.
Yes. Phone numbers on Property24 are often masked and require a click to reveal. We use Playwright to execute the necessary JavaScript and extract the unmasked numbers.
Yes, we can extract historical transfer dates, sale prices, and erf numbers from the Property Values and Trends sections.
Daily pipelines capture new listings, price changes, and delisted properties within a 24-hour window. Real-time monitoring can be configured for specific high-value suburbs.
Yes. Our schema handles both residential and commercial listings, normalising fields like gross lettable area and price per square metre.
Absolutely. We provide a sample run of up to 500 listings or a specific suburb as part of the pre-engagement scoping process to validate schema fit and data quality.
20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a daily feed of active listings or a historical dump of property values across South Africa - we scope, build, and operate the pipeline. Tell us what you need.