Idealista Scraper | 💛 $0.5/1k | No Limit
Pricing
from $0.50 / 1,000 results
Idealista Scraper | 💛 $0.5/1k | No Limit
⚡ From $0.5/1k 💛 Scrape Idealista property listings from Spain, Italy, Portugal, and France. Extract prices, locations, descriptions, images, property details, and listing URLs from search pages or individual property pages. Export to CSV/JSON
Pricing
from $0.50 / 1,000 results
Rating
5.0
(1)
Developer
Epic Scrapers
Maintained by CommunityActor stats
1
Bookmarked
10
Total users
2
Monthly active users
14 days ago
Last modified
Categories
Share
Idealista Scraper: property listings from Spain, Italy, Portugal and France with prices, sizes, coordinates and photos
Idealista Scraper turns any Idealista search page or city search into a spreadsheet of property listings. It is for investors, agents, analysts and proptech teams who track asking prices, rents and inventory. Each row has the price, size, rooms, bathrooms, address, coordinates, description, photos and the listing URL. Paste a search URL from idealista.com, idealista.it, idealista.pt or idealista.fr, or search by country, city, property type and sale or rent.
- Four countries, one input. Spain (
es), Italy (it), Portugal (pt) and France (fr). The country, language and filters are read from the URL you paste. - Keep your filters. Set up a search on Idealista, copy the URL, and the Actor reproduces it. Or use structured filters: price, size, rooms, bathrooms, photos, floor plan, elevator, garage, heating, air conditioning and more.
- Past the 2,450-result page cap. A single Idealista search stops paginating at about 2,450 listings. With
maxResultsabove that, the Actor splits large searches into price ranges and keeps going. - Optional full detail. Turn on
includeDetailsfor the full property record,includeMultimediafor the complete photo set, andincludeRecommendationsfor similar listings. - Pay per result, no subscription. $1 per 1,000 results plus a $0.005 start fee. No Idealista account, API key or proxy setup. Export to JSON, CSV, Excel or Google Sheets.
Scope: This Actor covers Idealista in Spain, Italy, Portugal and France. For Italian listings on another portal, use Subito Real Estate Scraper. For UK sold prices and agent branches, use Rightmove Sold Listings Scraper and Rightmove Branch Scraper.
What can you do with Idealista Scraper?
| Goal | How |
|---|---|
| Compare prices across cities | Run one search per city and compare price against size (price per square meter) in a spreadsheet. |
| Watch a market over time | Save the search as a task, schedule it, and compare runs by propertyCode to find new, removed and repriced listings. |
| Build an investment shortlist | Filter by minPrice, maxPrice, minSize and minRooms, then map the results with latitude and longitude. |
| Track rents | Set operation to rent and collect price per area and propertyType. |
| Find commercial and niche stock | Use propertyType values offices, premises, garages, lands, buildings, rooms or newDevelopments. |
| Collect photos and descriptions | Read thumbnail on every row, or turn on includeMultimedia for multimedia.images with tags. |
| Pull a single listing | Paste a property URL into startUrls. The row always includes the full detail record. |
How it compares
| What you need | Idealista Scraper | Manual copy-paste | Page-by-page scrapers |
|---|---|---|---|
| Countries | Spain, Italy, Portugal, France | Any, one page at a time | Often one country |
| Listings per search | Beyond 2,450 by splitting into price ranges | A few pages | Usually stops at Idealista's cap |
| Your own Idealista URL | Filters are read from the URL | Yes | Varies |
| Coordinates | latitude and longitude when Idealista has them | No | Varies |
| Raw data for analysis | Clean fields plus the raw listing and detail JSON | No | Varies |
| Price | Pay per result | Your time | Varies |
Quick start
- Click Try for free and sign in to Apify.
- Paste an Idealista search URL into Idealista URLs, or leave it empty and choose a country, property type and city.
- For a first run, set Maximum results per query to
20. - Click Start. When the run finishes, open the Output tab and export the data.
{"startUrls": [{ "url": "https://www.idealista.it/vendita-uffici/genova-genova/con-prezzo-min_120000/" }],"maxResults": 20}
Input
Search by URL, or by location (country, operation, propertyType and locationQuery).
| Field | Type | Default | Effect |
|---|---|---|---|
startUrls | Array | Empty | Idealista search pages or single property pages. Country, language and filters come from the URL. |
country | String | "it" | es, it, pt or fr. Used for location searches. |
operation | String | "sale" | sale or rent. Location searches only. |
propertyType | String | "homes" | homes, offices, premises, garages, lands, buildings, rooms or newDevelopments. |
locationQuery | String | Empty | City or area name, for example Genova. The Actor looks up Idealista's matching location. |
locationIds | Array of strings | Empty | Idealista location IDs, if you already have them. Used instead of locationQuery. |
locationSelectionMode | String | "best" | When a name has several matches: best, all or exact. |
maxResults | Integer | 100 | Maximum listings saved per URL or location search. |
includeDetails | Boolean | false | One extra request per listing for the full detail record. Slower. |
includeMultimedia | Boolean | false | One extra request per listing for the full media set. |
includeRecommendations | Boolean | false | Adds up to 3 similar listings from Idealista to each row. |
minPrice, maxPrice | Integer | Empty | Price range in the listing currency. |
minSize, maxSize | Integer | Empty | Size range in square meters. |
minRooms, maxRooms | Integer | Empty | Room range, where Idealista supports it for the property type. |
minBathrooms | Integer | Empty | Minimum bathrooms. |
hasPhotos, hasPlan, exterior, elevator, airConditioning, garage, heating, accessible, security | Boolean | false | Only listings with that feature, where Idealista supports the filter. |
proxyConfiguration | Object | Apify Residential | Defaults to residential proxies in the country being scraped. |
Advanced fields (itemsPerPage, searchConcurrency, maxRetries, requestTimeoutSeconds, delaySeconds, order, sort, quality, gallery, debug) are in the input form with their defaults. Filters in the table apply to location searches. With a URL, Idealista's own filters in the URL are used.
Ready-to-run examples
Offices for sale in Genoa, from a URL
{"startUrls": [{ "url": "https://www.idealista.it/vendita-uffici/genova-genova/con-prezzo-min_120000/" }],"maxResults": 500}
Rentals in a Spanish city, by location
{"country": "es","operation": "rent","propertyType": "homes","locationQuery": "Madrid","minRooms": 2,"maxPrice": 1800,"maxResults": 300}
Full records with all photos
{"country": "pt","operation": "sale","propertyType": "homes","locationQuery": "Lisboa","maxResults": 50,"includeDetails": true,"includeMultimedia": true}
Output
Results go to the run's default dataset. Export as JSON, CSV, Excel, XML or HTML. The Overview view shows the main columns.
This is a real row from an Italian search, with the description and image list shortened:
{"id": "35585970","propertyCode": "35585970","url": "https://www.idealista.it/immobile/35585970/","country": "it","operation": "sale","propertyType": "chalet","price": 37000,"currency": "EUR","size": 172,"rooms": 6,"bathrooms": 2,"address": "Detached house in Località Scabbiabella, 24, Torriglia","municipality": "Torriglia","province": "Genova","latitude": 44.5184183,"longitude": 9.1172171,"description": "Scabbiabella – Semi-detached two-level house...","thumbnail": "https://img4.idealista.it/...","multimedia": {"images": [{ "url": "https://img4.idealista.it/...", "tag": "views" },{ "url": "https://img4.idealista.it/...", "tag": "corridor" }]},"features": {"hasSwimmingPool": false,"hasTerrace": true,"hasAirConditioning": false,"hasBoxRoom": false,"hasGarden": false},"sourceUrl": "https://www.idealista.it/en/vendita-case/genova-provincia/","scrapedAt": "2026-07-11T14:14:42.211Z","status": "success"}
Other fields on every row: extendedPropertyType, priceInfo, contactInfo, rawListing (the search payload) and rawDetail (the detail payload, empty unless details were requested). recommendations is added when requested.
Notes on fields
priceis the advertised price incurrency(EUR). For rentals it is the monthly rent.sizeis in square meters.- Missing values are
null. Coordinates, bathrooms, features and contact data depend on the listing. - Each listing is saved once per search. The same listing can appear again if it matches another URL in the same run.
- If a URL fails, the Actor saves a row with
statusset tofailed, thesourceUrland anerrormessage. Failed rows count as dataset items for pricing. - Dates use UTC (
scrapedAt).
Track Idealista listings over time with scheduled runs
Most of the value comes from running the same search again and comparing. Apify can run the actor for you on a schedule and send the results wherever you need them.
1. Save your input as a task
Open the actor, set your search URLs or locations and options, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.
2. Schedule the task
In Apify Console, go to Schedules, click Create new, choose how often to run (for example daily at 06:00 in your time zone), and add your task. See Schedules and How to create a schedule.
Watch how to schedule an Actor:
Or schedule a saved task:
Common schedules:
| Use case | Frequency | Cron expression |
|---|---|---|
| New listings alerts | Daily | 0 6 * * * |
| Price drop monitoring | Daily | 0 0 * * * |
| Market reports by city | Weekly (Monday) | 0 6 * * 1 |
| Fast markets | Twice a day | 0 6,18 * * * |
3. Send the results to a spreadsheet
Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:
4. Compare runs
- New listings:
ids that were not in the previous run. - Price drops:
priceperidover time. Rentals compare monthly rent. - Removed listings:
ids that disappeared between runs. - Price per square meter:
pricedivided bysize, grouped bymunicipalityorprovince.
FAQ
How many listings can I get?
Idealista paginates a search up to about 2,450 results. Set maxResults higher than that and the Actor splits a large search into price ranges to collect more. To go further still, run several narrower searches, for example one per district.
Why did I get fewer results than my limit?
The search itself has fewer listings. The log shows the total Idealista reported. Narrow filters reduce it further.
Should I turn on includeDetails?
Search results already include price, size, rooms, address, coordinates and a thumbnail. Turn on includeDetails when you need the full property record. It makes one extra request per listing, so runs are slower.
Can I scrape a single property page?
Yes. Paste the property URL into startUrls. The row is built from the full detail record.
Does it support sale and rent?
Yes. Use operation for location searches, or paste the sale or rent URL.
Do I need proxies, an Idealista account or an API key?
No. The Actor uses Apify Residential Proxy in the right country by default and does not log in.
Is it legal to scrape Idealista?
The Actor collects publicly visible listing data. You are responsible for how you use it, including Idealista's terms, database rights and laws such as GDPR, especially for contact details.
What about other real estate portals?
For Italian classifieds, use Subito Real Estate Scraper. For the UK, use Rightmove Sold Listings Scraper and Rightmove Branch Scraper.
Cost
This Actor uses pay-per-event pricing, with no subscription:
| Event | Price | Per 1,000 | Charged when |
|---|---|---|---|
| Actor start | $0.005 | n/a | Once per run, per GB of memory. |
| Result (dataset item) | $0.001 | $1 | A row is saved to the dataset. |
| Run | Cost |
|---|---|
| 100 listings | $0.105 |
| 1,000 listings | $1.005 |
| 10,000 listings | $10.005 |
includeDetails and includeMultimedia make runs slower but do not add a separate charge. Set a maximum cost per run in the run options. The Pricing tab always shows the current prices.
Related Actors
- Subito Real Estate Scraper: Italian property classifieds.
- Rightmove Sold Listings Scraper: UK sold prices.
- Rightmove Branch Scraper: UK estate agent branches and their listings.
Support
Report problems or request features in the Issues tab. Include the run ID, the input and what you expected.
This Actor is not affiliated with or endorsed by Idealista. "Idealista" is a trademark of its owner.