# Realting.com Scraper: Property Listings, Prices, 90+ Countries (`getascraper/realting-property-scraper`) Actor

Scrape international property listings from Realting.com across 90+ countries. Filter by country, city, listing type, property type, bedrooms, and price. Get price, rooms, bathrooms, area, and GPS coordinates, plus optional full-detail enrichment with photos and address. $1.50 per 1,000 results.

- **URL**: https://apify.com/getascraper/realting-property-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.13 / 1,000 property listings

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🏠 Realting.com Scraper: Property Listings, Prices, 90+ Countries

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#EEF3FA;border:1px solid #C7D7EC;border-top:4px solid #003073;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Property data from 90+ countries, in one clean dataset</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Get price, bedrooms, bathrooms, area, and location for every listing on Realting.com, ready to filter, compare, or map.</span>
</td>
</tr>
</table>
<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7D7EC;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#002052">🌍 90+ countries</span><br>
<span style="font-size:12px;color:#57534E">Search any country Realting covers without switching tools.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7D7EC;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#002052">💰 Price in USD</span><br>
<span style="font-size:12px;color:#57534E">Every listing's price is normalized so you can compare across currencies.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7D7EC;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#002052">🛏️ Bedroom and price filters</span><br>
<span style="font-size:12px;color:#57534E">Narrow thousands of listings down to the ones worth reviewing.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7D7EC;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#002052">📍 Coordinates on demand</span><br>
<span style="font-size:12px;color:#57534E">Pull GPS coordinates, full address, and photos when you need them.</span>
</td>
</tr>
</table>

Realting.com lists properties for sale and rent across Europe, the Middle East, Latin America, Africa, and Asia. This Actor turns any country, city, or category on the site into a structured dataset, so you don't have to click through listings one by one.

### 🔍 Who uses this

**Property investors:** "I compare price per square meter across five countries before I commit capital. I need clean numbers, not fifteen browser tabs."

**PropTech developers:** "I'm building a cross-border listing comparison tool. I need structured data I can load straight into a database, not raw web pages."

**Relocation and immigration consultants:** "My clients ask what a two-bedroom apartment actually costs in Lisbon versus Tbilisi. I need current numbers, not a guess."

**Market researchers:** "I track how property prices move across regions. I need a dataset I can refresh on a schedule, not a one-time export."

### 🚀 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#EEF3FA;border:1px solid #C7D7EC;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#003073;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick a country</span><br>
<span style="font-size:12px;color:#57534E">Choose a country, city, and listing type. Add a property type to narrow it further.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF3FA;border:1px solid #C7D7EC;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#003073;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Set your filters</span><br>
<span style="font-size:12px;color:#57534E">Add a bedroom range and a price range in USD to skip listings that don't fit.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF3FA;border:1px solid #C7D7EC;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#003073;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Get your data</span><br>
<span style="font-size:12px;color:#57534E">Download price, size, location, and photos for every listing that matches.</span>
</td>
</tr>
</table>

1. Open the Actor and pick a **country**. This is the only required filter.
2. Optionally narrow the search with a **city**, **listing type** (for sale, rent, short-term rental, new buildings, or commercial), and **property type**.
3. Add a **bedroom range** or **price range** if you only want listings that fit a specific budget or size.
4. Turn on **full detail enrichment** if you need the complete description, year built, exact address, GPS coordinates, and full photo gallery for each listing. This adds one extra request per listing.
5. Run the Actor and download the results as JSON, CSV, Excel, or connect them straight to your own pipeline.

### 📋 Input

| Field | Type | Required | Description |
|---|---|---|---|
| `country` | enum | Yes | The country to search on Realting.com. |
| `city` | string | No | Restrict the search to one city, using Realting's own slug for it (for example `barcelona`). |
| `listingType` | enum | No | For sale, long-term rent, short-term rental, new buildings, or commercial. Defaults to for sale. |
| `propertyType` | enum | No | Narrow to one property type, such as apartments or villas. Leave blank for every type. |
| `minBedrooms` | integer | No | Only keep listings with at least this many bedrooms. |
| `maxBedrooms` | integer | No | Only keep listings with at most this many bedrooms. |
| `minPrice` | integer | No | Only keep listings priced at or above this amount, in USD. |
| `maxPrice` | integer | No | Only keep listings priced at or below this amount, in USD. |
| `fetchFullDetails` | boolean | No | Visit each listing's own page for its full description, year built, exact address, coordinates, and photo gallery. Off by default. |
| `maxItems` | integer | Yes | The most listings to return in one run. |
| `proxyConfiguration` | object | No | Proxy settings. The default works for almost every run. |

### 📊 Data table

| Field | Type | Description |
|---|---|---|
| `realtingId` | string | Realting's own listing ID. |
| `url` | string | Link to the listing on Realting.com. |
| `title` | string | Listing title. |
| `location` | string | City and country, as shown on the listing. |
| `country` | string | The country slug searched. |
| `bedrooms` | number | Number of bedrooms, when the listing states one. |
| `bathrooms` | number | Number of bathrooms, when the listing states one. |
| `areaSqm` | number | Living area in square meters. |
| `priceUsd` | number | Listing price, normalized to USD. |
| `priceOriginal` | string | Listing price as shown on the site, in its original display currency. |
| `thumbnailUrl` | string | Listing's main photo. |
| `listingType` | string | For sale, long-term rent, short-term rental, new buildings, or commercial. |
| `description` | string | Full listing description. Only with full detail enrichment. |
| `yearBuilt` | string | Construction year. Only with full detail enrichment. |
| `streetAddress`, `addressLocality`, `addressCountry` | string | Full postal address, when Realting publishes one. Only with full detail enrichment. |
| `latitude`, `longitude` | number | GPS coordinates. Only with full detail enrichment. |
| `images` | array | Every photo in the listing's gallery. Only with full detail enrichment. |

**Example output:**

```json
{
  "realtingId": "3890120",
  "url": "https://realting.com/spain/property/3890120",
  "title": "2 bedroom apartment",
  "location": "Fuengirola, Spain",
  "country": "spain",
  "bedrooms": 2,
  "bathrooms": 2,
  "areaSqm": 104,
  "priceUsd": 414775,
  "priceOriginal": "$414,775",
  "listingType": "property",
  "latitude": 36.56408,
  "longitude": -4.60532
}
```

### 💰 Pricing

This Actor uses Apify's pay-per-event pricing: **$1.50 per 1,000 listings** ($0.0015 each). You pay only for the listings you actually receive; an empty run costs nothing. There are no subscriptions or minimum spend. Paid Apify plans unlock discounted per-listing rates automatically.

Free plan runs are limited to 25 listings per run, 3 runs per day, and a short wait between runs. Upgrade to a paid Apify plan to remove these limits.

### ⭐ Enjoying Realting.com Scraper?

<table width="100%">
<tr>
<td style="padding:20px 24px 14px;background:#EEF3FA;border:1px solid #C7D7EC;border-left:5px solid #003073;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Saved yourself hours of clicking through country pages one listing at a time?</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other property investors and researchers find this Actor. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#003073;border:1px solid #C7D7EC;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/realting-property-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ❓ FAQ

**Does this Actor need a Realting.com account or login?**
No. It reads public listing pages only. No account, password, or API key is required.

**Which countries are supported?**
Every country Realting.com itself lists properties in, currently around 90. Pick one from the `country` dropdown in the input form.

**Why are some fields empty for a listing?**
Not every listing states every field. Rather than guessing, this Actor leaves a field out or null when Realting itself doesn't show a value, so every field in your dataset is genuine.

**How current is the data?**
Every run reads the live site at the time it runs. There is no cached or stale snapshot.

### 🔗 Other actors

- [Yandex Realty Scraper: Яндекс Недвижимость](https://apify.com/getascraper/yandex-realty-scraper) ↗ - Property listings across Russian cities, with price, area, and renovation state.
- [CIAN Real Estate Scraper: Недвижимость ЦИАН](https://apify.com/getascraper/cian-real-estate-scraper) ↗ - Listings from Russia's largest real estate portal.
- [Property24 Scraper: Real Estate Listings, Prices & Broker Leads](https://apify.com/getascraper/property24-scraper) ↗ - South African property listings with broker contact details.
- [Lianjia Scraper: Resale Listings, Price, Community](https://apify.com/getascraper/lianjia-real-estate-scraper) ↗ - Resale property data from China's Lianjia platform.
- [Etagi Real Estate Scraper: Парсер Этажи](https://apify.com/getascraper/etagi-property-scraper) ↗ - Listings from the Etagi real estate network.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/realting-property-scraper/changelog.md

# Actor input Schema

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

The country to search on Realting.com. Realting organizes every listing under a country page first, so this is the one field every run needs.

## `city` (type: `string`):

Restrict the search to one city or region within the country, using Realting's own URL slug for it (for example "barcelona" or "homyel"). Leave blank to search the whole country. An incorrect slug returns a 404 for that request rather than silently falling back to the whole country.

## `listingType` (type: `string`):

Which part of Realting.com to search: properties for sale, long-term rentals, short-term (holiday) rentals, new-build developments, or commercial property.

## `propertyType` (type: `string`):

Narrow the search to one property type, such as apartments or villas. Only applies to the For Sale, For Rent, and New Buildings listing types. Leave blank to include every property type in the chosen category.

## `minBedrooms` (type: `integer`):

Only keep listings with at least this many bedrooms. Applied after the page is fetched, using the bedroom count shown on each listing card, since Realting's own bedroom filter relies on URL query parameters that are blocked by the site's robots.txt.

## `maxBedrooms` (type: `integer`):

Only keep listings with at most this many bedrooms. Leave blank for no upper limit.

## `minPrice` (type: `integer`):

Only keep listings priced at or above this amount, in US dollars. Realting shows every listing's price in multiple currencies; this filter compares against the USD figure.

## `maxPrice` (type: `integer`):

Only keep listings priced at or below this amount, in US dollars. Leave blank for no upper limit.

## `fetchFullDetails` (type: `boolean`):

When enabled, visits each listing's own page to add its full description, year built, exact floor size, complete postal address, GPS coordinates, and full photo gallery. This makes one extra request per listing, so it is off by default to keep runs fast and cheap; turn it on when you need more than the summary fields shown on the search results page.

## `maxItems` (type: `integer`):

The most listings to return in one run. Keep this low for a quick test; raise it once you know the search returns what you expect. Each page of Realting search results holds roughly 20-30 listings.

## `proxyConfiguration` (type: `object`):

Realting.com is server-rendered and does not gate access by proxy quality, so Apify's shared datacenter proxies work reliably and keep runs cheap. Residential proxies are not needed for this target.

## Actor input object example

```json
{
  "country": "spain",
  "city": "",
  "listingType": "property",
  "propertyType": "",
  "fetchFullDetails": false,
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

# 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 = {
    "country": "spain",
    "city": "",
    "listingType": "property",
    "propertyType": "",
    "fetchFullDetails": false,
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/realting-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 = {
    "country": "spain",
    "city": "",
    "listingType": "property",
    "propertyType": "",
    "fetchFullDetails": False,
    "maxItems": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/realting-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 '{
  "country": "spain",
  "city": "",
  "listingType": "property",
  "propertyType": "",
  "fetchFullDetails": false,
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/realting-property-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/realting-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/iRVkwgiSHacPeA3JV/builds/tjnijeFkXape8wCP0/openapi.json
