# All Property Scraper (40 Sites) (`agentx/all-property-scraper`) Actor

Property listings scraper for 38 marketplaces across 23 countries. Return 40 normalized fields with country-aware routing and optional source selection.

- **URL**: https://apify.com/agentx/all-property-scraper.md
- **Developed by:** [AgentX](https://apify.com/agentx) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 17 total users, 3 monthly users, 94.4% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.38 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

**All Property Scraper is a property listings scraper that searches 38 supported property marketplaces by location and returns 40 normalized, source-linked property fields.** It is designed for market researchers and property-data teams that need repeatable Dataset rows instead of manual copy-and-paste research.

[![Apify Users](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fagentx~all-property-scraper\&query=%24.data.stats.totalUsers\&style=for-the-badge\&label=Apify%20Users\&color=ff9013)](https://apify.com/agentx/all-property-scraper) [![Apify Runs](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fagentx~all-property-scraper\&query=%24.data.stats.totalRuns\&style=for-the-badge\&label=Apify%20Runs\&color=ff9013)](https://apify.com/agentx/all-property-scraper) [![price](https://img.shields.io/badge/%240.00850%20%2F%20result-4285f4?style=for-the-badge)](https://apify.com/agentx/all-property-scraper/pricing) [![capability](https://img.shields.io/badge/38%20sources-34a853?style=for-the-badge)](https://console.apify.com/actors/95h85CukzuEbfYAde/input) [![API + MCP ready](https://img.shields.io/badge/API%20%2B%20MCP%20ready-fbbc05?style=for-the-badge)](https://apify.com/agentx/all-property-scraper/api)

- **40 public Dataset fields** cover identity, price, rooms, area, location, media, contacts, provenance, and processing time.
- **7 public inputs with four required fields** keep the request explicit while leaving optional filters unset unless supplied.
- **23 countries coverage** is routed through 38 supported property marketplaces according to the verified source map.
- **Pay-per-event billing** is $0.01000 per Actor Start plus one Result event for each row stored in the default Dataset.

The smallest useful test sets `max_results` to `1`; at the FREE price it costs at most **$0.01850** when one listing is stored.

### Why Choose All Property Scraper

All Property Scraper turns a source-specific property search into a consistent record contract that downstream tools can validate and export.

- **Traceable research.** Every accepted row can carry `platform`, `source_url`, `processor`, and `processed_at`, so a reviewer can return to the originating listing.
- **Comparable listing facts.** Nested `price`, `rooms`, `area`, `geo`, `building`, and `contact` objects reduce source-specific column sprawl.
- **Bounded collection.** `max_results` caps accepted listings, while required `country`, `location`, and `listing_type` state the intended market and transaction.
- **Optional filters stay optional.** `property_type`, `posted_since`, and `platforms` remain present in every edition. Leaving an optional field empty does not invent a request filter; fixed routes document fields they cannot apply.
- **Export-ready output.** Apify Datasets can be downloaded as JSON, CSV, Excel, XML, or RSS and consumed through the API.

The practical decision is whether 38 supported property marketplaces and 23 countries match the project. Breadth increases source-dependent variation: a field or filter available on one marketplace may be empty or unsupported on another.

### Quick Start Guide

The console already contains a verified working prefill, so a first run can be reduced to one result before increasing scope.

#### Step 1: Configure the search

Open the [Input tab](https://console.apify.com/actors/95h85CukzuEbfYAde/input). The current prefill is `{"max_results": 1, "country": "France", "location": "Paris", "listing_type": "for_sale"}`. Set `max_results` to `1` for the smallest check and keep the country, location, and listing type explicit.

#### Step 2: Run the Actor

Start the run and inspect the log for the final returned-property count. A successful run can still store zero rows when the source has no matching public listing, the location cannot be resolved, or a requested filter is unsupported.

#### Step 3: Collect and verify

Open the default Dataset, inspect `title`, `price`, `location`, `platform`, and `source_url`, then export only after confirming that the sample supports the intended use.

### Input Parameters

All Property Scraper exposes 7 public inputs in the shared family order. `max_results`, `country`, `location`, and `listing_type` are required in every edition; `property_type`, `posted_since`, and `platforms` remain present and optional even when a fixed route requires them to be left empty.

| Parameter | Type | Required | Description | Example |
| --- | --- | --- | --- | --- |
| `max_results` | integer | Yes | Maximum number of property listings to return per selected platform | `1` |
| `country` | string (24 schema options) | Yes | Country selector with 23 supported markets. Country routing uses only marketplaces mapped to the requested market. | `France` |
| `location` | string | Yes | City, region, neighborhood, postal code, or address to search across 38 supported property marketplaces | `Paris` |
| `listing_type` | string (3 schema options) | Yes | Transaction type. The multi-source route supports for\_sale, for\_rent, and sold where the selected marketplace supports them. | `for_sale` |
| `property_type` | string (11 schema options) | No | Optional property-type filter with 11 normalized values and source-specific support. Leave empty for no property-type restriction. | `optional` |
| `posted_since` | string | No | Optional listing-age filter; it applies only to routes that expose a posted-date filter. Leave empty to avoid date filtering. | `optional` |
| `platforms` | array (38 schema options) | No | Optional marketplaces to search from 38 supported sources. Leave empty to use every supported marketplace mapped to the selected country. | `optional` |

The effective console prefill is:

```json
{
  "max_results": 1,
  "country": "France",
  "location": "Paris",
  "listing_type": "for_sale"
}
```

Leave `platforms` empty to use all marketplaces mapped to the chosen country, or select an explicit subset from the schema.

`property_type` and `posted_since` affect requests only when explicitly supplied with a value supported by this route.

### Output Data Schema

Each Dataset row is one accepted property advertisement normalized into exactly 40 top-level fields; unavailable source values remain empty rather than being guessed.

| Group | Fields |
| --- | --- |
| Identity, media, and classification | `cover_image, image_urls, title, description, listing_id, mls_id, listing_type, availability, market_type, property_type, subtype, category, business_type` |
| Price and size | `price, rooms, area, land` |
| Place and timing | `location, address, geo, country, building, dates, posted_time` |
| Listing detail | `fees, media, open_houses, features, amenities, details, reviews, policies, units, nearby` |
| Contact and provenance | `contact, platform, source_url, official_url` |
| Processing | `processor, processed_at` |

The following item is abbreviated; a real row follows the full 40-field schema and may contain additional nested values or empty fields:

```json
{
  "title": "Illustrative Paris property listing",
  "listing_id": "source-12345",
  "listing_type": "for_sale",
  "property_type": "apartment",
  "price": {
    "value": 750000,
    "text": "750,000",
    "currency": "EUR"
  },
  "rooms": {
    "beds": 2,
    "baths": 2
  },
  "location": "Paris",
  "country": "France",
  "platform": "leboncoin",
  "source_url": "https://example.com/property/source-12345",
  "processed_at": "2026-08-10T12:00:00.000Z"
}
```

Use JSON when nested objects must stay intact, CSV or Excel for tabular review, and the Dataset API for incremental downstream processing. Always retain `source_url` when results will be reviewed later.

### Integration Examples

Use Actor ID `95h85CukzuEbfYAde` or the name form `agentx/all-property-scraper` to call All Property Scraper from HTTP, an SDK, automation tools, or MCP.

#### Actor ID

```text
95h85CukzuEbfYAde
```

The name form `agentx/all-property-scraper` is also accepted by Apify clients.

#### HTTP

```bash
curl -X POST "https://api.apify.com/v2/acts/95h85CukzuEbfYAde/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"max_results": 1, "country": "France", "location": "Paris", "listing_type": "for_sale"}'
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("95h85CukzuEbfYAde").call(run_input={"max_results": 1, "country": "France", "location": "Paris", "listing_type": "for_sale"})
items = client.dataset(run["defaultDatasetId"]).list_items().items
```

#### JavaScript

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('95h85CukzuEbfYAde').call({"max_results": 1, "country": "France", "location": "Paris", "listing_type": "for_sale"});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

#### Make.com

Use the Apify **Run an Actor** module, paste `95h85CukzuEbfYAde`, map the one-result JSON input, wait for completion, and pass the default Dataset items to the next module.

#### n8n

Use an HTTP Request node with `POST https://api.apify.com/v2/acts/95h85CukzuEbfYAde/runs`, authenticate with an Apify token, and send the same JSON body. Read `defaultDatasetId` from the completed run before requesting items.

#### MCP

Connect the official Apify MCP server, choose Actor `95h85CukzuEbfYAde`, and provide `max_results`, `country`, `location`, and `listing_type` from the one-result scenario. The [live API page](https://apify.com/agentx/all-property-scraper/api) contains generated endpoint and SDK references.

### Pricing

All Property Scraper costs $0.00850 per Result on the FREE tier, plus a $0.01000 Actor Start; a one-result test totals at most $0.01850.

| Plan tier | Price per Result |
| --- | ---: |
| FREE | $0.00850 |
| BRONZE | $0.00765 |
| SILVER | $0.00680 |
| GOLD | $0.00638 |
| PLATINUM | $0.00638 |
| DIAMOND | $0.00638 |

One Result event is charged for each listing stored in the default Dataset. Actor Start is a one-time run event under the current 1 GB configuration; platform accounting can scale that start event with memory. A 10-result FREE-tier run costs **$0.01000 + 10 × $0.00850 = $0.09500** when all ten rows are stored. Empty searches do not create Result events, although Actor Start still applies.

Prices can change; confirm the [live pricing page](https://apify.com/agentx/all-property-scraper/pricing) before a production run.

### Use Cases

All Property Scraper fits bounded workflows where source-linked listing rows are more useful than an opaque aggregate.

- **Comparable-property review.** Use `price`, `rooms`, `area`, `location`, and `source_url` to assemble a review queue for compare one Paris sale search across the sources available in France.
- **Inventory monitoring.** Schedule the same required inputs and compare `listing_id`, `price`, `availability`, and `processed_at` between Datasets.
- **Lead research.** Review `contact`, `official_url`, and `source_url` only when the source exposes them and the intended outreach is lawful.
- **Regional snapshots.** Group `geo`, `country`, `property_type`, and `listing_type` to describe visible public inventory without claiming full-market coverage.
- **Data-quality sampling.** Measure which of the 40 fields are populated for a location before designing a larger integration.

The reverse fit matters: Use a licensed MLS or valuation feed when you need contractual completeness, appraisals, or guaranteed refresh intervals.

### Alternatives

The best alternative depends on scale, rights, and the decision the data must support.

- **Manual source search** is reasonable for a handful of listings that a person can verify immediately; it stops being efficient when the same fields must be compared or refreshed repeatedly.
- **The source's own search experience** is best for interactive browsing, saved searches, maps, and consumer decisions. [Realtor.com](https://www.realtor.com/sitemap) documents the source behavior relevant to this route: Realtor.com's official search sitemap separates homes for sale, rentals, and recently sold homes, illustrating why transaction support differs by source.
- **An official or licensed feed** is the better path for contractual rights, service levels, or complete inventory. This Actor does not turn public pages into a licensed feed.
- **A valuation or analytics product** is better when the deliverable is an appraisal, forecast, or modeled market estimate rather than source-attributed advertisements.

Choose something else if the project cannot tolerate nullable fields, requires a guaranteed refresh interval, or lacks permission for the planned access and reuse.

### Limits and Troubleshooting

Source conditions determine what a run can return, so troubleshoot with the smallest one-result input first.

- **Zero rows → no public match or unresolved place →** retry the exact `Paris` scenario, verify spelling and country, then loosen only one optional filter.
- **Requested filter skipped → source route does not support it →** remove the optional `property_type` or `posted_since` value and rerun; do not assume every schema-wide option works on every marketplace.
- **Fewer rows than `max_results` → source inventory or detail acceptance ended first →** treat `max_results` as a ceiling, not a promise.
- **Empty nested values → the advertisement did not expose them →** keep null handling in downstream code and verify material facts through `source_url`.
- **Intermittent source response → public pages or anti-automation controls changed →** rerun the one-result case and report the run ID if the same input remains reproducible.

For a reproducible defect, open the [Issues page](https://apify.com/agentx/all-property-scraper/issues) and include the run ID, sanitized input, expected result, actual result, and UTC timestamp.

### Trust and Reliability

Trust comes from a checkable contract: Apify isolates each run, the Actor bills stored rows as Result events, and the Dataset schema names 40 public fields.

The Actor does not fabricate absent listing facts. It normalizes values exposed by the source, preserves a source URL when available, and timestamps processing. A stable schema makes downstream validation possible, but it does not guarantee that every source fills every field.

Use `max_results=1` as a release check for a critical workflow. Confirm the returned platform, listing type, location, price currency, and source URL before increasing the result ceiling or scheduling recurring runs.

### Legal and Compliance

**Public data scope.** The Actor processes publicly reachable property advertisements; it does not grant access rights, ownership, or a license to reuse source content.

**Platform rules.** Review the source's terms, robots controls, and applicable database or copyright rules before collection. [Realtor.com](https://www.realtor.com/sitemap) documents the source behavior relevant to this route: Realtor.com's official search sitemap separates homes for sale, rentals, and recently sold homes, illustrating why transaction support differs by source.

**Privacy and decisions.** Minimize personal contact data, set retention limits, secure exports, and do not use an advertisement alone for housing, lending, legal, or investment decisions. Verify important facts with the source and qualified professionals.

### Frequently Asked Questions

#### How do I scrape property listings from multiple websites?

Set `country`, `location`, `listing_type`, and `max_results`, leave unsupported optional filters empty, and start with one result. The `Paris` scenario is a verified bounded example for this Actor.

#### Can I real estate listings scraper api?

Yes. Run All Property Scraper, keep `source_url` and `platform`, and export the default Dataset as CSV, Excel, or JSON. The output is a normalized listing dataset, not an official source API response.

#### Is there a free property listings API?

Apify accounts can test Actors within their available platform credits, but this Actor charges $0.01000 for Actor Start and $0.00850 per stored Result on the FREE pricing tier. Check the live pricing page and account limits before running.

#### Can I schedule runs to monitor property listings over time?

Yes. Apify Schedules can repeat the same explicit input. Store each Dataset snapshot and compare `listing_id`, `price`, `availability`, and `processed_at`; the Actor itself does not maintain a historical database or send listing-change alerts.

#### Why are some of the 40 fields empty?

Each public advertisement exposes a different set of details. Empty values mean the source record did not provide a reliable value or the detail page was unavailable; downstream code should treat nullable fields as expected.

#### Does `max_results` guarantee that many listings?

No. It is an upper bound. The Actor can return fewer rows when inventory is limited, filters exclude candidates, a location cannot be resolved, or the source does not expose enough acceptable details.

#### Is All Property Scraper affiliated with Realtor.com?

No. All Property Scraper is an independent AgentX Actor. It does not represent, endorse, or replace Realtor.com, and users remain responsible for permission and compliant reuse.

### Related AgentX Actors

AgentX currently has 77 Actor repositories; this section lists the three closest choices first, followed by the complete generated catalog.

Closest to this Actor:

- [Zillow Property Scraper](https://apify.com/agentx/zillow-property-scraper) — narrows the workflow to its source-specific search contract.
- [Realtor Property Scraper](https://apify.com/agentx/realtor-property-scraper) — covers an adjacent market with the same 40-field Dataset shape.
- [Property24 Property Scraper](https://apify.com/agentx/property24-property-scraper) — provides the closest alternative route for cross-source comparison.

#### Business and Market Intelligence

- **[All Web Search Scraper](https://apify.com/agentx/all-web-search-scraper)** — multi-engine web search across ten independent indexes
- **[Google Keyword Trends](https://apify.com/agentx/google-keyword-trends)** — Google Trends keyword interest, compared five at a time
- **[Google Trends Scraper](https://apify.com/agentx/google-trends-scraper)** — Google Trends trending searches
- **[Google Maps Store Scraper](https://apify.com/agentx/google-maps-store-scraper)** — Google Maps business listings
- **[LinkedIn Company Lookup](https://apify.com/agentx/linkedin-company-lookup)** — LinkedIn company records
- **[LinkedIn Profile Lookup](https://apify.com/agentx/linkedin-profile-lookup)** — LinkedIn profile records
- **[Weather Forecast API](https://apify.com/agentx/weather-forecast-api)** — forecast and historical weather data

#### Jobs and Hiring

- **[All Jobs Scraper](https://apify.com/agentx/all-jobs-scraper)** — multi-platform job listings
- **[Bayt Jobs Scraper](https://apify.com/agentx/bayt-jobs-scraper)** — Bayt job listings
- **[Glassdoor Jobs Scraper](https://apify.com/agentx/glassdoor-jobs-scraper)** — Glassdoor job listings
- **[Indeed Jobs Scraper](https://apify.com/agentx/indeed-jobs-scraper)** — Indeed job listings
- **[JobStreet Company Profile](https://apify.com/agentx/jobstreet-company-profile)** — JobStreet employer records
- **[Jooble Jobs Scraper](https://apify.com/agentx/jooble-jobs-scraper)** — Jooble job listings
- **[LinkedIn Jobs Scraper](https://apify.com/agentx/linkedin-jobs-scraper)** — LinkedIn job listings
- **[Naukri Jobs Scraper](https://apify.com/agentx/naukri-jobs-scraper)** — Naukri job listings
- **[Talent Jobs Scraper](https://apify.com/agentx/talent-jobs-scraper)** — Talent.com job listings
- **[ZipRecruiter Jobs Scraper](https://apify.com/agentx/ziprecruiter-jobs-scraper)** — ZipRecruiter job listings

#### Social Media

- **[All Forums Thread Scraper](https://apify.com/agentx/all-forums-thread-scraper)** — multi-platform forum and Q\&A threads
- **[Instagram Creator Scraper](https://apify.com/agentx/instagram-creator-scraper)** — Instagram creator profiles
- **[Instagram Reels Scraper](https://apify.com/agentx/instagram-reels-scraper)** — Instagram Reels metadata
- **[Instagram Trending Scraper](https://apify.com/agentx/instagram-trending-scraper)** — Instagram trending content
- **[Medium Scraper](https://apify.com/agentx/medium-scraper)** — Medium articles
- **[Medium Profile Scraper](https://apify.com/agentx/medium-profile-scraper)** — Medium author profiles
- **[Reddit Profile Scraper](https://apify.com/agentx/reddit-profile-scraper)** — Reddit user profiles
- **[Reddit Viral Scraper](https://apify.com/agentx/reddit-viral-scraper)** — Reddit viral posts
- **[SubReddit Info Scraper](https://apify.com/agentx/subreddit-info-scraper)** — subreddit metadata
- **[Subreddit Members Scraper](https://apify.com/agentx/subreddit-members-scraper)** — subreddit member lists
- **[Subreddit Posts Scraper](https://apify.com/agentx/subreddit-posts-scraper)** — subreddit post feeds
- **[Telegram Chat Scraper](https://apify.com/agentx/telegram-chat-scraper)** — Telegram chat messages
- **[Telegram Info Scraper](https://apify.com/agentx/telegram-info-scraper)** — Telegram channel metadata
- **[Telegram Member Adder](https://apify.com/agentx/telegram-member-adder)** — Telegram group membership management
- **[Telegram Member Scraper](https://apify.com/agentx/telegram-member-scraper)** — Telegram group members
- **[Telegram Private Group Scraper](https://apify.com/agentx/telegram-private-group-scraper)** — private Telegram group data
- **[TikTok Creator API](https://apify.com/agentx/tiktok-creator-api)** — TikTok creator profiles
- **[TikTok User Lookup](https://apify.com/agentx/tiktok-user-lookup)** — TikTok account records
- **[X Twitter Community API](https://apify.com/agentx/x-twitter-community-api)** — X community data
- **[X Twitter Profile Lookup](https://apify.com/agentx/x-twitter-profile-lookup)** — X profile records
- **[YouTube Creator Email Scraper](https://apify.com/agentx/youtube-creator-email-scraper)** — YouTube creator contact data

#### Video, Transcripts and Downloads

- **[All Video Scraper](https://apify.com/agentx/all-video-scraper)** — multi-platform video metadata
- **[Video Transcript](https://apify.com/agentx/video-transcript)** — multi-platform transcripts
- **[Video Captions Downloader](https://apify.com/agentx/video-captions-downloader)** — caption files
- **[Video to Social Post](https://apify.com/agentx/video-to-social-post)** — video repurposed into social copy
- **[YouTube Transcript](https://apify.com/agentx/youtube-transcript)** — YouTube transcripts
- **[TikTok Transcript](https://apify.com/agentx/tiktok-transcript)** — TikTok transcripts
- **[X Twitter Transcript](https://apify.com/agentx/x-twitter-transcript)** — X video transcripts
- **[Facebook Transcript](https://apify.com/agentx/facebook-transcript)** — Facebook video transcripts
- **[Bilibili Transcript](https://apify.com/agentx/bilibili-transcript)** — Bilibili transcripts
- **[Dailymotion Transcript](https://apify.com/agentx/dailymotion-transcript)** — Dailymotion transcripts
- **[Rutube Transcript](https://apify.com/agentx/rutube-transcript)** — Rutube transcripts
- **[Loom Transcript](https://apify.com/agentx/loom-transcript)** — Loom transcripts
- **[Wistia Transcript](https://apify.com/agentx/wistia-transcript)** — Wistia transcripts
- **[Instagram Reels Downloader](https://apify.com/agentx/instagram-reels-downloader)** — Reels downloads
- **[Kick Clip Downloader](https://apify.com/agentx/kick-clip-downloader)** — Kick clip downloads
- **[Linkedin Video Downloader](https://apify.com/agentx/linkedin-video-downloader)** — LinkedIn video downloads
- **[Pinterest Video Downloader](https://apify.com/agentx/pinterest-video-downloader)** — Pinterest video downloads
- **[Reddit Video Downloader](https://apify.com/agentx/reddit-video-downloader)** — Reddit video downloads
- **[Snapchat Video Downloader](https://apify.com/agentx/snapchat-video-downloader)** — Snapchat video downloads
- **[TED Talk Downloader](https://apify.com/agentx/ted-talk-downloader)** — TED talk downloads
- **[TikTok Live Downloader](https://apify.com/agentx/tiktok-live-downloader)** — TikTok live downloads
- **[Twitch VOD Downloader](https://apify.com/agentx/twitch-vod-downloader)** — Twitch VOD downloads
- **[Zoom Recording Downloader](https://apify.com/agentx/zoom-recording-downloader)** — Zoom recording downloads

#### E-Commerce and Retail

- **[All Shopping Scraper](https://apify.com/agentx/all-shopping-scraper)** — multi-platform product data
- **[AliExpress Product Scraper](https://apify.com/agentx/aliexpress-product-scraper)** — AliExpress products
- **[Amazon Storefront Scraper](https://apify.com/agentx/amazon-storefront-scraper)** — Amazon Brand Store pages
- **[Bol Product Scraper](https://apify.com/agentx/bol-product-scraper)** — Bol.com products
- **[eBay Seller Leads API](https://apify.com/agentx/ebay-seller-leads-api)** — eBay seller records
- **[Hepsiburada Product Scraper](https://apify.com/agentx/hepsiburada-product-scraper)** — Hepsiburada products
- **[Kakaku Product Scraper](https://apify.com/agentx/kakaku-product-scraper)** — Kakaku.com products
- **[Rakuten Product Scraper](https://apify.com/agentx/rakuten-product-scraper)** — Rakuten products

#### Classifieds and Automotive

- **[All Vehicle Scraper](https://apify.com/agentx/all-vehicle-scraper)** — multi-platform vehicle listings
- **[AutoTrader Vehicle Search](https://apify.com/agentx/autotrader-vehicle-search)** — AutoTrader US listings
- **[AutoTrader UK Vehicle Search](https://apify.com/agentx/autotrader-uk-vehicle-search)** — AutoTrader UK listings

#### Real Estate

- **[Homes Property Scraper](https://apify.com/agentx/homes-property-scraper)** — Homes.com listings
- **[MagicBricks Property Scraper](https://apify.com/agentx/magicbricks-property-scraper)** — MagicBricks listings
- **[NoBroker Property Scraper](https://apify.com/agentx/nobroker-property-scraper)** — NoBroker listings
- **[Property24 Property Scraper](https://apify.com/agentx/property24-property-scraper)** — Property24 listings
- **[Realtor Property Scraper](https://apify.com/agentx/realtor-property-scraper)** — Realtor.com listings
- **[Zillow Property Scraper](https://apify.com/agentx/zillow-property-scraper)** — Zillow listings

### Support and Community

Ask about 38 supported property marketplaces search inputs, nullable property fields, and Dataset integrations in the [AgentX community on Telegram](https://t.me/Apify_Actor); for a reproducible bug, open an Issue with the run ID and the exact input.

AgentX is an Arcyton brand — [arcyton.com](https://arcyton.com).

**Last Updated:** August 10, 2026

# Actor input Schema

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

Maximum number of property listings to return per selected platform

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

Country selector with 23 supported markets. Country routing uses only marketplaces mapped to the requested market.

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

City, region, neighborhood, postal code, or address to search across 38 supported property marketplaces

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

Transaction type. The multi-source route supports for\_sale, for\_rent, and sold where the selected marketplace supports them.

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

Optional property-type filter with 11 normalized values and source-specific support. Leave empty for no property-type restriction.

## `posted_since` (type: `string`):

Optional listing-age filter; it applies only to routes that expose a posted-date filter. Leave empty to avoid date filtering.

## `platforms` (type: `array`):

Optional marketplaces to search from 38 supported sources. Leave empty to use every supported marketplace mapped to the selected country.

## Actor input object example

```json
{
  "max_results": 6,
  "country": "France",
  "location": "Paris",
  "listing_type": "for_sale"
}
```

# Actor output Schema

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

Overview table for the default dataset of normalized property listings.

# 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": 6,
    "country": "France",
    "location": "Paris",
    "listing_type": "for_sale"
};

// Run the Actor and wait for it to finish
const run = await client.actor("agentx/all-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": 6,
    "country": "France",
    "location": "Paris",
    "listing_type": "for_sale",
}

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

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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": 6,
  "country": "France",
  "location": "Paris",
  "listing_type": "for_sale"
}' |
apify call agentx/all-property-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,agentx/all-property-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/95h85CukzuEbfYAde/builds/bzmf61xfWUK1wajm9/openapi.json
