Idealista Scraper
Pricing
from $1.00 / 1,000 results
Idealista Scraper
Scrape real estate listings from Idealista.com. Extract property prices, locations, features, photos, and agent contacts for Spain, Italy, and Portugal.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(19)
Developer
Crawler Bros
Actor stats
20
Bookmarked
4
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract real estate listing data from Idealista.com across Spain, Italy, and Portugal. Get property prices, locations, features, photos, and agent contact details for homes, offices, garages, and more.
Features
- Scrape property listings for sale or rent
- Support for Spain (idealista.com), Italy (idealista.it), and Portugal (idealista.pt)
- 70+ data fields per listing including prices, GPS coordinates, and agent contacts
- Multiple property types: homes, offices, premises, garages, lands, and more
- Automatic pagination to collect all available listings
- Export to JSON, CSV, Excel, or XML
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| Location | string | Yes | — | City or area slug from Idealista URLs (e.g., madrid-madrid, barcelona-barcelona, lisboa, roma) |
| Operation | string | No | sale | Type of listing: sale or rent |
| Property Type | string | No | homes | Property type: homes, newDevelopments, offices, premises, garages, lands, storageRooms, buildings, bedrooms |
| Country | string | No | es | Target country: es (Spain), pt (Portugal), it (Italy) |
| Maximum Properties | integer | No | 100 | Maximum number of listings to scrape |
| Direct URLs | array | No | — | Idealista search URLs (overrides location/operation/propertyType) |
| Proxy Configuration | object | Yes | Residential | Residential proxy is required |
Example Input
{"location": "madrid-madrid","operation": "sale","propertyType": "homes","country": "es","maxItems": 50}
Supported Location Formats
- City slug:
madrid-madrid,barcelona-barcelona,marbella-malaga - Portugal:
lisboa,porto,faro - Italy:
roma-roma,milano-milano,firenze-firenze - Direct URL:
https://www.idealista.com/venta-viviendas/madrid-madrid/
Output
Each property listing contains the following fields:
Core Fields
| Field | Type | Description |
|---|---|---|
propertyCode | string | Idealista property ID |
url | string | Full property listing URL |
price | number | Listing price in local currency |
priceByArea | number | Price per square meter |
currency | string | Currency code (EUR) |
size | number | Property size in square meters |
rooms | integer | Number of bedrooms |
bathrooms | integer | Number of bathrooms |
floor | string | Floor level |
exterior | boolean | Exterior-facing property |
description | string | Listing description text |
Location Fields
| Field | Type | Description |
|---|---|---|
address | string | Street address |
province | string | Province |
municipality | string | Municipality/city |
district | string | District/neighborhood |
country | string | Country code |
latitude | number | GPS latitude |
longitude | number | GPS longitude |
showAddress | boolean | Whether exact address is shown |
locationId | string | Idealista location identifier |
Media Fields
| Field | Type | Description |
|---|---|---|
thumbnail | string | Thumbnail image URL |
numPhotos | integer | Number of photos |
multimedia | array | Image URLs with tags |
hasVideo | boolean | Has video tour |
has3DTour | boolean | Has 3D virtual tour |
has360 | boolean | Has 360-degree view |
hasStaging | boolean | Has virtual staging |
hasPlan | boolean | Has floor plan |
Feature Fields
| Field | Type | Description |
|---|---|---|
hasLift | boolean | Has elevator |
hasSwimmingPool | boolean | Has swimming pool |
hasTerrace | boolean | Has terrace |
hasAirConditioning | boolean | Has air conditioning |
hasBoxRoom | boolean | Has storage room |
hasGarden | boolean | Has garden |
hasParkingSpace | object | Parking details |
Contact Fields
| Field | Type | Description |
|---|---|---|
contactInfo | object | Agency name, phone, logo |
Status Fields
| Field | Type | Description |
|---|---|---|
propertyType | string | Property type |
operation | string | Sale or rent |
status | string | Listing status |
newDevelopment | boolean | New development flag |
newProperty | boolean | New property flag |
topPlus | boolean | Premium promoted listing |
scrapedAt | string | ISO timestamp of scrape |
Example Output
{"propertyCode": "12345678","url": "https://www.idealista.com/inmueble/12345678/","price": 350000,"priceByArea": 4118,"currency": "EUR","size": 85,"rooms": 3,"bathrooms": 2,"floor": "4th floor","exterior": true,"description": "Beautiful apartment in the heart of Madrid...","address": "Calle Gran Via, Madrid","province": "Madrid","municipality": "Madrid","district": "Centro","country": "es","latitude": 40.4200,"longitude": -3.7025,"showAddress": true,"thumbnail": "https://img3.idealista.com/...","numPhotos": 15,"hasVideo": false,"has3DTour": true,"hasLift": true,"hasSwimmingPool": false,"hasTerrace": true,"hasAirConditioning": true,"hasGarden": false,"hasParkingSpace": {"hasParkingSpace": true,"isParkingSpaceIncludedInPrice": false},"contactInfo": {"commercialName": "Engel & Volkers Madrid","agencyLogo": "https://img3.idealista.com/..."},"propertyType": "homes","operation": "sale","newDevelopment": false,"topPlus": false,"scrapedAt": "2026-03-25T12:00:00+00:00"}
Use Cases
- Market analysis: Track property prices and trends across Spanish, Italian, and Portuguese cities
- Investment research: Compare prices per square meter across neighborhoods and districts
- Competitive monitoring: Track competitor agency listings and pricing strategies
- Lead generation: Collect agent contact details for real estate businesses
- Portfolio management: Monitor listings in specific areas for property management companies
Limitations
- Residential proxy required: Idealista uses advanced anti-bot protection. Datacenter proxies will not work.
- Search result cap: Idealista limits search results to approximately 1,800 listings per query (60 pages).
- Rate limits: The scraper uses delays between pages to avoid detection. Expect approximately 1-2 pages per minute.
- Dynamic content: Some listing details (full photo galleries, contact phone numbers) are only available on individual property pages.
FAQ
Does this require a login or cookies? No. This scraper accesses publicly available listing data without any login or authentication.
Why is a residential proxy required? Idealista uses DataDome anti-bot protection that immediately blocks requests from datacenter IP addresses. Residential proxies are needed to appear as a regular user.
Which countries are supported? Spain (idealista.com), Portugal (idealista.pt), and Italy (idealista.it).
What property types can I scrape? Homes, new developments, offices, commercial premises, garages, lands, storage rooms, buildings, and rooms/bedrooms.
How do I find the location slug?
Visit idealista.com, search for your target area, and copy the location part from the URL. For example, in idealista.com/venta-viviendas/madrid-madrid/, the location slug is madrid-madrid.
Why are some fields empty? Not all listings include every detail. For example, some sellers hide the exact address, some don't list the floor number, and features like pool or terrace are only shown when present.
How many listings can I get? Idealista caps search results at approximately 1,800 listings per search query. To get more listings for a large city, run separate searches with different filters.
How fast is the scraper? The scraper processes approximately 30 listings per page with 2-4 second delays between pages. A typical run of 100 listings takes 3-5 minutes.
Can I scrape individual property pages? The current version focuses on search result listings. Individual property page scraping will be added in a future update.
What is the cost? The scraper uses Apify residential proxies which are billed based on data transfer. Check the Apify pricing page for current proxy rates.