Idealista Scraper
Pricing
$18.99/month + usage
Idealista Scraper
Unlimited Idealista.com scraper. Extract rentals & sales from Spain, Portugal, Italy. 70+ fields: prices, agents, GPS, photos, price history. The richest output for real estate market research & lead generation. Built for agencies & investors who need predictable pricing at scale.
Pricing
$18.99/month + usage
Rating
0.0
(0)
Developer

SilentFlow
Actor stats
1
Bookmarked
4
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Idealista Scraper - Extract Real Estate Data from Spain, Portugal & Italy
Scrape property listings from Idealista.com, the largest real estate portal in Southern Europe. Extract rentals and properties for sale - apartments, houses, villas, rooms, land, and commercial properties with full details including prices, locations, amenities, and agency contacts.
Try it now: Paste any Idealista search URL and get structured data in minutes.
What is Idealista Scraper?
Idealista Scraper is an automated data extraction tool that collects property listings from Idealista across Spain, Portugal, and Italy. It works with both rental listings (alquiler) and properties for sale (venta). Whether you're researching the real estate market, relocating, or building a property database, this scraper delivers comprehensive, structured data ready for analysis.
The scraper supports two modes:
- Properties mode: Extract detailed property listings with prices, sizes, amenities, descriptions, and photos
- Agencies mode: Collect real estate agency profiles with contact information and listing counts
What can Idealista Scraper do?
- Rentals & Sales: Scrape both rental listings and properties for sale
- Multiple input methods: Use a search URL with your filters or configure parameters directly
- Multi-country support: Scrape from idealista.com (Spain), idealista.pt (Portugal), and idealista.it (Italy)
- Property & agency scraping: Switch between property listings and agency profiles
- All property types: Apartments, houses, villas, rooms, penthouses, land, offices, commercial, garages
- Complete data extraction: Get 40+ data points per property including GPS coordinates
- Flexible filtering: Set price ranges, size limits, room counts, and sorting options
- Scalable: Extract from 1 to 1,500+ properties per run
- Apify platform benefits: API access, scheduling, integrations with 2,000+ apps, proxy rotation
What data can you extract from Idealista?
| Data Point | Description |
|---|---|
propertyCode | Unique Idealista property ID |
url | Direct link to the listing |
title | Property title |
description | Full property description |
price | Price (rent/month or sale price) in EUR |
pricePerSquareMeter | Price per m² (for sales) |
size | Property size in m² |
rooms | Number of rooms |
bathrooms | Number of bathrooms |
floor | Floor number |
propertyType | Type (flat, house, penthouse, villa...) |
operation | rent or sale |
municipality | City name |
province | Province/region |
district | District name |
neighborhood | Local area name |
address | Street address |
latitude / longitude | GPS coordinates |
hasElevator | Elevator availability |
hasAirConditioning | AC availability |
hasHeating | Heating availability |
hasParking | Parking included |
hasTerrace | Terrace availability |
hasBalcony | Balcony availability |
hasGarden | Garden availability |
hasPool | Pool availability |
hasStorageRoom | Storage room included |
isExterior | Exterior facing |
isFurnished | Furnishing status |
isNewDevelopment | New construction |
numPhotos | Number of photos |
has3DTour | 3D tour available |
hasVideo | Video available |
thumbnail | Main image URL |
agencyName | Listing agency name |
contactPhone | Agency phone number |
scrapedAt | Extraction timestamp |
Agency data (Agencies mode)
| Data Point | Description |
|---|---|
name | Agency name |
commercialName | Brand name |
phone | Contact phone |
address | Office address |
postalCode | Postal code |
city | Office city |
totalListings | Number of active listings |
url | Agency profile URL |
logo | Agency logo URL |
How to scrape Idealista listings
Option 1: Use a search URL (Recommended)
The easiest way to use Idealista Scraper:
- Go to idealista.com and search for properties
- Apply your filters (location, price, rooms, rent/sale, etc.)
- Copy the URL from your browser
- Paste it in the
searchUrlfield
For rentals:
{"searchUrl": "https://www.idealista.com/alquiler-viviendas/madrid/","pages": 5}
For sales:
{"searchUrl": "https://www.idealista.com/venta-viviendas/barcelona/eixample/","pages": 5}
Option 2: Use input parameters
Configure the search directly without visiting Idealista:
{"location": "valencia","country": "es","propertyType": "pisos","priceMax": 300000,"rooms": 2,"pages": 10}
Scrape real estate agencies
Switch to agencies mode to extract agency profiles:
{"searchUrl": "https://www.idealista.com/venta-viviendas/madrid/","mode": "agencies","pages": 10}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | properties | properties or agencies |
searchUrl | string | - | Idealista search URL with filters |
location | string | madrid | City name (used if searchUrl is empty) |
country | string | es | es (Spain), pt (Portugal), it (Italy) |
propertyType | string | viviendas | viviendas, pisos, casas, chalets, habitacion, terrenos, oficinas... |
priceMin | number | - | Minimum price |
priceMax | number | - | Maximum price |
sizeMin | number | - | Minimum size in m² |
sizeMax | number | - | Maximum size in m² |
rooms | number | - | Minimum number of rooms |
bathrooms | number | - | Minimum number of bathrooms |
pages | number | 1 | Pages to scrape (30 properties/page) |
maxItems | number | 0 | Max properties (0 = no limit) |
sortBy | string | - | Sort: price, size, or date |
proxyType | string | residential | Proxy type for requests |
Output example
{"propertyCode": "107054487","url": "https://www.idealista.com/inmueble/107054487/","title": "Penthouse in calle dels Aluders","description": "Spectacular duplex penthouse with two terraces...","price": 465000,"pricePerSquareMeter": 5471,"currency": "EUR","operation": "sale","size": 85,"rooms": 2,"bathrooms": 2,"floor": "4","propertyType": "penthouse","address": "calle dels Aluders","municipality": "València","province": "València","district": "Ciutat Vella","neighborhood": "El Mercat","latitude": 39.4709193,"longitude": -0.3784388,"hasElevator": true,"isExterior": true,"hasParking": true,"hasTerrace": true,"numPhotos": 41,"has3DTour": true,"hasVideo": true,"thumbnail": "https://img4.idealista.com/...","agencyName": "Engel & Völkers València","contactPhone": "960378736","scrapedAt": "2025-12-26T18:29:02Z"}
Use cases for Idealista data
Real estate market analysis Track price trends, inventory levels, and market dynamics for both rentals and sales across neighborhoods.
Investment research Compare property prices and rental yields to identify investment opportunities.
Relocation planning Research rental and purchase options in different cities before moving.
Property valuation Get comparable data for accurate property pricing and rent estimation.
Lead generation Build targeted lists of real estate agencies for B2B partnerships or marketing campaigns.
Portfolio monitoring Track competitor listings, new developments, and price changes.
Integrations
Export your data in JSON, CSV, Excel, or connect directly to your tools:
Python API example
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("silentflow/idealista-scraper").call(run_input={"searchUrl": "https://www.idealista.com/venta-viviendas/barcelona/","pages": 5})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['title']} - {item['price']}€")
JavaScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('silentflow/idealista-scraper').call({searchUrl: 'https://www.idealista.com/alquiler-viviendas/madrid/',pages: 3});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Connect with Zapier, Make, or n8n
Use webhooks or the Apify integration to automatically send property data to Google Sheets, Airtable, Slack, email, or 2,000+ other apps.
FAQ
Does it scrape both rentals and sales?
Yes. The scraper works with any Idealista search URL - both alquiler (rentals) and venta (sales).
How often should I run the scraper? For rentals, run daily as listings change frequently. For sales, weekly is usually sufficient.
Can I search for specific property types?
Yes. Set propertyType to pisos (apartments), casas (houses), chalets (villas), habitacion (rooms), terrenos (land), etc.
Does it work with Portugal and Italy?
Yes. Set country to pt for idealista.pt (Portugal) or it for idealista.it (Italy).
How many properties can I scrape?
Each page contains ~30 properties. You can scrape up to 50 pages (1,500 properties) per run, or use maxItems for precise control.
Can I filter by specific neighborhoods? Yes. Apply your filters on idealista.com and copy the resulting URL with all parameters.
Can I get GPS coordinates for mapping?
Yes. Each property includes latitude and longitude for geospatial analysis.
Supported countries and property types
| Country | Domain | Property Types |
|---|---|---|
| Spain | idealista.com | Apartments, houses, villas, penthouses, rooms, land, offices, commercial, garages |
| Portugal | idealista.pt | Apartments, houses, villas, land, offices |
| Italy | idealista.it | Apartments, houses, villas, commercial, offices |
Is it legal to scrape Idealista?
Our scrapers are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly on Idealista listings.
We believe that our scrapers, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world.
You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
Need help or have feedback?
- Open an issue in the Issues tab if you encounter any problems
- We're open to feature requests and custom solutions
- Contact us for enterprise integrations or high-volume scraping needs
Built and maintained by silentflow