Property24 South Africa Scraper 🏠
Pricing
Pay per usage
Property24 South Africa Scraper 🏠
Scrape live property listings from South Africa's #1 real estate platform. Extract prices, addresses, descriptions, agent details & photos. Ideal for investment analytics, market research, competitor tracking, price benchmarking & real estate AI datasets. Structured JSON ready.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Shahid Irfan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Property24 South Africa Scraper
Extract property and real estate listings from Property24 South Africa with ease. Collect pricing, location, property features, listing URLs, and images from search result pages. Perfect for real estate market research, investment analysis, and property trend monitoring.
Features
- Direct Location and Category Crawling - Collect listings from any Property24 search results URL.
- Smart Keyword Search Resolution - Converts location keywords into matching listing areas automatically.
- Clean Property Records - Includes listing identifiers, prices, locations, images, and normalized feature values.
- Duplicate Filtering - Removes repeated listings by listing identity and URL.
- Fast Search Collection - Handles multi-page extraction with result and page limits.
Use Cases
Real Estate Market Analysis
Monitor listing prices and property sizes in specific suburbs of South Africa. Track changes over time to identify emerging high-value zones.
Investment Property Scouting
Filter and scan listing attributes like bedrooms, bathrooms, and floor sizes to discover undervalued properties that fit your portfolio criteria.
Agency Competitor Intelligence
Analyze which real estate agencies and agents are most active in particular regions and track their listings.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | - | Start scraping from a specific search results URL. |
keyword | String | No | - | Location keyword used when startUrl is not provided. |
results_wanted | Integer | No | 20 | Maximum number of property listings to collect. |
max_pages | Integer | No | 10 | Safety cap on the number of search result pages to visit. |
proxyConfiguration | Object | No | { "useApifyProxy": true } | Proxy configuration options. |
Output Data
Each property listing contains:
| Field | Type | Description |
|---|---|---|
listing_id | String | Listing identifier from the listing URL |
title | String | Property name or title |
url | String | Direct property listing URL |
price | Number | Property price value |
currency | String | Price currency (ZAR) |
property_type | String | Property category (e.g. House, Apartment) |
bedrooms | Number | Number of bedrooms |
bathrooms | Number | Number of bathrooms |
parking_spaces | Number | Number of parking spaces |
floor_size | Number | Floor size value |
floor_size_unit | String | Unit of floor size (e.g. m²) |
erf_size | Number | Erf or land size value |
erf_size_unit | String | Unit of erf or land size |
locality | String | Locality or suburb name |
city | String | City or municipality path value |
region | String | Region or province name |
latitude | Number | Listing latitude |
longitude | Number | Listing longitude |
agency_name | String | Real estate agency name |
agent_name | String | Listing agent name |
agency_logo_url | String | Agency logo image URL when available |
image_urls | Array | Listing image URL collection |
features | Object | Parsed feature map from listing cards |
source | String | Source page type used for the record |
Usage Examples
Search by Location Keyword
To search for listings in a specific suburb:
{"keyword": "Mandalay","results_wanted": 20}
Crawl a Specific Search URL
To extract listings from a pre-filtered category page:
{"startUrl": "https://www.property24.com/for-sale/western-cape/9","results_wanted": 50}
Sample Output
{"listing_id": "117400230","title": "4 Bedroom House","url": "https://www.property24.com/for-sale/wilderness-central/wilderness/western-cape/17495/117400230","price": 15000000,"currency": "ZAR","transaction_type": "for-sale","locality": "Wilderness Central","city": "wilderness","region": "western-cape","bedrooms": 4,"bathrooms": 4.5,"parking_spaces": 4,"floor_size": 971,"floor_size_unit": "m²","erf_size": 6971,"erf_size_unit": "m²","agency_name": "Jawitz Properties Wilderness","image_urls": ["https://images.prop24.com/382793673/Crop600x400"],"features": {"bedrooms": 4,"bathrooms": 4.5,"parking_spaces": 4,"floor_size": 971,"erf_size": 6971,"erf_size_unit": "m²"},"source": "listing_page"}
Tips for Best Results
- Use Precise Location Keywords - Use specific suburb names rather than broad terms to match the platform's categorization.
- Enable Residential Proxies - For high volume runs, use residential proxies to reduce rate limits and blocking.
- Test with Smaller Datasets First - Start with 20 results to confirm listing patterns before collecting larger datasets.
Integrations
Connect your scraped data to third-party tools:
- Google Sheets - Export directly to spreadsheets.
- Airtable - Build property databases.
- Slack - Get alerts for new properties.
- Webhooks - Send results to your own system.
Frequently Asked Questions
Can I scrape multiple pages?
Yes, the scraper automatically handles pagination (via next-page links) until the results limit is reached.
What if some fields are missing?
The scraper removes null and empty values dynamically. Some listings may lack features like floor size or agent details.
Support
For issues or feature requests, contact support via the Apify Console.
Legal Notice
This scraper is designed for legitimate data collection. Users are responsible for complying with the website terms of service and relevant local privacy laws.