Discover/Private Property API
live

Private Property APIprivateproperty.co.za

Search South African property listings for sale and rent via the Private Property API. Filter by location, price, bedrooms, and features. Get full listing details.

Endpoint health
verified 21h ago
search_properties
get_property_details
get_location_suggestions
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the Private Property API?

The Private Property South Africa API gives developers access to property listings across South Africa through 3 endpoints. Use search_properties to query active for-sale and rental listings with filters for bedrooms, bathrooms, floor size, and property category, then call get_property_details with a listing URL to retrieve structured address data, photos, and a full feature breakdown for any individual property.

Try it
Search phrase for location (e.g. 'Sandton', 'Cape Town')
api.parse.bot/scraper/592f3ef0-16de-44df-bb76-d5fcfc5bbaeb/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/592f3ef0-16de-44df-bb76-d5fcfc5bbaeb/get_location_suggestions?query=Sandton' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace privateproperty-co-za-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.private_property_south_africa_api import PrivateProperty, ListingType

pp = PrivateProperty()

# Search for locations matching "Sandton"
for location in pp.locations.search(query="Sandton"):
    print(location.text, location.descriptor_text, location.item_id)

# Search for properties for sale in that area
for listing in pp.propertysummaries.search(
    location_id="34",
    listing_type=ListingType.FOR_SALE,
    beds=2,
    limit=5,
):
    print(listing.title, listing.price, listing.address, listing.locality)

    # Get full property details
    detail = listing.details()
    print(detail.price_text, detail.address.address_locality, detail.address.address_region)
    for photo in detail.photo:
        print(photo.content_url)
All endpoints · 3 totalmissing one? ·

Search for location suggestions to use in property searches. Returns location names and IDs that serve as the location_id parameter in search_properties. Query matches against suburb, city, and region names across South Africa.

Input
ParamTypeDescription
queryrequiredstringSearch phrase for location (e.g. 'Sandton', 'Cape Town')
Response
{
  "type": "object",
  "fields": {
    "data": "array of location suggestion objects each containing text (location name), descriptorText (parent area), and itemId (numeric location identifier)"
  },
  "sample": {
    "data": {
      "data": [
        {
          "text": "Sandton",
          "itemId": 34,
          "descriptorText": "Johannesburg"
        },
        {
          "text": "Sandton Central",
          "itemId": 3184,
          "descriptorText": "Sandton"
        }
      ]
    },
    "status": "success"
  }
}

About the Private Property API

Location Resolution

Before running a property search, use get_location_suggestions with a plain-text query (e.g. 'Sandton' or 'Cape Town') to retrieve an array of location objects. Each object contains a human-readable text label, a descriptorText providing context (such as suburb or city), and an itemId. Pass that itemId as the location_id parameter in search_properties to scope results to a specific area.

Searching Listings

search_properties returns paginated results with each listing exposing url, address, locality, region, bedrooms, bathrooms, price, and title. You can filter by beds, baths, min_floor/max_floor (in square meters), category (e.g. 'commercial', 'farms', 'developments'), and features (e.g. 'SecurityPost', 'OnShow'). The response also includes total_on_page and the current page string, allowing straightforward pagination. No listing_type filter is required — the listing_type field in the response reflects what the search returned.

Property Details

Pass a full listing url from search_properties results into get_property_details to retrieve the complete record. The response includes a photo array of image objects with contentUrl fields, an address object broken into streetAddress, addressLocality, and addressRegion, a main_features array covering bedrooms, bathrooms, parking, and floor size, and a property_features object mapping feature names to their values (e.g. property type, erf size, levies). This structured breakdown suits display UIs, valuation tools, or data pipelines that need more than the summary fields from search.

Reliability & maintenanceVerified

The Private Property API is a managed, monitored endpoint for privateproperty.co.za — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when privateproperty.co.za changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official privateproperty.co.za API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
21h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a property search portal filtered by suburb using location IDs from get_location_suggestions
  • Aggregate rental listings by region and bedroom count for a South African rental market tracker
  • Populate a property comparison tool with address, price, and floor size from search_properties
  • Feed a CRM with structured listing data including photos and feature breakdowns from get_property_details
  • Monitor 'OnShow' or 'BankAssistedSales' listings using the features filter in search_properties
  • Extract property_features fields for valuation or investment analysis pipelines
  • Build a map-based interface using addressLocality and addressRegion from property detail responses
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Private Property South Africa have an official developer API?+
Private Property does not publish a documented public developer API. This Parse API provides structured access to the same listing data available on privateproperty.co.za.
How do I filter search results to a specific suburb or city?+
Call get_location_suggestions with a query string to get location objects. Each object includes an itemId — pass that as the location_id parameter in search_properties. Results are then scoped to that area. You can combine location_id with beds, baths, min_floor, max_floor, and category filters in the same request.
What does get_property_details return that search_properties does not?+
search_properties returns summary fields: url, address, locality, region, bedrooms, bathrooms, price, and title. get_property_details adds a photo array with contentUrl entries, a structured address object (streetAddress, addressLocality, addressRegion), a main_features array, and a property_features map with granular attributes such as property type, erf size, and levies.
Does the API cover agent contact details or allow booking viewings?+
Not currently. The API covers listing data including address, price, photos, bedrooms, bathrooms, and property features. Agent contact information and viewing booking functionality are not exposed in the current endpoints. You can fork this API on Parse and revise it to add an endpoint targeting those details.
Is listing coverage limited to any particular regions of South Africa?+
Coverage reflects what is listed on privateproperty.co.za at query time. The site covers all major South African provinces, but listings in rural or low-inventory areas may be sparse. The get_location_suggestions endpoint helps confirm whether a given area returns usable location IDs before running a full search.
Page content last updated . Spec covers 3 endpoints from privateproperty.co.za.
Related APIs in Real EstateSee all →
property24.com API
Search and explore properties across South Africa through Property24's comprehensive marketplace, accessing detailed listings, suburb trends, and historical sold prices to inform your property decisions. Use location autocomplete to quickly find neighborhoods and compare market insights all in one place.
propiedades.com API
Search and browse real estate listings from Mexico's Propiedades.com, view detailed property information including images and descriptions, and use location autocomplete to find homes in your desired area. Access comprehensive listing data to compare properties and make informed real estate decisions.
pararius.com API
Search and browse rental property listings on Pararius.com. Filter by city, price, size, and furnishing; retrieve full property details; look up listings by estate agent; and autocomplete location queries.
realtor.com API
Search millions of real estate listings on Realtor.com, view detailed property information, find qualified agents in your area, and access market analytics to understand pricing trends. Get location suggestions and property insights all in one place to help you make informed decisions about buying, selling, or investing in real estate.
propertyfinder.ae API
Search and browse properties across the UAE, view detailed listings with agent and broker information, and discover locations all in one place. Find the perfect property, connect with real estate agents, and explore company profiles to make informed decisions.
realestate.com.au API
Search and retrieve property listing data from realestate.com.au, including listings for sale and rent, detailed property information, and nearby schools for any location across Australia.
ddproperty.com API
Search and browse property listings across Thailand for both sale and rent, view detailed property information, explore locations, and calculate mortgage payments to help with your real estate decisions.
properati.com.ar API
Search and browse real estate listings in Argentina with detailed property information, including descriptions, prices, and similar properties. Filter listings by property type and operation type (buy, rent, etc.) to find exactly what you're looking for.