
Property24 Scraper
hipersoft/property24-scraper
Scrape South African property listings from Property24, for sale or to rent: price, title, suburb, bedrooms, bathrooms, parking, floor and erf size, agency, images and listing URL. Export one clean row per property as JSON, CSV or Excel for research, valuation and lead generation.
Total users
1Monthly users
0Total runs
59Per property listing scraped
$0.003Last rebuilt
Oct 26, 2026Overview
Scrape South African property listings from Property24 as clean, structured JSON, CSV, Excel or XML. Choose for sale or to rent, point it at any city, suburb or filtered search, and it returns one tidy row per property — price, title, suburb, bedrooms, bathrooms, parking, floor and erf size, agency, main image and the listing URL. Turn on full details to also pull the complete description, feature list, agent and photo gallery. Perfect for property-market research, valuation, lead generation and automation.
What does Property24 Scraper do?
This actor turns Property24 search results into a ready-to-use dataset. Give it a location (as a simple city/province/areaId path) or paste one or more Property24 results-page URLs straight from your browser, pick for sale or to rent, and it walks every results page and collects each property with rich, structured fields. Enable Include full details and it opens each property's own page for the full description, complete feature list, agent name and image gallery.
What data can you get?
Per property:
| Field | Description |
|---|---|
listingNumber |
Property24 listing reference. |
listingType |
for-sale or to-rent. |
title |
Listing title (e.g. "3 Bedroom Apartment for sale in Marina Da Gama"). |
price |
Price as a number, in South African Rand. |
priceText |
Price exactly as shown (e.g. "R 3 300 000"). |
currency |
Currency code (ZAR). |
description |
Short listing description. |
suburb |
Suburb / area name. |
address |
Street address, when shown. |
bedrooms |
Number of bedrooms. |
bathrooms |
Number of bathrooms. |
parking |
Number of parking spaces. |
floorSize |
Floor size (e.g. "80 m²"). |
erfSize |
Erf / plot size, when shown. |
agency |
Listing agency, when shown. |
image |
Main listing image URL. |
url |
Link to the property page. |
collectedAt |
Timestamp when the row was collected. |
Include full details can additionally attempt to enrich each row, where the property page is reachable, with fullDescription, agent, an images gallery and a details object (type of property, price per m², levies, rates, and more).
Use cases
- Property-market research — map prices, sizes and stock across suburbs and cities.
- Valuation & comparables — pull comparable listings by area, size and price band.
- Lead generation — build lists of listings and agencies for outreach.
- Price & stock monitoring — track asking prices and new listings over time.
- Dashboards — power property dashboards and reports from clean, structured rows.
- Automation — feed fresh listing data into your own pipelines on a schedule.
How to use it
- Add Property24 Scraper to your Apify account and open its input.
- Choose the Listing intent — For sale or To rent.
- Enter a Location path like
cape-town/western-cape/432(copy it from a Property24 results URL), or paste one or more Start URLs from your browser. - Optionally turn on Include full details for the full description, features, agent and gallery.
- Set Max items to cap the output, then click Run.
- Export the results as JSON, CSV, Excel or XML.
Input
{
"intent": "for-sale",
"locationUrlPath": "cape-town/western-cape/432",
"maxItems": 100,
"includeDetails": false
}
| Field | Description |
|---|---|
startUrls |
Optional Property24 results-page URLs to scrape. Overrides intent + location path. |
intent |
for-sale or to-rent. |
locationUrlPath |
Location path city/province/areaId, e.g. cape-town/western-cape/432. |
maxItems |
Cap the number of properties. 0 = no limit. |
includeDetails |
Also collect each property's full description, features, agent and gallery. |
maxConcurrency |
How many detail pages to fetch in parallel when full details are on. |
What you get
One flat JSON row per property, ready to export to CSV, Excel, JSON or XML.
{
"listingNumber": "117588912",
"listingType": "for-sale",
"title": "3 Bedroom Apartment / Flat for sale in Marina Da Gama",
"price": 3300000,
"priceText": "R 3 300 000",
"currency": "ZAR",
"description": "3 Bedroom Apartment in Marina Da Gama",
"suburb": "Marina Da Gama",
"bedrooms": 3,
"bathrooms": 2,
"parking": 2,
"floorSize": "80 m²",
"image": "https://images.prop24.com/385970316/Crop526x328",
"url": "https://www.property24.com/for-sale/marina-da-gama/cape-town/western-cape/10213/117588912"
}
FAQ
Which areas are covered?
Anywhere on Property24 across South Africa. Use a location path like city/province/areaId (copy it from a results URL), or paste full Start URLs for your exact search.
Can I scrape rentals? Yes — set Listing intent to To rent, or paste a to-rent results URL.
Can I get more than the summary fields? Turn on Include full details to additionally attempt to collect each property's full description, feature list, agent and photo gallery where the property page is reachable.
What export formats are supported? JSON, CSV, Excel and XML — plus the Apify API and integrations for automation.
Input
| Field | Type | Description |
|---|---|---|
startUrlsStart URLs | array | Optional. One or more Property24 search/result page URLs to scrape (e.g. a for-sale or to-rent results page for a city, suburb or filtered search). Paste the URL straight from your browser. When set, this overrides the Intent and Location path fields. The scra |
intentListing intent | string · for-sale, to-rent | Choose whether to scrape properties for sale or to rent. Used together with the Location path when no Start URLs are provided. Default: "for-sale" |
locationUrlPathLocation path | string | The Property24 location path to search, in the form 'city/province/areaId' — for example 'cape-town/western-cape/432' or 'johannesburg/gauteng/95'. You can copy this straight out of a Property24 results URL (the part after /for-sale/ or /to-rent/). Ignored whe |
maxItemsMax items | integer | Maximum number of properties to collect (0 = no limit; collect everything the search returns). Default: 100 |
includeDetailsInclude full details | boolean | Also open each property's own page to collect the full description, complete feature list, agent name and image gallery. This makes runs slower but returns richer data. Default: false |
maxConcurrencyMax concurrency | integer | How many property detail pages to fetch in parallel when 'Include full details' is on. Default: 5 |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~property24-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"locationUrlPath": "cape-town/western-cape/432"
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/property24-scraper").call(run_input={
"locationUrlPath": "cape-town/western-cape/432"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/property24-scraper').call({
"locationUrlPath": "cape-town/western-cape/432"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Property Listing Scraped Charged for each property listing returned in the dataset. | $0.003 | $0.0015 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
CNN Fear & Greed Index Scraper
Scrape the CNN Fear & Greed Index: current market-sentiment score and rating, a full historical timeline, and all seven component indicators. Clean structured JSON, CSV or Excel for trading signals, backtesting, dashboards and alerting.
547 runs · 6 users · $0.003 / item scrapedDivar Scraper
Scrape classified ads from Divar, Iran's largest marketplace: title, price (Toman), category, city, district, images and the listing URL. Search any Iranian city with an optional keyword and export one clean row per ad as JSON, CSV or Excel. For market research, price tracking and n8n.
224 runs · 22 users · $0.003 / listing scrapedAirbnb Scraper
Search Airbnb by location and scrape listings: name, property type, price, rating, reviews, coordinates, photos, badges and link. For short-term rental, pricing and market research.
122 runs · 2 users · $0.005 / listing scrapedSingapore HDB Property Information Scraper
Export master data for every HDB block in Singapore (~13,300 blocks): address, town, year completed, max floor, total units, unit mix by flat type (sold & rental) and amenities (market/hawker, carpark, commercial, pavilion). Filter by town, street, year. Public open data, no setup.
113 runs · 1 users · $0.002 / block scrapedPropertyGuru Singapore Scraper
Scrape PropertyGuru Singapore property listings: price, beds, baths, size, address, property type, agent and URL. For property research and lead generation.
106 runs · 3 users · $0.004 / listing scrapedEdgeProp Singapore Property Scraper
Scrape EdgeProp Singapore property listings for sale and rent: price, address, beds, baths, size, PSF and URL.
105 runs · 1 users · $0.004 / listing scrapedSend the site and the fields. We build it and you get it first.