Idealista Scraper - Spain Italy Portugal Property
Pricing
from $2.50 / 1,000 results
Idealista Scraper - Spain Italy Portugal Property
Scrape Idealista.com / .it / .pt across homes, new builds, rooms, garages, commercial, land, and business transfers by location or URL. Extract prices, rooms, living space, agencies, and photos as an Idealista API alternative.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does Idealista Scraper do?
Scrape Idealista property listings in Spain, Italy, and Portugal for sale and to rent, then export structured real-estate data to an Apify Dataset. This Actor is a practical Idealista API alternative for agencies, investors, researchers, and automations that need clean housing data from:
- Idealista Spain (
idealista.com) - Idealista Italy (
idealista.it) - Idealista Portugal (
idealista.pt)
Set country, a location path, or paste Idealista search / detail URLs. Optionally open each listing detail page to enrich prices, rooms, living space, agency contacts, descriptions, and photos. Supports all top-nav Idealista property categories (homes, new builds, rooms, garages, storage, offices, commercial, land, buildings, holiday, business transfer).
What can this Idealista Scraper do?
- Scrape Spain (
country=ES) onidealista.com - Scrape Italy (
country=IT) onidealista.it - Scrape Portugal (
country=PT) onidealista.pt - Scrape for-sale (
channel=BUY) and to-rent (channel=RENT) - Scrape all Idealista top-nav property types via
propertyTypeor categorystartUrls - Build searches from location paths or
startUrls - Paginate Idealista search result pages (
/pagina-N.htm) - Enrich listings from Idealista detail pages (
scrapeDetails), including new-build detail URLs when present - Extract prices, rooms, living space, floor, agency, images, tags,
propertyType, and map metadata - Cap runs with
maxItemsandmaxPages - Run on Apify with scheduling, Dataset export, webhooks, and API access
- Use Apify RESIDENTIAL proxy with country ES, IT, or PT
What data can you extract from Idealista?
| Property field | Example |
|---|---|
| Country | ES, IT, PT |
| Property type | Local Idealista path (viviendas, negozi, lojas_ou_armazens, …) |
| Listing ID / URL | Idealista id + detail URL (/inmueble/, /immobile/, /imovel/, /obra-nueva/) |
| Title / address | Card or detail title |
| Price | 350.000 €, 1.500 €/mes |
| Rooms / living space | 3 / 85 m² (often null for garages, storage, land) |
| Floor / features | Floor, elevator, orientation when shown |
| Description | SRP summary or detail description |
| Agency / advertiser | Detail config or DOM |
| Images / plans / videos | Gallery URLs and counts |
| Channel | BUY or RENT |
| Source layer | srp, srp+ldp |
Why scrape Idealista?
Idealista is one of Southern Europe’s largest property portals across Spain, Italy, and Portugal. Scraping Idealista listings helps with:
- Cross-border market research and price benchmarking (Madrid, Barcelona, Roma, Lisboa…)
- Lead generation for agencies, mortgage brokers, and service providers
- Investment screening across sale and rental inventory
- Monitoring new Idealista listings, price drops, and agency coverage
- Feeding dashboards, CRMs, spreadsheets, or AI agent workflows
How to scrape Idealista property data
- Open this Actor and click Try for free (or Start).
- Set
countrytoES,IT, orPT(or paste IdealistastartUrls— the host infers the market). - Set
location(for examplemadrid-madrid,roma-roma,lisboa) or provide search URLs. - Choose
channel:BUYfor sale orRENTfor to-rent. - Set
maxItemsandmaxPagesfor a small test first. - Enable
scrapeDetailswhen you need agency names, full descriptions, and media from detail pages. - Prefer Apify RESIDENTIAL proxy with country matching the market (
ES/IT/PT). - Click Start, then download the Dataset as JSON, CSV, Excel, or JSONL.
Example input (Spain — Madrid for sale)
{"country": "ES","location": "madrid-madrid","channel": "BUY","propertyType": "homes","maxItems": 10,"maxPages": 1,"scrapeDetails": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "ES"}}
Example input (Italy — Roma for sale)
{"country": "IT","location": "roma-roma","channel": "BUY","propertyType": "homes","maxItems": 5,"maxPages": 1,"scrapeDetails": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "IT"}}
Example input (Portugal — Lisboa to rent)
{"country": "PT","location": "lisboa","channel": "RENT","propertyType": "homes","maxItems": 5,"maxPages": 1,"scrapeDetails": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "PT"}}
Idealista markets and URL patterns
| Country | Host | BUY path | RENT path | Detail path | Default location |
|---|---|---|---|---|---|
| ES | idealista.com | /venta-* | /alquiler-* | /inmueble/{id}/, /obra-nueva/{id}/ | madrid-madrid |
| IT | idealista.it | /vendita-* | /affitto-* | /immobile/{id}/ | roma-roma |
| PT | idealista.pt | /comprar-* | /arrendar-* | /imovel/{id}/ | lisboa |
Business-transfer searches omit the buy/rent prefix: /traspasos/, /cessione-attivita/, /trespasse/.
Run one Idealista country per Actor run. Mixing .com / .it / .pt URLs in the same input is rejected.
Property types (propertyType)
Logical aliases work in every market: homes, new_homes, rooms, garages, storage, offices, commercial, land, buildings, holiday, business_transfer.
| Market | Local path segments |
|---|---|
| ES | obranueva, viviendas, habitacion, garajes, trasteros, oficinas, locales, terrenos, edificios, vacacional, traspasos |
| IT | nuove_costruzioni, case, stanze, garage, cantine, uffici, negozi, terreni, edifici, case_vacanze, cessione-attivita |
| PT | empreendimentos, casas, quarto, garagens, arrecadacoes, escritorios, lojas_ou_armazens, terrenos, predios, trespasse |
Notes:
- Room types (
habitacion/stanze/quarto) are rent-only;channel=BUYis coerced toRENT. - Portugal “Para férias” on the homepage redirects to Rentalia (external); use ES
vacacional/ ITcase_vacanzefor on-site holiday inventory. - You can always paste a category search URL in
startUrlsinstead of settingpropertyType.
Example input (Spain — storage / trasteros)
{"country": "ES","location": "madrid-madrid","channel": "BUY","propertyType": "storage","maxItems": 5,"maxPages": 1,"scrapeDetails": false}
Example input (Italy — commercial / negozi)
{"country": "IT","location": "roma-roma","channel": "RENT","propertyType": "commercial","maxItems": 5,"maxPages": 1,"scrapeDetails": false}
Input
| Field | Description |
|---|---|
country | ES, IT, or PT. Inferred from startUrls host when present. |
startUrls | Idealista search or detail URLs. Overrides built search URLs when set. |
location | Idealista location path such as madrid-madrid, roma-roma, lisboa. |
channel | BUY or RENT (mapped to local Idealista path prefixes). |
propertyType | Local path segment or logical alias (see table above). |
maxItems | Maximum Idealista listings to save. |
maxPages | Maximum search pages to crawl. |
scrapeDetails | Open each Idealista detail page for enrichment. |
requestDelayMillis | Delay between browser navigations (helps with DataDome). |
proxyConfiguration | Prefer Apify RESIDENTIAL with matching country. |
Output example
{"id": "111396097","url": "https://www.idealista.com/inmueble/111396097/","source": "idealista","country": "ES","sourceLayer": "srp+ldp","channel": "BUY","propertyType": "viviendas","title": "Piso en venta en Calle de Castelló","priceAmount": 1490000,"rooms": 2,"livingSpace": 106,"agencyName": "Única Consultoría Inmobiliaria","images": ["https://img4.idealista.com/..."],"scrapedAt": "2026-07-18T05:44:53+00:00"}
Pricing
This Actor uses Pay per event pricing:
| Event | Price |
|---|---|
Actor start (apify-actor-start) | $0.005 per start |
Result (apify-default-dataset-item) | $2.50 / 1,000 results ($0.0025 each) |
Platform usage costs are paid by the user (compute, residential proxy transfer, storage). Idealista is protected by DataDome, so residential proxy usage is expected on cloud runs.
Idealista scraping tips for better results
- Start with
maxItems=3–10andmaxPages=1to validate location and proxy. - Match proxy country to the Idealista market (
ES/IT/PT). - Keep a non-zero
requestDelayMillis(for example3000–4000) for DataDome stability. - Prefer search URLs from the live Idealista site when a location path is unclear.
- Use
scrapeDetails=trueonly when you need agency / media enrichment (higher runtime and proxy use). - Do not mix Spain, Italy, and Portugal URLs in one run.
Live View / standby endpoints
When the Actor runs in standby / Live View mode, these operational endpoints are available:
| Method | Path | Purpose |
|---|---|---|
GET | / | Service info |
GET | /health | Health check |
GET | /input-example | Low-cost input example |
GET | /openapi.json | Deployed OpenAPI document |
Scraping still runs through a normal Actor run (not these standby endpoints).
Is it legal to scrape Idealista?
Scraping publicly available Idealista listing data for research, market analysis, or internal business intelligence is commonly done, but you must follow Idealista’s terms, local law, and privacy rules. Do not scrape personal data you are not allowed to process, and respect robots / rate limits. This Actor is provided as a technical tool; you are responsible for lawful use.
FAQ
Can I scrape Idealista Spain, Italy, and Portugal with one Actor?
Yes. Set country to ES, IT, or PT, or paste URLs from idealista.com, idealista.it, or idealista.pt. Run one country per job.
Is this an Idealista API?
No. Idealista does not offer a public listing API for this use case. This Actor is an Idealista API alternative that extracts data from Idealista search and detail pages.
Why do I need a residential proxy?
Idealista uses DataDome. Direct / datacenter HTTP often returns 403. Apify RESIDENTIAL proxy in the target country is required for reliable cloud runs.
What is the difference between scrapeDetails=false and true?
false is faster and cheaper: Idealista search cards only. true opens each detail page for agency names, fuller descriptions, and media metadata.
Can I export Idealista data to Excel or CSV?
Yes. After the run finishes, download the Dataset as Excel, CSV, JSON, or JSONL from the Apify Console, or pull it via the Apify API.
How do I scrape Idealista rentals only?
Set channel to RENT (maps to /alquiler-*, /affitto-*, or /arrendar-* depending on country).
Support
If a run fails or returns empty results, check the run log for DataDome / proxy messages and open an Apify issue on this Actor with the run ID, country, location or startUrls, and whether scrapeDetails was enabled.