# Property24 Property Scraper (`agentx/property24-property-scraper`) Actor

Search Property24 listings across South Africa and supported African markets. Extract sale and rental property data with prices, locations, details, descriptions, images, agents, and source URLs.

- **URL**: https://apify.com/agentx/property24-property-scraper.md
- **Developed by:** [AgentX](https://apify.com/agentx) (community)
- **Categories:** Real estate, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.80 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Property24 Property Scraper - Property24 Property Listings API

[![Property Data](https://img.shields.io/badge/Property_Data-006AFF?style=for-the-badge)](https://apify.com/agentx/property24-property-scraper?fpr=aiagentapi) [![Pay Per Result](https://img.shields.io/badge/Pay_Per_Result-0052CC?style=for-the-badge)](https://apify.com/agentx/property24-property-scraper?fpr=aiagentapi) [![No Login](https://img.shields.io/badge/No_Login-555555?style=for-the-badge)](https://apify.com/agentx/property24-property-scraper?fpr=aiagentapi)

**Property24 Property Scraper is a production-ready Apify real estate listings API for Property24 listing extraction for sale and rental research across supported African countries.** Search South Africa and supported African markets by location, listing type, and property type, then export normalized property data with prices, addresses, property specs, images, listing dates when available, contact details, platform names, and source URLs. It is designed for real estate investment research, broker lead generation, competitive market monitoring, data enrichment, and AI agents that need repeatable property data without maintaining a custom scraper.

---

### Why Choose This API

#### Production-grade Property24 property data extraction

**Location-aware search**
Run searches by country and location using city, region, neighborhood, postal code, or address-style inputs supported by the platform.

**Normalized property intelligence**
Collect listing status, property type, price, bedrooms, bathrooms, area, location, images, source URLs, and available agency or contact metadata in one clean dataset.

**Recently posted listing workflows**
This actor does not expose `posted_since` because the current source implementation does not provide a reliable posted-date filter for this platform.

**Automation-ready output**
Use the Apify API, Make, N8N, scheduled runs, webhooks, or MCP clients to send property data into Sheets, Airtable, HubSpot, data warehouses, dashboards, and AI workflows.

---

### Quick Start Guide

1. Open [Property24 Property Scraper](https://apify.com/agentx/property24-property-scraper?fpr=aiagentapi).
2. Enter `country`, `location`, `max_results`, and optional filters such as `listing_type`, `property_type`, and `posted_since` when available.
3. Click **Start** and export the dataset as JSON, CSV, Excel, XML, RSS, or through the Apify API.

---

### Input Parameters

| Parameter | Type | Required | Description | Example |
| --- | --- | --- | --- | --- |
| `max_results` | integer | Yes | Maximum number of property listings to return per selected platform. | `10` |
| `country` | string | Yes | Country where the target property listings are located. Supported values: `Botswana`, `Kenya`, `Mauritius`, `Mozambique`, `Namibia`, `Nigeria`, `South Africa`, `Zambia`, `Zimbabwe`. | `South Africa` |
| `location` | string | Yes | City, region, neighborhood, postal code, or address to search. | `Cape Town` |
| `listing_type` | string | No | Listing status to search, such as for_sale, for_rent, or sold where supported. Supported values: `for_sale`, `for_rent`. | `for_sale` |
| `property_type` | string | No | Optional property type filter. Leave empty to include all supported property types. Supported values: `residential`, `house`, `apartment`, `condo`, `townhouse`, `land`, `commercial`. | empty |

Example input:

```json
{
  "country": "South Africa",
  "location": "Cape Town",
  "max_results": 100,
  "listing_type": "for_sale",
  "property_type": "house"
}
````

***

### Output Data Schema

Each result is a structured property listing. Common fields include `cover_image`, `image_urls`, `title`, `description`, `listing_id`, `mls_id`, `listing_type`, `property_type`, `price`, `rooms`, `area`, `land`, `location`, `address`, `geo`, `building`, `dates`, `posted_time`, `fees`, `media`, `open_houses`, `features`, `amenities`, `details`, `contact`, `platform`, `source_url`, `official_url`, `processor`, and `processed_at` where available.

The `dates` object may include listed, updated, sold, available, and days-on-market values depending on the source. Dataset exports are available through the Apify Console, default dataset API, and integrations.

***

### Integration Examples

#### Python

```python
from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('agentx/property24-property-scraper').call(run_input={"country": "South Africa", "location": "Cape Town", "max_results": 100, "listing_type": "for_sale", "property_type": "house"})
items = client.dataset(run['defaultDatasetId']).list_items().items
```

#### JS

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('agentx/property24-property-scraper').call({"country": "South Africa", "location": "Cape Town", "max_results": 100, "listing_type": "for_sale", "property_type": "house"});
```

#### Make

Use Actor ID `agentx/property24-property-scraper` in the Apify module, then map dataset items to Google Sheets, Airtable, HubSpot, Notion, or your warehouse.

#### N8N

Use the Apify node with Actor ID `agentx/property24-property-scraper` and pass the JSON input from this README.

#### JSON-LD

```json
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Property24 Property Scraper",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Cloud",
  "dateModified": "2026-06-05",
  "offers": {"@type": "Offer", "price": "0.0030", "priceCurrency": "USD"}
}
```

***

### Pricing & Cost Calculator

This actor uses pay-per-result pricing. You are charged only for successful property records written to the dataset. Example: 1,000 successful results at approximately `$3.00`.

***

### Use Cases & Applications

- Real estate market monitoring and comparable listing research
- Investor sourcing, underwriting, and lead generation
- Broker, agent, landlord, owner, or developer prospecting
- Rental and sale price benchmarking by location and property type
- PropTech dashboards, valuation tools, and data enrichment pipelines
- AI property intelligence, RAG datasets, and CRM enrichment

***

### FAQ

#### What is Property24 Property Scraper?

It is an Apify actor that extracts structured real estate listing data from Property24 or the selected supported platforms.

#### How do I filter recently posted listings?

This actor does not expose `posted_since` because the current source implementation does not provide a reliable posted-date filter for this platform.

#### Can I export the results?

Yes. Apify datasets support JSON, CSV, Excel, XML, RSS, and API access.

#### Why does a search return fewer records than max\_results?

The actor returns available listings after platform filtering, pagination, deduplication, date filtering where supported, and source availability.

***

### SEO Keywords & Search Terms

Property24 Property Scraper, Property24 scraper, Property24 API, property listing scraper, real estate data API, property lead generation, property market data, Apify property scraper, real estate listings export, property intelligence API.

***

### Trust & Certifications

Built for Apify cloud execution with structured datasets, proxy-aware collection, retries, deduplication, and repeatable API workflows. Runs can be scheduled, monitored, and integrated with standard Apify webhooks and dataset exports.

***

### Legal & Compliance

Use this actor responsibly and review applicable platform terms, data rights, GDPR, CCPA, and local privacy requirements before storing or processing property data. The actor is intended for lawful public-data workflows such as research, analytics, enrichment, and internal business intelligence. For enterprise compliance or legal workflow questions, contact support at https://t.me/AiAgentApi.

***

### Related Tools

**AgentX property APIs:** [All Property Scraper](https://apify.com/agentx/all-property-scraper?fpr=aiagentapi), [Zillow Property Scraper](https://apify.com/agentx/zillow-property-scraper?fpr=aiagentapi), [Realtor Property Scraper](https://apify.com/agentx/realtor-property-scraper?fpr=aiagentapi), [MagicBricks Property Scraper](https://apify.com/agentx/magicbricks-property-scraper?fpr=aiagentapi), [Homes Property Scraper](https://apify.com/agentx/homes-property-scraper?fpr=aiagentapi), [NoBroker Property Scraper](https://apify.com/agentx/nobroker-property-scraper?fpr=aiagentapi), [Property24 Property Scraper](https://apify.com/agentx/property24-property-scraper?fpr=aiagentapi)

**TrueFetch real estate APIs:** [Global Real Estate Listings](https://apify.com/truefetch/global-real-estate-listings?fpr=aiagentapi), [Zillow Real Estate Listings](https://apify.com/truefetch/zillow-real-estate-listings?fpr=aiagentapi), [Realtor Real Estate Listings](https://apify.com/truefetch/realtor-real-estate-listings?fpr=aiagentapi), [Zoopla Real Estate Listings](https://apify.com/truefetch/zoopla-real-estate-listings?fpr=aiagentapi), [Domain Real Estate Listings](https://apify.com/truefetch/domain-real-estate-listings?fpr=aiagentapi), [Redfin Real Estate Listings](https://apify.com/truefetch/redfin-real-estate-listings?fpr=aiagentapi), [Rightmove Real Estate Listings](https://apify.com/truefetch/rightmove-real-estate-listings?fpr=aiagentapi)

**Business enrichment:** [Google Maps Store Scraper](https://apify.com/agentx/google-maps-store-scraper?fpr=aiagentapi), [LinkedIn Company Lookup](https://apify.com/agentx/linkedin-company-lookup?fpr=aiagentapi), [BBB Business Search API](https://apify.com/agentx/bbb-business-search-api?fpr=aiagentapi)

***

### Support & Community

- Telegram support: https://t.me/AiAgentApi
- Telegram group: https://t.me/Apify\_Actor
- Actor page: https://apify.com/agentx/property24-property-scraper?fpr=aiagentapi

***

**Last Updated:** June 05, 2026

# Actor input Schema

## `max_results` (type: `integer`):

Maximum number of Property24 property listings to return

## `country` (type: `string`):

Country where Property24 listings are supported

## `location` (type: `string`):

City, region, neighborhood, postal code, or address supported by Property24

## `listing_type` (type: `string`):

Choose the transaction status to search

## `property_type` (type: `string`):

Optional property or asset type filter. Leave empty to include all supported property types

## Actor input object example

```json
{
  "max_results": 10,
  "country": "South Africa",
  "location": "Cape Town",
  "listing_type": "for_sale"
}
```

# Actor output Schema

## `results` (type: `string`):

All property listings found across platforms with structured listing details and source URLs.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "max_results": 10,
    "country": "South Africa",
    "location": "Cape Town",
    "listing_type": "for_sale",
    "property_type": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("agentx/property24-property-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "max_results": 10,
    "country": "South Africa",
    "location": "Cape Town",
    "listing_type": "for_sale",
    "property_type": "",
}

# Run the Actor and wait for it to finish
run = client.actor("agentx/property24-property-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "max_results": 10,
  "country": "South Africa",
  "location": "Cape Town",
  "listing_type": "for_sale",
  "property_type": ""
}' |
apify call agentx/property24-property-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=agentx/property24-property-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Property24 Property Scraper",
        "description": "Search Property24 listings across South Africa and supported African markets. Extract sale and rental property data with prices, locations, details, descriptions, images, agents, and source URLs.",
        "version": "1.0",
        "x-build-id": "uX15fzUa4zx2ebZOk"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/agentx~property24-property-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-agentx-property24-property-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/agentx~property24-property-scraper/runs": {
            "post": {
                "operationId": "runs-sync-agentx-property24-property-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/agentx~property24-property-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-agentx-property24-property-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "max_results",
                    "country",
                    "location"
                ],
                "properties": {
                    "max_results": {
                        "title": "📊 Max Results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of Property24 property listings to return"
                    },
                    "country": {
                        "title": "🌍 Country",
                        "enum": [
                            "Botswana",
                            "Kenya",
                            "Mauritius",
                            "Mozambique",
                            "Namibia",
                            "Nigeria",
                            "South Africa",
                            "Zambia",
                            "Zimbabwe"
                        ],
                        "type": "string",
                        "description": "Country where Property24 listings are supported"
                    },
                    "location": {
                        "title": "📍 Location",
                        "type": "string",
                        "description": "City, region, neighborhood, postal code, or address supported by Property24"
                    },
                    "listing_type": {
                        "title": "🏠 Listing Type",
                        "enum": [
                            "for_sale",
                            "for_rent"
                        ],
                        "type": "string",
                        "description": "Choose the transaction status to search"
                    },
                    "property_type": {
                        "title": "🏘️ Property Type",
                        "enum": [
                            "residential",
                            "house",
                            "apartment",
                            "condo",
                            "townhouse",
                            "land",
                            "commercial"
                        ],
                        "type": "string",
                        "description": "Optional property or asset type filter. Leave empty to include all supported property types"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
