Listing Search
/api/privateproperty/listings/search
Search residential, commercial, or farm listings for sale or rent
Scrappa is an independent Private Property API that returns South African property listings as structured JSON. Search residential, commercial, and farm listings for sale and to rent with price, bedroom, and sub-category filters, browse new developments and open one for full detail, and resolve any location through a complete province-to-suburb hierarchy. Scrappa is not affiliated with or endorsed by Private Property.
Try it now
Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.
curl -X GET "https://scrappa.co/api/privateproperty/listings/search?type=residential&deal_type=sale&min_bedrooms=3" \
-H "Accept: application/json" \
-H "X-API-KEY: YOUR_API_KEY"
{
"success": true,
"type": "residential",
"deal_type": "sale",
"page": 1,
"total_filtered_results": 110757,
"results": [
{
"portalRef": "T5642440",
"listingId": 12109613,
"listingPrice": {
"price": 1850000,
"isPoa": false
},
"propertySuburbName": "Pretoria East",
"propertyAttributes": {
"beds": 4,
"baths": 3
},
"description_truncated": true
}
]
}
Structured data for real applications. Here are some ideas.
Pull for-sale and to-rent listings nationally or per province, suburb, or town, with price, bedroom, and sub-category filters.
Search new developments by location and price range, then open a single development for its full detail.
Power a suburb picker with autocomplete suggestions, or walk the full administrative hierarchy from province down to suburb.
Cover the whole South African market, including farms, small holdings, industrial, retail, office, and hospitality listings.
Private Property scraper API
The Private Property API is built for proptech developers, analysts, and agencies that need South African property data without maintaining their own scrapers. Combine type with deal_type to pick a market, filter by price, bedrooms, and sub-category, resolve a location through autocomplete or the province-to-suburb hierarchy, and search new developments. Listings keep the upstream field names, so they stay rich and survive upstream field additions.
Search residential, commercial, and farm listings across nine provinces, for sale and to rent.
Filter by price range, bedrooms, bathrooms, sub-category, rental price period, and property amenities.
Get listing prices, statuses, addresses, attributes, features, media URLs, and the advertising office as structured JSON.
Walk the complete South African location hierarchy, or autocomplete a location prefix and reuse the returned id.
Search new developments and open one for its full detail.
Every listing is flagged with description_truncated so you know when a description arrived shortened.
Test the Private Property API with 500 free monthly Scrappa credits before scaling production traffic.
Look up the province id with locations/children using shape_id 1, then pass it as location_id to listings/search with type and deal_type. The response includes total_filtered_results, pagination, and listings with price, address, attributes, features, media, and the advertising office.
Open Private Property Search API docsCall locations/autocomplete with a prefix such as Pretoria. Each suggestion carries a text, a descriptor of the parent region, and an item id that can be used directly as location_id in search.
Open Private Property Autocomplete docsSearch developments by location and price range, then open one by development_id for the full record, including its price range and imagery.
Open Private Property Developments docsEverything you need in one API.
/api/privateproperty/listings/search
Search residential, commercial, or farm listings for sale or rent
/api/privateproperty/developments/search
Search new developments in South Africa
/api/privateproperty/developments/detail
Get full detail for one development by id
/api/privateproperty/locations/autocomplete
Suggest South African locations by prefix
/api/privateproperty/locations/children
List the child locations of a location id; use 1 for the provinces
/api/privateproperty/locations/suggested
Suggest areas related to one or more chosen location ids
/api/privateproperty/reference/bond-rate
Current public bond interest rate for South Africa
See how Scrappa compares to the official API.
| Feature | Scrappa | Generic scraping APIs |
|---|---|---|
| Dedicated Private Property endpoints | Yes (7 endpoints) | |
| Output format | Structured JSON | Raw HTML |
| Upstream listing fields preserved | You write the parser | |
| Residential, commercial, and farm coverage | ||
| New development search and detail | ||
| Province-to-suburb location hierarchy | You build it | |
| Parser maintenance | Handled by Scrappa | Your team |
| Failed requests billed | Never | Varies by provider |
| Free tier | 500 credits/month | Varies by provider |
The Private Property API is Scrappa's REST API for public Private Property listing data. It returns listing search results, new developments, development detail, location lookup, and the current bond rate as structured JSON.
No. Scrappa is an independent service and is not affiliated with or endorsed by Private Property. You only need a Scrappa API key to use the seven endpoints on this page.
Use the locations endpoints. locations/children with shape_id 1 returns the nine provinces, and each returned id can be passed back as shape_id to walk down to regions, areas, and suburbs. locations/autocomplete with a prefix returns suggestions whose item id can be used directly as location_id in search.
They depend on the listing type and deal type. Residential for sale accepts House, TownHouseCluster, ApartmentFlat, and VacantLandPlot, plus GardenCottage when renting. Commercial accepts Commercial, Industrial, Retail, Office, Hospitality, and VacantLandPlot. Farms accept Farm, SmallHolding, FarmWithHouse, FarmLand, AgriculturalHolding, CommercialFarm, and GameFarm. Unknown values are rejected with a 422 instead of silently returning nothing.
Listing descriptions arrive as a short prefix rather than the full text. Every affected listing carries description_truncated set to true, so you can tell the difference between a short description and a complete one.
The search payload carries the short form only. All other listing fields, including price, address, attributes, features, and media, are returned in full.
Pages are capped, because a complete national walk would be tens of thousands of requests. Narrow by location or price to stay inside the cap.
Yes. Every Scrappa account includes 500 free credits per month, so you can test the Private Property endpoints before buying credit packs or moving to a subscription.
Each request uses one Scrappa credit, and paid usage starts at $0.20 per 1,000 requests. Failed requests are not billed.