Idealista Scraper - Spain, Portugal & Italy Real Estate
Under maintenancePricing
Pay per usage
Idealista Scraper - Spain, Portugal & Italy Real Estate
Under maintenanceScrape real estate listings from Idealista.com (Spain), Idealista.pt (Portugal), and Idealista.it (Italy). Get prices, addresses, property details, photos, energy certificates, and agent contacts for properties for sale or rent. No login or cookies required.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Idealista Scraper
Scrape real estate listings from Idealista — the dominant property portal in Spain, Portugal, and Italy with over 1.5 million active listings. No login or cookies required.
How to scrape Idealista data
- Go to Idealista Scraper on the Apify Store.
- Select the country (Spain, Portugal, or Italy).
- Choose a listing type (buy or rent).
- Enter a location (city, region, or neighborhood).
- Optionally filter by property type, price range, size, bedrooms, or bathrooms.
- Set the maximum number of results you want.
- Click Start and wait for the data to be collected.
- Download your results as JSON, CSV, Excel, or connect via API.
Why use this actor?
Real estate investors, analysts, relocation agencies, and proptech companies need reliable property data from Southern Europe's largest markets. This actor extracts structured listing data from Idealista including prices, addresses, property specs, photos, energy certificates, and agent contacts — ready for market analysis, price comparison, portfolio monitoring, or lead generation.
Idealista covers three major markets from a single portal:
- Spain (idealista.com) — 800K+ listings, the #1 real estate site
- Portugal (idealista.pt) — the leading property portal
- Italy (idealista.it) — major market with growing share
Input
| Field | Type | Required | Description |
|---|---|---|---|
country | String | No | ES (Spain, default), PT (Portugal), or IT (Italy) |
listingType | String | No | sale (default) or rent |
searchQuery | String | No | City or region (e.g. Madrid, Barcelona, Lisboa, Roma) |
propertyType | String | No | flat, house, penthouse, studio, duplex, loft, country-house, land, or garage |
minPrice | Integer | No | Minimum price in EUR |
maxPrice | Integer | No | Maximum price in EUR |
minSize | Integer | No | Minimum constructed area in m2 |
maxSize | Integer | No | Maximum constructed area in m2 |
bedrooms | Integer | No | Minimum number of bedrooms |
bathrooms | Integer | No | Minimum number of bathrooms |
maxResults | Integer | No | Maximum results to return (default: 100) |
proxyConfiguration | Object | No | Proxy settings (residential proxy recommended) |
Output
Each result contains:
| Field | Type | Example |
|---|---|---|
title | String | "Piso en calle de Alcala" |
price | Number | 385000 |
currency | String | "EUR" |
pricePerM2 | Number | 4812 |
originalPrice | Number | 395000 |
priceDropPercent | Number | 2.5 |
listingType | String | "sale" or "rent" |
propertyType | String | "flat" |
address | String | "Calle de Alcala, Salamanca, Madrid" |
city | String | "Madrid" |
province | String | "Madrid" |
district | String | "Salamanca" |
postalCode | String | "28009" |
latitude | Number | 40.4233 |
longitude | Number | -3.6783 |
bedrooms | Number | 3 |
bathrooms | Number | 2 |
rooms | Number | 5 |
surface | Number | 80 |
usableSurface | Number | 72 |
landSurface | Number | null |
floor | String | "3" |
hasLift | Boolean | true |
isExterior | Boolean | true |
hasAirConditioning | Boolean | true |
hasSwimmingPool | Boolean | false |
hasGarden | Boolean | false |
hasTerrace | Boolean | true |
hasParking | Boolean | true |
parkingPrice | Number | 25000 |
condition | String | "good" |
energyCertification | String | "D" |
description | String | Full property description text |
imageUrl | String | Primary listing photo URL |
imageUrls | Array | All listing photo URLs |
imageCount | Number | 24 |
has3DTour | Boolean | true |
hasVideo | Boolean | false |
agencyName | String | "Engel & Volkers" |
agencyPhone | String | "+34 91 123 4567" |
propertyCode | String | "12345678" |
country | String | "ES" |
url | String | Full listing URL on Idealista |
scrapedAt | String | "2026-06-07T12:00:00.000Z" |
Example output
{"title": "Piso en calle de Alcala","price": 385000,"currency": "EUR","pricePerM2": 4812,"originalPrice": null,"priceDropPercent": null,"listingType": "sale","propertyType": "flat","address": "Calle de Alcala, Salamanca, Madrid","city": "Madrid","province": "Madrid","district": "Salamanca","postalCode": "28009","latitude": 40.4233,"longitude": -3.6783,"bedrooms": 3,"bathrooms": 2,"rooms": 5,"surface": 80,"usableSurface": 72,"landSurface": null,"floor": "3","hasLift": true,"isExterior": true,"hasAirConditioning": true,"hasSwimmingPool": false,"hasGarden": false,"hasTerrace": true,"hasParking": true,"parkingPrice": 25000,"condition": "good","energyCertification": "D","description": "Luminoso piso exterior en el barrio de Salamanca...","imageUrl": "https://img3.idealista.com/blur/...","imageUrls": ["https://img3.idealista.com/blur/...","https://img3.idealista.com/blur/..."],"imageCount": 24,"has3DTour": true,"hasVideo": false,"agencyName": "Engel & Volkers","agencyPhone": "+34 91 123 4567","agencyUrl": null,"propertyCode": "12345678","country": "ES","url": "https://www.idealista.com/inmueble/12345678/","scrapedAt": "2026-06-07T12:00:00.000Z"}
Cost estimate
This actor uses PlaywrightCrawler with residential proxy due to Idealista's anti-bot protection. It visits both search pages and individual detail pages for full data enrichment. Expect approximately 8-15 compute units per 100 results. At standard Apify pricing, that's roughly $0.40-0.75 per 100 listings.
Tips for best results
- Use residential proxies — Idealista has strong bot detection. Residential proxies from the target country (ES, PT, IT) give the best success rate.
- Start small — test with 10-20 results first, then scale up.
- Be specific with location — use city names exactly as they appear on Idealista (e.g. "Madrid" not "madrid capital").
- Combine filters — narrow results with price range and property type to get more relevant data.
Supported countries and cities
Spain (idealista.com)
Madrid, Barcelona, Valencia, Sevilla, Malaga, Bilbao, Alicante, Palma de Mallorca, Las Palmas, Zaragoza, and all provinces.
Portugal (idealista.pt)
Lisboa, Porto, Faro, Braga, Coimbra, Setúbal, Funchal, and all districts.
Italy (idealista.it)
Roma, Milano, Napoli, Torino, Firenze, Bologna, Palermo, Genova, and all provinces.
Limitations
- Idealista has aggressive anti-bot protection — residential proxies from the target country are strongly recommended
- Some requests may be temporarily blocked; the actor retries automatically with fresh browser sessions
- Maximum ~60 pages per search (Idealista platform limit), which is approximately 1,800 listings per search query
- GPS coordinates are only available when the listing includes a map
- Data is scraped from the public website and may change without notice
- Respect the website's terms of service and use responsibly
Use cases
- Market analysis — track asking prices, price-per-m2, and inventory across Spanish, Portuguese, and Italian cities.
- Investment research — compare rental yields and property values across Southern European markets.
- Relocation intelligence — aggregate listings by neighborhood, price, and features for expat relocation services.
- Competitor monitoring — track how agencies price and position their listings.
- Lead generation — surface new listings by location, property type, or price band for real estate businesses.
- Academic research — study housing market trends, gentrification patterns, and price dynamics.
Support
Hit a bug or a missing field? Open an issue on the Actor page — we respond fast and ship fixes within 24 hours. Every published scraper in the Studio Amba catalog is monitored daily; broken runs trigger an automatic heal cycle.