# Idealista Scraper: Extract Rent & Sale Listings (`burbn/idealista-scraper`) Actor

Powerful Idealista scraper for professional real estate data. Extract listings from IT, ES, and PT with 40+ filters. Get GPS coordinates, full descriptions, and media. Perfect for investors, developers, and data scientists.

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

## Pricing

from $5.00 / 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/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

## Idealista Properties Scraper | Idealista Real Estate Data API

Search Idealista properties for rent or sale. Extract Idealista real estate data including property prices, addresses, sizes, rooms, floor plans, contact info, photos, videos, GPS coordinates, amenities, and more across Italy, Spain, and Portugal. The best Idealista property scraper for real estate research, market analysis, and property intelligence.

### ❓ What is Idealista Properties Scraper?

**Idealista Properties Scraper** is a powerful Apify actor that lets you search and extract property listing data from **Idealista** — the largest real estate marketplace in Southern Europe. Whether you want to find rental apartments, compare property prices, monitor real estate markets, or collect property data for investment research — this Idealista property scraper does it all automatically.

With this Idealista properties search tool, you can:

- 🔍 **Search Idealista properties by location** — Search any city, neighborhood, or area across Italy, Spain, and Portugal
- 🏠 **Extract for rent or sale** — Get rental listings or properties for sale with a single toggle
- 💰 **Get complete pricing data** — Extract prices, price per sqm, price drops, and currency info
- 🏢 **Get full property details** — Extract size, rooms, bathrooms, floor, address, GPS coordinates, description, and status
- 📸 **Get all media** — Extract property thumbnails, all listing images, and video URLs
- 📞 **Get contact information** — Extract agent name, agency, phone number, and contact method
- 🎛️ **40+ advanced filters** — Filter by price, size, bedrooms, amenities, property type, and more
- 📄 **Auto-pagination** — Automatically fetches all pages of results with smart rate limiting
- 📊 **Export structured data** — Download results in JSON, CSV, Excel, XML, and RSS formats

### 🎯 What Data Can You Extract from Idealista Properties?

This Idealista property scraper extracts the following data for each listing:

| Field | Description |
|-------|-------------|
| `propertyCode` | Unique Idealista property identifier |
| `title` | Property listing title |
| `description` | Full property description |
| `price` | Property price (rent per month or sale price) |
| `currencySuffix` | Currency and period (e.g., €/month) |
| `priceByArea` | Price per square meter |
| `formerPrice` | Previous price (if price dropped) |
| `priceDropPercentage` | Price drop percentage |
| `propertyType` | Property type (studio, flat, house, etc.) |
| `operation` | Operation type (rent or sale) |
| `size` | Property size in square meters |
| `rooms` | Number of rooms |
| `bathrooms` | Number of bathrooms |
| `floor` | Floor number |
| `address` | Full property address |
| `province` | Province name |
| `municipality` | City/municipality name |
| `district` | District name |
| `neighborhood` | Neighborhood name |
| `country` | Country code (it, es, pt) |
| `latitude` | GPS latitude coordinate |
| `longitude` | GPS longitude coordinate |
| `url` | Direct link to Idealista property page |
| `thumbnail` | Property thumbnail image URL |
| `images` | All property listing image URLs |
| `videos` | Property video URLs |
| `numPhotos` | Total number of photos |
| `contactName` | Agent/owner contact name |
| `commercialName` | Agency commercial name |
| `phoneNumber` | Contact phone number |
| `userType` | Contact type (professional or private) |
| `hasLift` | Whether property has an elevator |
| `hasSwimmingPool` | Whether property has a swimming pool |
| `hasTerrace` | Whether property has a terrace |
| `hasAirConditioning` | Whether property has air conditioning |
| `hasGarden` | Whether property has a garden |
| `hasBoxRoom` | Whether property has a box/storage room |

### 📍 How to Get Idealista Location IDs

Before using this Idealista property scraper, you need a **location ID**. Get it using our companion actor:

👉 **[Idealista Auto-Complete](https://apify.com/burbn/idealista-auto-complete)** — Search for any city, neighborhood, or area and get the location ID instantly.

**Example Idealista location IDs:**

| Location | Location ID |
|----------|-------------|
| Milano, Italy | `0-EU-IT-MI-01-001-135` |
| Roma, Italy | `0-EU-IT-RM-01-001-088` |
| Madrid, Spain | `0-EU-ES-28-07-001-079` |
| Barcelona, Spain | `0-EU-ES-08-07-001-019` |
| Lisbon, Portugal | `0-EU-PT-11-01-001-000` |

### 🚀 How to Use Idealista Properties Scraper

#### Step 1: Get Your Location ID

Use the **[Idealista Auto-Complete](https://apify.com/burbn/idealista-auto-complete)** actor to search for a city or area and get its location ID.

#### Step 2: Configure Your Search

| Input | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| `locationId` | String | ✅ Yes | `0-EU-IT-MI-01-001-135` | Idealista location ID from Auto-Complete |
| `operation` | String | ✅ Yes | `rent` | `rent` or `sale` |
| `country` | String | ❌ No | `it` | Country: `it`, `es`, `pt` |
| `propertyType` | String | ❌ No | All | `homes`, `bedrooms`, `offices`, `premises`, etc. |
| `sort` | String | ❌ No | `asc` | Sort by price: `asc` or `desc` |
| `locale` | String | ❌ No | `en` | Language for descriptions |
| `maxItems` | Number | ❌ No | `40` | Results per API page (max 40) |
| `maxPages` | Number | ❌ No | `0` | Max pages to scrape (0 = all) |
| `minPrice` | Number | ❌ No | `0` | Minimum price filter |
| `maxPrice` | Number | ❌ No | `0` | Maximum price filter |
| `minSize` | Number | ❌ No | `0` | Minimum size in sqm |
| `maxSize` | Number | ❌ No | `0` | Maximum size in sqm |
| `bedrooms` | String | ❌ No | Any | `0`, `1`, `2`, `3`, `4` |
| `bathrooms` | String | ❌ No | Any | `1`, `2`, `3` |

#### Step 3: Run and Download Results

Click **Start** to run the Idealista property scraper. Results are available in JSON, CSV, Excel, XML, and RSS formats.

### 📋 Example Input

```json
{
  "locationId": "0-EU-IT-MI-01-001-135",
  "operation": "rent",
  "country": "it",
  "sort": "asc",
  "locale": "en",
  "maxItems": 40,
  "maxPages": 1,
  "maxPrice": 1000,
  "bedrooms": "2",
  "airConditioning": true
}
````

### 📋 Example Output

```json
{
  "propertyCode": "35524940",
  "title": "Flat in via Privata Filippo Tommaso Marinetti",
  "subtitle": "Turro, Milano",
  "description": "Studio apartment available immediately, furnished...",
  "price": 400,
  "currencySuffix": "€/month",
  "priceByArea": 16,
  "propertyType": "studio",
  "operation": "rent",
  "size": 25,
  "rooms": 1,
  "bathrooms": 1,
  "floor": "5",
  "address": "via Privata Filippo Tommaso Marinetti",
  "province": "Milano",
  "municipality": "Milano",
  "district": "Greco - Turro",
  "neighborhood": "Turro",
  "country": "it",
  "latitude": 45.4972051,
  "longitude": 9.2285924,
  "url": "https://www.idealista.it/immobile/35524940/",
  "thumbnail": "https://img4.idealista.it/...",
  "images": ["https://img4.idealista.it/..."],
  "videos": [],
  "numPhotos": 7,
  "hasLift": true,
  "hasSwimmingPool": false,
  "hasTerrace": false,
  "hasAirConditioning": false,
  "contactName": "LA CASA IN 24H DI STEFANO CECCONELLO",
  "commercialName": "LA CASA IN 24H DI STEFANO CECCONELLO",
  "phoneNumber": "0289735826",
  "userType": "professional"
}
```

### 🎨 Dataset Views

The Idealista property scraper provides 3 organized dataset views for easy analysis:

| View | Description |
|------|-------------|
| 📊 **Properties Overview** | Property code, thumbnail, title, price, type, size, rooms, address, images, videos, URL |
| 📋 **Property Details** | Full details with coordinates, description, status, features, amenities, media |
| 📞 **Contact Information** | Agent name, agency, phone number, contact type, and method |

### 🎛️ Advanced Filters

This Idealista scraper supports 40+ filters to narrow your property search:

| Filter | Type | Values |
|--------|------|--------|
| `swimmingPool` | Boolean | Swimming pool |
| `airConditioning` | Boolean | Air conditioning |
| `elevator` | Boolean | Elevator/lift |
| `terrace` | Boolean | Terrace |
| `garden` | Boolean | Garden |
| `garage` | Boolean | Garage/parking |
| `penthouse` | Boolean | Penthouse properties |
| `duplex` | Boolean | Duplex properties |
| `luxury` | Boolean | Luxury properties |
| `seaViews` | Boolean | Sea view properties |
| `exterior` | Boolean | Exterior-facing properties |
| `virtualTour` | Boolean | Virtual tour available |
| `storeRoom` | Boolean | Storage room |
| `builtinWardrobes` | Boolean | Built-in wardrobes |
| `accessible` | Boolean | Wheelchair accessible |
| `privateOwner` | Boolean | Private owner listings |
| `furnished` | String | `furnished` or `furnishedKitchen` |
| `preservations` | String | `renew`, `newDevelopment`, `good` |
| `sinceDate` | String | `T` (48h), `W` (week), `M` (month) |
| `rentalUsages` | String | `seasonal` or `longTerm` |
| `smokingPolicy` | String | `allowed` or `disallowed` |
| `petsPolicy` | String | `allowed` or `disallowed` |

### 💡 Use Cases for Idealista Properties Scraper

- **Real Estate Research** — Search and compare rental or sale property prices across cities and neighborhoods
- **Market Analysis** — Monitor property price trends, price drops, and new listings in target areas
- **Investment Research** — Analyze property prices per sqm, rental yields, and market supply
- **Relocation Planning** — Find apartments or houses matching your budget, size, and amenity requirements
- **Lead Generation** — Extract agent and agency contact details for real estate business outreach
- **Property Monitoring** — Track new listings, price changes, and availability in specific locations
- **Data Journalism** — Collect real estate data for housing market reports and visualizations
- **Academic Research** — Gather property data for urban planning, economic, or housing studies

### 🔧 Tips for Best Results

1. **Start small** — Set `maxPages: 1` first to test your filters and preview results
2. **Use Auto-Complete first** — Always get Idealista location IDs from the [Auto-Complete actor](https://apify.com/burbn/idealista-auto-complete)
3. **Combine filters** — Use price, size, bedrooms, and amenity filters together to get exactly what you need
4. **Use pagination wisely** — Set `maxPages: 0` to scrape ALL pages (can be thousands of listings!)
5. **Export in your preferred format** — Download property data in JSON, CSV, or Excel

### 🔗 Related Actors

If you're looking for more Idealista data, check out our other scrapers:

- [**Idealista Auto-Complete**](https://apify.com/burbn/idealista-auto-complete) 📍 — Find Idealista location IDs for any city, neighborhood, or area.

### 🏷️ Tags

`idealista` `idealista scraper` `idealista properties` `idealista api` `idealista real estate` `idealista rent` `idealista sale` `property scraper` `real estate scraper` `real estate data` `property search` `rental properties` `properties for sale` `italy real estate` `spain real estate` `portugal real estate` `idealista crawler` `idealista extractor` `property prices` `property listings` `apartment search` `house search` `real estate api` `property data scraper` `idealista italy` `idealista spain` `idealista portugal`

### 🎁 Get $5 Free Apify Credits

New to Apify? [Sign up using this link](https://apify.com?fpr=free-credits) and get **$5 free credits** to start scraping Idealista right away! No credit card required.

### 📞 Support

For questions, feedback, or issues with this Idealista property scraper, please contact us through Apify or open an issue.

***

**Happy scraping Idealista! 🏠✨**

# Actor input Schema

## `locationId` (type: `string`):

Enter an Idealista location ID to search properties in (e.g., 0-EU-IT-MI-01-001-135 for Milano). Get location IDs using the Idealista Auto-Complete actor (https://apify.com/burbn/idealista-auto-complete).

## `operation` (type: `string`):

Select whether to search for properties for rent or for sale.

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

Select the country to search properties in.

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

Filter by property type (leave empty for all types).

## `sort` (type: `string`):

Sort results by price (ascending or descending).

## `locale` (type: `string`):

Select the language for property descriptions.

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

Number of items per API page (max 40). Higher values = fewer API calls.

## `maxPages` (type: `integer`):

Maximum number of pages to scrape per location (0 = all pages). Use to limit API calls.

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

Minimum price filter (0 = no minimum).

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

Maximum price filter (0 = no maximum).

## `minSize` (type: `integer`):

Minimum area size in square meters (0 = no minimum).

## `maxSize` (type: `integer`):

Maximum area size in square meters (0 = no maximum).

## `bedrooms` (type: `string`):

Filter by number of bedrooms (leave empty for any).

## `bathrooms` (type: `string`):

Filter by number of bathrooms (leave empty for any).

## `furnished` (type: `string`):

Filter by furnishing status (rent only).

## `sinceDate` (type: `string`):

Filter by listing date. Note: use T/W/M for rent, Y/W/M for sale.

## `swimmingPool` (type: `boolean`):

Only show properties with a swimming pool.

## `airConditioning` (type: `boolean`):

Only show properties with air conditioning.

## `elevator` (type: `boolean`):

Only show properties with an elevator.

## `terrace` (type: `boolean`):

Only show properties with a terrace.

## `garden` (type: `boolean`):

Only show properties with a garden.

## `garage` (type: `boolean`):

Only show properties with a garage.

## `penthouse` (type: `boolean`):

Only show penthouse properties.

## `duplex` (type: `boolean`):

Only show duplex properties.

## `luxury` (type: `boolean`):

Only show luxury properties.

## `exterior` (type: `boolean`):

Only show exterior-facing properties.

## `seaViews` (type: `boolean`):

Only show properties with sea views.

## `virtualTour` (type: `boolean`):

Only show properties with a virtual tour.

## `storeRoom` (type: `boolean`):

Only show properties with a store/storage room.

## `builtinWardrobes` (type: `boolean`):

Only show properties with built-in wardrobes.

## `accessible` (type: `boolean`):

Only show accessible properties.

## `privateOwner` (type: `boolean`):

Only show properties listed by private owners.

## `preservations` (type: `string`):

Filter by property preservation state.

## `subTypology` (type: `string`):

Filter by specific property sub-type.

## `floorHeights` (type: `string`):

Filter by floor position (comma-separated for multiple, e.g., topFloor,groundFloor).

## `rentalUsages` (type: `string`):

Filter by rental usage type (rent only).

## `smokingPolicy` (type: `string`):

Filter by smoking policy.

## `petsPolicy` (type: `string`):

Filter by pets policy.

## Actor input object example

```json
{
  "locationId": "0-EU-IT-MI-01-001-135",
  "operation": "rent",
  "country": "it",
  "propertyType": "",
  "sort": "asc",
  "locale": "en",
  "maxItems": 40,
  "maxPages": 1,
  "minPrice": 0,
  "maxPrice": 0,
  "minSize": 0,
  "maxSize": 0,
  "bedrooms": "",
  "bathrooms": "",
  "furnished": "",
  "sinceDate": "",
  "swimmingPool": false,
  "airConditioning": false,
  "elevator": false,
  "terrace": false,
  "garden": false,
  "garage": false,
  "penthouse": false,
  "duplex": false,
  "luxury": false,
  "exterior": false,
  "seaViews": false,
  "virtualTour": false,
  "storeRoom": false,
  "builtinWardrobes": false,
  "accessible": false,
  "privateOwner": false,
  "preservations": "",
  "subTypology": "",
  "floorHeights": "",
  "rentalUsages": "",
  "smokingPolicy": "",
  "petsPolicy": ""
}
```

# Actor output Schema

## `overview` (type: `string`):

View all properties with code, title, price, type, size, rooms, address, and listing URL.

## `details` (type: `string`):

View detailed property info with coordinates, description, status, features, and amenities.

## `contacts` (type: `string`):

View contact details for each property including agent name, phone number, and agency.

# 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 = {
    "locationId": "0-EU-IT-MI-01-001-135",
    "operation": "rent",
    "country": "it"
};

// Run the Actor and wait for it to finish
const run = await client.actor("burbn/idealista-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 = {
    "locationId": "0-EU-IT-MI-01-001-135",
    "operation": "rent",
    "country": "it",
}

# Run the Actor and wait for it to finish
run = client.actor("burbn/idealista-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 '{
  "locationId": "0-EU-IT-MI-01-001-135",
  "operation": "rent",
  "country": "it"
}' |
apify call burbn/idealista-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Idealista Scraper: Extract Rent & Sale Listings",
        "description": "Powerful Idealista scraper for professional real estate data. Extract listings from IT, ES, and PT with 40+ filters. Get GPS coordinates, full descriptions, and media. Perfect for investors, developers, and data scientists.",
        "version": "1.0",
        "x-build-id": "WyMqqsUpbjhkoWVFp"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/burbn~idealista-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-burbn-idealista-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/burbn~idealista-scraper/runs": {
            "post": {
                "operationId": "runs-sync-burbn-idealista-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/burbn~idealista-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-burbn-idealista-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": [
                    "locationId",
                    "operation"
                ],
                "properties": {
                    "locationId": {
                        "title": "📍 Location ID",
                        "type": "string",
                        "description": "Enter an Idealista location ID to search properties in (e.g., 0-EU-IT-MI-01-001-135 for Milano). Get location IDs using the Idealista Auto-Complete actor (https://apify.com/burbn/idealista-auto-complete).",
                        "default": "0-EU-IT-MI-01-001-135"
                    },
                    "operation": {
                        "title": "🏷️ Operation Type",
                        "enum": [
                            "rent",
                            "sale"
                        ],
                        "type": "string",
                        "description": "Select whether to search for properties for rent or for sale.",
                        "default": "rent"
                    },
                    "country": {
                        "title": "🌍 Country",
                        "enum": [
                            "it",
                            "es",
                            "pt"
                        ],
                        "type": "string",
                        "description": "Select the country to search properties in.",
                        "default": "it"
                    },
                    "propertyType": {
                        "title": "🏗️ Property Type",
                        "enum": [
                            "",
                            "homes",
                            "bedrooms",
                            "newDevelopments",
                            "offices",
                            "premises",
                            "garages",
                            "lands",
                            "storageRooms",
                            "buildings"
                        ],
                        "type": "string",
                        "description": "Filter by property type (leave empty for all types).",
                        "default": ""
                    },
                    "sort": {
                        "title": "📊 Sort Order",
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "description": "Sort results by price (ascending or descending).",
                        "default": "asc"
                    },
                    "locale": {
                        "title": "🗣️ Language",
                        "enum": [
                            "en",
                            "es",
                            "it",
                            "pt",
                            "de",
                            "fr",
                            "ro",
                            "ru",
                            "pl",
                            "sv",
                            "fi",
                            "nb",
                            "nl"
                        ],
                        "type": "string",
                        "description": "Select the language for property descriptions.",
                        "default": "en"
                    },
                    "maxItems": {
                        "title": "📦 Results Per Page",
                        "minimum": 1,
                        "maximum": 40,
                        "type": "integer",
                        "description": "Number of items per API page (max 40). Higher values = fewer API calls.",
                        "default": 40
                    },
                    "maxPages": {
                        "title": "📄 Max Pages to Scrape",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of pages to scrape per location (0 = all pages). Use to limit API calls.",
                        "default": 1
                    },
                    "minPrice": {
                        "title": "💰 Min Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price filter (0 = no minimum).",
                        "default": 0
                    },
                    "maxPrice": {
                        "title": "💰 Max Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price filter (0 = no maximum).",
                        "default": 0
                    },
                    "minSize": {
                        "title": "📐 Min Size (sqm)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum area size in square meters (0 = no minimum).",
                        "default": 0
                    },
                    "maxSize": {
                        "title": "📐 Max Size (sqm)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum area size in square meters (0 = no maximum).",
                        "default": 0
                    },
                    "bedrooms": {
                        "title": "🛏️ Bedrooms",
                        "enum": [
                            "",
                            "0",
                            "1",
                            "2",
                            "3",
                            "4"
                        ],
                        "type": "string",
                        "description": "Filter by number of bedrooms (leave empty for any).",
                        "default": ""
                    },
                    "bathrooms": {
                        "title": "🚿 Bathrooms",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3"
                        ],
                        "type": "string",
                        "description": "Filter by number of bathrooms (leave empty for any).",
                        "default": ""
                    },
                    "furnished": {
                        "title": "🪑 Furnished",
                        "enum": [
                            "",
                            "furnished",
                            "furnishedKitchen"
                        ],
                        "type": "string",
                        "description": "Filter by furnishing status (rent only).",
                        "default": ""
                    },
                    "sinceDate": {
                        "title": "📅 Listed Since",
                        "enum": [
                            "",
                            "T",
                            "W",
                            "M"
                        ],
                        "type": "string",
                        "description": "Filter by listing date. Note: use T/W/M for rent, Y/W/M for sale.",
                        "default": ""
                    },
                    "swimmingPool": {
                        "title": "🏊 Swimming Pool",
                        "type": "boolean",
                        "description": "Only show properties with a swimming pool.",
                        "default": false
                    },
                    "airConditioning": {
                        "title": "❄️ Air Conditioning",
                        "type": "boolean",
                        "description": "Only show properties with air conditioning.",
                        "default": false
                    },
                    "elevator": {
                        "title": "🛗 Elevator",
                        "type": "boolean",
                        "description": "Only show properties with an elevator.",
                        "default": false
                    },
                    "terrace": {
                        "title": "🌿 Terrace",
                        "type": "boolean",
                        "description": "Only show properties with a terrace.",
                        "default": false
                    },
                    "garden": {
                        "title": "🌳 Garden",
                        "type": "boolean",
                        "description": "Only show properties with a garden.",
                        "default": false
                    },
                    "garage": {
                        "title": "🅿️ Garage",
                        "type": "boolean",
                        "description": "Only show properties with a garage.",
                        "default": false
                    },
                    "penthouse": {
                        "title": "🏙️ Penthouse",
                        "type": "boolean",
                        "description": "Only show penthouse properties.",
                        "default": false
                    },
                    "duplex": {
                        "title": "🏘️ Duplex",
                        "type": "boolean",
                        "description": "Only show duplex properties.",
                        "default": false
                    },
                    "luxury": {
                        "title": "💎 Luxury",
                        "type": "boolean",
                        "description": "Only show luxury properties.",
                        "default": false
                    },
                    "exterior": {
                        "title": "🌤️ Exterior",
                        "type": "boolean",
                        "description": "Only show exterior-facing properties.",
                        "default": false
                    },
                    "seaViews": {
                        "title": "🌊 Sea Views",
                        "type": "boolean",
                        "description": "Only show properties with sea views.",
                        "default": false
                    },
                    "virtualTour": {
                        "title": "🎥 Virtual Tour",
                        "type": "boolean",
                        "description": "Only show properties with a virtual tour.",
                        "default": false
                    },
                    "storeRoom": {
                        "title": "📦 Store Room",
                        "type": "boolean",
                        "description": "Only show properties with a store/storage room.",
                        "default": false
                    },
                    "builtinWardrobes": {
                        "title": "🗄️ Built-in Wardrobes",
                        "type": "boolean",
                        "description": "Only show properties with built-in wardrobes.",
                        "default": false
                    },
                    "accessible": {
                        "title": "♿ Accessible",
                        "type": "boolean",
                        "description": "Only show accessible properties.",
                        "default": false
                    },
                    "privateOwner": {
                        "title": "👤 Private Owner",
                        "type": "boolean",
                        "description": "Only show properties listed by private owners.",
                        "default": false
                    },
                    "preservations": {
                        "title": "🔨 Preservation State",
                        "enum": [
                            "",
                            "renew",
                            "newDevelopment",
                            "good"
                        ],
                        "type": "string",
                        "description": "Filter by property preservation state.",
                        "default": ""
                    },
                    "subTypology": {
                        "title": "🏗️ Sub-Typology",
                        "enum": [
                            "",
                            "apartamentoType",
                            "villaType",
                            "loftType",
                            "terracedHouse",
                            "semidetachedHouse"
                        ],
                        "type": "string",
                        "description": "Filter by specific property sub-type.",
                        "default": ""
                    },
                    "floorHeights": {
                        "title": "🏢 Floor Height",
                        "enum": [
                            "",
                            "topFloor",
                            "intermediateFloor",
                            "groundFloor"
                        ],
                        "type": "string",
                        "description": "Filter by floor position (comma-separated for multiple, e.g., topFloor,groundFloor).",
                        "default": ""
                    },
                    "rentalUsages": {
                        "title": "📅 Rental Usage",
                        "enum": [
                            "",
                            "seasonal",
                            "longTerm"
                        ],
                        "type": "string",
                        "description": "Filter by rental usage type (rent only).",
                        "default": ""
                    },
                    "smokingPolicy": {
                        "title": "🚬 Smoking Policy",
                        "enum": [
                            "",
                            "allowed",
                            "disallowed"
                        ],
                        "type": "string",
                        "description": "Filter by smoking policy.",
                        "default": ""
                    },
                    "petsPolicy": {
                        "title": "🐾 Pets Policy",
                        "enum": [
                            "",
                            "allowed",
                            "disallowed"
                        ],
                        "type": "string",
                        "description": "Filter by pets policy.",
                        "default": ""
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
