Idealista Scraper avatar

Idealista Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Idealista Scraper

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

Crawler Bros

Maintained by Community

Actor stats

20

Bookmarked

4

Total users

1

Monthly active users

a day ago

Last modified

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

FieldTypeRequiredDefaultDescription
LocationstringYesCity or area slug from Idealista URLs (e.g., madrid-madrid, barcelona-barcelona, lisboa, roma)
OperationstringNosaleType of listing: sale or rent
Property TypestringNohomesProperty type: homes, newDevelopments, offices, premises, garages, lands, storageRooms, buildings, bedrooms
CountrystringNoesTarget country: es (Spain), pt (Portugal), it (Italy)
Maximum PropertiesintegerNo100Maximum number of listings to scrape
Direct URLsarrayNoIdealista search URLs (overrides location/operation/propertyType)
Proxy ConfigurationobjectYesResidentialResidential 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

FieldTypeDescription
propertyCodestringIdealista property ID
urlstringFull property listing URL
pricenumberListing price in local currency
priceByAreanumberPrice per square meter
currencystringCurrency code (EUR)
sizenumberProperty size in square meters
roomsintegerNumber of bedrooms
bathroomsintegerNumber of bathrooms
floorstringFloor level
exteriorbooleanExterior-facing property
descriptionstringListing description text

Location Fields

FieldTypeDescription
addressstringStreet address
provincestringProvince
municipalitystringMunicipality/city
districtstringDistrict/neighborhood
countrystringCountry code
latitudenumberGPS latitude
longitudenumberGPS longitude
showAddressbooleanWhether exact address is shown
locationIdstringIdealista location identifier

Media Fields

FieldTypeDescription
thumbnailstringThumbnail image URL
numPhotosintegerNumber of photos
multimediaarrayImage URLs with tags
hasVideobooleanHas video tour
has3DTourbooleanHas 3D virtual tour
has360booleanHas 360-degree view
hasStagingbooleanHas virtual staging
hasPlanbooleanHas floor plan

Feature Fields

FieldTypeDescription
hasLiftbooleanHas elevator
hasSwimmingPoolbooleanHas swimming pool
hasTerracebooleanHas terrace
hasAirConditioningbooleanHas air conditioning
hasBoxRoombooleanHas storage room
hasGardenbooleanHas garden
hasParkingSpaceobjectParking details

Contact Fields

FieldTypeDescription
contactInfoobjectAgency name, phone, logo

Status Fields

FieldTypeDescription
propertyTypestringProperty type
operationstringSale or rent
statusstringListing status
newDevelopmentbooleanNew development flag
newPropertybooleanNew property flag
topPlusbooleanPremium promoted listing
scrapedAtstringISO 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.