Property24 Scraper: Real Estate Listings, Prices & Broker Leads
Pricing
from $0.52 / 1,000 property listings
Property24 Scraper: Real Estate Listings, Prices & Broker Leads
Extract property listings, asking prices, bedrooms, bathrooms, floor sizes, agencies, and WhatsApp agent contact links across nine African countries from Property24.com. Export clean tables to Google Sheets, Make, or Zapier, or schedule daily new-listing and price-change alerts. Pay per result.
Pricing
from $0.52 / 1,000 property listings
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
13
Total users
3
Monthly active users
11 days ago
Last modified
Categories
Share
🏠 Property24 Scraper: Real Estate Listings, Prices & Broker Leads
|
Nine African markets, one dataset, agent WhatsApp links on every deep-scrape row Pull Property24 listings for sale, to rent, or recently sold in any city or suburb. Fast list mode returns core fields in minutes. Deep scrape adds agent phone numbers, WhatsApp links, geo coordinates, and photo galleries. |
|
🌍 Nine countries, one run Cover South Africa, Kenya, Namibia, and six more African markets without building separate scrapers for each. |
📱 WhatsApp links per agent Every deep-scrape row includes a ready-to-click WhatsApp contact link for the listing agent. |
🔔 Daily change alerts Schedule the run and receive only new listings, price shifts, and status changes since the last run. |
🏷️ Fast or deep, your choice Core fields from search pages in seconds. Full agent contacts and photos with one toggle. |
Get structured property data from Property24 across nine African markets in minutes. Pick a location, set your filters, and download a spreadsheet of live listings. No login required.
🏠 What does Property24 scraper do?
It collects property listings from Property24 and returns them as a clean, flat table you can open in Excel, Google Sheets, or feed into your own tools.
You can scrape:
- Properties for sale, to rent, or recently sold
- Any city, suburb, or region across South Africa, Namibia, Kenya, Botswana, Zimbabwe, Zambia, Nigeria, Tanzania, and Mozambique
- Asking price, price per square meter, bedrooms, bathrooms, garages, floor size, and plot size
- The listing agent, agency, direct phone number, and WhatsApp contact link
- Full descriptions, amenities, levies, rates, and image galleries
Enter a location name and it builds the search for you. Or paste your own Property24 search and listing URLs if you already have them.
💡 Who uses this?
- I am a property fund analyst tracking the Cape Town and Sandton markets. I pull every new listing in my target suburbs each morning, with price per square meter already calculated, so I can spot mispriced stock before anyone else.
- I am a real estate lead-gen service that needs agent contacts at scale. I turn on deep scrape and every row comes with the agent name, agency, phone, and a ready-to-use WhatsApp link. No manual browsing required.
- I am a relocation agent comparing rentals for a client. I filter by price, bedrooms, and minimum floor size, then hand my client a single sheet of every matching home with photos and a map pin.
- I am a data analyst building a housing price model. I export thousands of listings with consistent numeric fields: price, floor area, plot size, levies, and rates. The data lands analysis ready.
⚡ Two ways to run it
Fast list mode (default). Reads search result pages and returns the core fields for every listing: title, price, type, location, bedrooms, bathrooms, and the listing URL. Best when you want a wide sweep of the market quickly and cheaply.
Deep scrape mode. Visits each listing page to add the high-value extras: agent name and phone, agency, WhatsApp link, latitude and longitude, floor and plot size, levies, rates, full description, amenities, and image gallery. Best for lead generation and detailed analysis. Turn it on with a single toggle.
🚀 How to use Property24 scraper
|
STEP 1 Pick your location Type a suburb or city name, select a country, and choose listing type. Or paste a Property24 URL directly. |
STEP 2 Set filters and depth Filter by price range, bedrooms, and property type. Toggle deep scrape for agent contacts and full property details. |
STEP 3 Download and act Export as Excel, CSV, or JSON. Schedule for daily market alerts and connect to Google Sheets, Make, or Zapier. |
📥 Input
| Field | Type | Required | Description |
|---|---|---|---|
startUrls | array of URLs | No | Property24 search, category, or direct listing URLs. Overrides the country and location fields when provided. |
searchLocations | array of strings | No | One or more place names to search, such as Cape Town, Sandton, or Nairobi CBD. The scraper builds the search URL for you. |
locations | array of strings | No | Additional city, suburb, or region names to match in returned listings. searchLocations remains the primary URL seed field. |
country | enum | No | Which Property24 country site to target when no start URLs are given. Covers South Africa, Namibia, Kenya, Botswana, Zimbabwe, Zambia, Nigeria, Tanzania, and Mozambique. Defaults to South Africa. |
countries | array of enum | No | Run the same search across multiple country sites at once. Ignored when start URLs are provided. |
listingType | enum | No | Scrape properties for sale, to rent, or recently sold. Defaults to for sale. |
propertyType | enum | No | Narrow results to houses, apartments, townhouses, vacant land, farms, or commercial. Defaults to any type. |
maxItems | integer | No | Maximum number of listings to return across all searches. Defaults to 100. |
minPrice | integer | No | Only return listings at or above this asking price. |
maxPrice | integer | No | Only return listings at or below this asking price. |
bedrooms | integer | No | Only return listings with at least this many bedrooms. |
bathroomsMin | integer | No | Only return listings with at least this many bathrooms. |
minFloorSize | integer | No | Only return listings at or above this floor area in square meters. Works best with deep scrape on. |
maxFloorSize | integer | No | Only return listings at or below this floor area in square meters. |
sortBy | enum | No | Order results by newest, price ascending, price descending, or floor size. Defaults to relevance. |
deepScrape | boolean | No | Visit each listing page to add agent contacts, WhatsApp links, coordinates, sizes, levies, rates, and photos. Defaults to false. |
monitorMode | enum | No | Snapshot returns the current matching listings on every run. Changes compares against the stored state and emits only transitions. Defaults to snapshot. |
monitorScope | string | No | Key to separate independent monitoring cohorts. Keep it stable for the same country, location, and filter combination. Defaults to property24-default. |
emitUnchanged | boolean | No | In changes mode, also emit listings whose fields did not change since the last run. Defaults to false. |
proxyConfiguration | object | Yes | Proxy settings. Residential proxies are recommended for South African domains. Datacenter proxies typically work for other countries. |
📤 Output
Each listing is saved as one row. Here is a single enriched record from a deep scrape run:
{"listing_id": "117156004","title": "6 Bedroom House in Camps Bay","listing_type": "For Sale","property_type": "House","country": "South Africa","province": "Western Cape","city": "Cape Town","suburb": "Camps Bay","street_address": "Geneva Drive","postal_code": "8005","latitude": -33.9508,"longitude": 18.3776,"description": "Architectural masterpiece with uninterrupted Atlantic views...","price": 75000000,"price_text": "75000000 (ZAR)","price_per_sqm": 125000,"bedrooms": 6,"bathrooms": 6,"garages": 3,"parking_spaces": 4,"floor_size": 600,"erf_size": 850,"levies": 0,"rates_taxes": 12500,"has_solar": "Yes","pet_friendly": "Yes","garden": "Yes","picture_url": "https://images.prop24.com/117156004/Crop600x400","agency_name": "Seeff Atlantic Seaboard","agent_name": "Jane Smith","agent_phone": "+27821234567","whatsapp_link": "https://wa.me/27821234567","listing_url": "https://www.property24.com/for-sale/camps-bay/cape-town/western-cape/11014/117156004","scraped_at": "2026-06-24T18:33:22.000Z"}
In fast list mode, contact, coordinate, and size fields are omitted. Only core listing fields are returned.
📊 Data table
| Field | Type | Description |
|---|---|---|
listing_id | string | Unique Property24 listing identifier. |
title | string | Listing headline, such as "3 Bedroom House in Rondebosch". |
listing_type | string | For Sale, To Rent, or Recently Sold. |
listing_status | string | Current status of the listing on the platform. |
property_type | string | House, Apartment, Townhouse, and similar. |
country | string | Country the listing is in. |
province | string | Province or region. |
city | string | City. |
suburb | string | Suburb or neighborhood. |
street_address | string | Street address when published. Deep scrape only. |
postal_code | string | Postal code when published. Deep scrape only. |
latitude | number | Map latitude. Deep scrape only. |
longitude | number | Map longitude. Deep scrape only. |
description_header | string | Short headline above the description. Deep scrape only. |
description | string | Full property description. |
price | number | Asking price as a clean number. |
price_text | string | Price as displayed, with currency. |
price_per_sqm | number | Price divided by floor size. Deep scrape only. |
bedrooms | number | Number of bedrooms. |
bathrooms | number | Number of bathrooms. |
garages | number | Number of garages. Deep scrape only. |
parking_spaces | number | Number of open parking bays. |
floor_size | number | Internal floor area in square meters. Deep scrape only. |
erf_size | number | Plot or land size in square meters. Deep scrape only. |
listed_date | string | Date the listing was posted. Deep scrape only. |
freshness_days | number | Number of days since the listing was posted. Deep scrape only. |
levies | number | Monthly levy amount. Deep scrape only. |
rates_taxes | number | Monthly municipal rates and taxes. Deep scrape only. |
has_solar | string | Yes or No for solar power. Deep scrape only. |
has_backup_battery | string | Yes or No for battery or inverter backup. Deep scrape only. |
pet_friendly | string | Yes or No for pet-friendly. Deep scrape only. |
garden | string | Yes or No for a garden. Deep scrape only. |
picture_url | string | Main listing photo URL. |
images_list | string | Comma-separated gallery image links. Deep scrape only. |
agency_id | string | Listing agency identifier. Deep scrape only. |
agency_name | string | Listing agency name. Deep scrape only. |
agency_logo | string | Agency logo image link. Deep scrape only. |
agent_id | string | Listing agent identifier. Deep scrape only. |
agent_name | string | Listing agent name. Deep scrape only. |
agent_photo | string | Agent profile photo link. Deep scrape only. |
agent_phone | string | Agent phone number. Deep scrape only. |
agent_email | string | Agent email when published. Deep scrape only. |
whatsapp_link | string | Direct WhatsApp link to the agent. Deep scrape only. |
contact_completeness | number | Score from 0 to 1 for how complete the agent contact data is. Deep scrape only. |
lead_score | number | Composite score combining contact completeness and listing quality signals. |
lead_score_breakdown | object | Per-signal breakdown behind the lead score. |
listing_url | string | Link to the original Property24 listing. |
scraped_at | string | Time the record was collected. |
changeType | string | Changes mode only: NEW, UPDATED, PRICE_CHANGED, STATUS_CHANGED, REMOVED, REAPPEARED, or UNCHANGED. |
changedFields | array | Changes mode only: which fields changed since the last run. |
firstSeenAt | string | Changes mode only: when this listing was first seen. |
lastSeenAt | string | Changes mode only: when this listing was last seen. |
💰 Pricing
This Actor runs on a pay-per-result model. You pay only for the listings successfully written to your dataset. Empty runs cost nothing and there are no monthly subscriptions. Deep scrape mode charges an additional fee per enriched record because each one visits the full listing page. Run it once for a market snapshot or schedule it daily and pay only for what you use.
⭐ Enjoying Property24 Scraper?
|
⭐ ⭐ ⭐ ⭐ ⭐ If this scraper saved you from opening fifty listings by hand, spend ten seconds on a rating. A 5-star rating takes 10 seconds and helps other property investors and real estate lead-gen teams find this actor. Your feedback also tells us what to build next. |
| ★ Rate this Actor on Apify |
❓ Frequently asked questions
Is scraping Property24 legal?
Yes, collecting publicly available listing data is generally legal. This Actor only reads pages that anyone can view in a browser. You are responsible for how you use the data and for following Property24's terms and your local regulations.
Which countries does it cover?
Nine African markets: South Africa, Namibia, Kenya, Botswana, Zimbabwe, Zambia, Nigeria, Tanzania, and Mozambique. Pick one in the country setting, run across several at once, or paste a URL from any of these sites.
Do I get agent phone numbers and WhatsApp links?
Yes, when deep scrape is on. Each record includes the agent name, agency, phone number, and a ready-to-use WhatsApp link where Property24 publishes them.
Why do some runs return fewer details than others?
Fast list mode returns only the core fields from search pages. To get coordinates, agent contacts, sizes, levies, and photos, turn on deep scrape so the Actor visits each listing page.
Can I schedule it to run automatically?
Yes. Use the Apify scheduler to run it daily, weekly, or at any interval, and connect the output to Google Sheets, Make, Zapier, or your own systems.
🛟 Support
Found a bug or need a new field? Open an issue on the Actor's Issues tab. Suggestions and feature requests are welcome.
⚠️ Disclaimer
This Actor collects only publicly available data and does not bypass logins or access private information. Use the data responsibly and in line with Property24's terms of service and the data protection laws that apply to you.
🔗 Other actors
- 🏢 CommercialRealEstate.com.au scraper: prices, agents, and deal status ready for your spreadsheet ↗ - extracts Australian commercial property listings, prices, and agent contacts.
- 🏘️ Etagi Real Estate Scraper: Парсер Этажи ↗ - collects Russian residential property listings and prices from Etagi.
- 🏠 Yandex Realty Scraper: Яндекс Недвижимость ↗ - pulls property listings from Yandex's real estate portal.
- FastExpert Scraper ↗ - gathers real estate agent profiles, transaction counts, and contact details from FastExpert.
- CIAN Real Estate Scraper: Недвижимость ЦИАН ↗ - extracts real estate listings from Cian, Russia's largest property portal.