property24.com APIproperty24.com ↗
Access Property24 listings, suburb price trends, and sold prices via API. Search for sale and rental properties across South Africa with 5 endpoints.
curl -X GET 'https://api.parse.bot/scraper/f39afc08-705e-4f09-bd62-730a2900bdd7/autocomplete_location?query=sandton' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for locations by name to get IDs for other endpoints. Returns suburbs, cities, provinces matching the query.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Location search term (e.g., 'rondebosch', 'sandton') |
{
"type": "object",
"fields": {
"data": "array of location objects with id, name, type, parentName, normalizedName",
"status": "string, always 'success'"
},
"sample": {
"data": [
{
"id": 8682,
"name": "Rondebosch",
"type": 1,
"source": 0,
"parentName": "Cape Town",
"normalizedName": "rondebosch",
"normalizedParentName": "cape town"
}
],
"status": "success"
}
}About the property24.com API
The Property24 API gives developers structured access to South Africa's leading property marketplace through 5 endpoints covering listing search, full property details, suburb price trends, and street-level sold prices. The search_properties endpoint returns paginated results filterable by province, city, suburb, bedrooms, bathrooms, and price ceiling. Location IDs needed across all endpoints are resolved via autocomplete_location.
Location Resolution and Search
All area-based endpoints accept city, suburb, province, and area_id parameters. The autocomplete_location endpoint is the entry point: pass a partial place name (e.g., 'rondebosch' or 'sandton') and receive an array of matching location objects, each carrying an id, name, type, parentName, and normalizedName. Feed that id into area_id on any downstream endpoint to ensure accurate area targeting. search_properties additionally accepts bedrooms, bathrooms, max_price, and page for paginated, filtered results; the response exposes a results array alongside page and total_count.
Property Detail
get_property_detail takes a listing_id sourced from search_properties results and returns a single listing object with fields including ListingNumber, Title, Price, Description, Features, Images, and Location. Passing the matching suburb, city, province, and area_id alongside the listing_id avoids routing errors; search_type accepts 'for-sale' or 'to-rent' to disambiguate listing category.
Market Intelligence Endpoints
get_suburb_property_trends returns historical market data for a suburb: annualSaleAndListingTrendsGraph, propertiesOnSaleGraph, averageListPriceVsBedroomsGraph, and soldPropertiesGraph, along with buyer/seller age demographic data. This makes it suitable for time-series analysis of a neighbourhood's price trajectory. get_sold_prices returns street-level sold price data for an area — the response includes a results array of street objects and a title — useful for granular property valuation work.
- Build a property search tool filtered by province, city, bedrooms, and max price using
search_properties - Aggregate suburb-level price trend charts using
annualSaleAndListingTrendsGraphandaverageListPriceVsBedroomsGraphfromget_suburb_property_trends - Enrich a CRM with full listing details — description, features, images — via
get_property_detail - Map street-level sold prices across Cape Town neighbourhoods using
get_sold_prices - Power a location autocomplete widget backed by
autocomplete_locationto resolve suburb and city IDs - Track rental vs. sale inventory shifts over time by comparing paginated
search_propertiesresults across periods - Analyze buyer and seller age demographics per suburb using the demographic fields in
get_suburb_property_trends
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Property24 have an official developer API?+
What does `get_suburb_property_trends` actually return, and how granular is the pricing data?+
get_sold_prices endpoint.Why do some `get_property_detail` calls fail, and how can I avoid errors?+
listing_id, suburb, city, province, and area_id. Omitting or passing incorrect slug values for those location parameters can result in 404-equivalent routing failures. Always use the slug and ID values returned directly from the corresponding search_properties result for the same listing.Does the API cover commercial properties or only residential?+
search_properties accepts bedrooms, bathrooms, max_price, and area parameters but no property-type selector. You can fork the API on Parse and revise it to add a property-type filter endpoint.Are agent or agency details returned for listings?+
get_property_detail response fields (ListingNumber, Title, Price, Description, Features, Images, Location). You can fork the API on Parse and revise it to add an endpoint that surfaces agent information where it appears on listing pages.