Idealista Scraper - Spain Italy Portugal Property avatar

Idealista Scraper - Spain Italy Portugal Property

Pricing

from $2.20 / 1,000 results

Go to Apify Store
Idealista Scraper - Spain Italy Portugal Property

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.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

2

Monthly active users

16 hours ago

Last modified

Share


Need a dedicated scraper for one website?

This Actor is the general tool for protected public pages. If you already have one specific site and a field list, a dedicated scraper is faster and more stable: listing + detail, your export format, delivered to your Apify account or as a standalone runnable client.

I confirm the tier before you pay. The clock starts after that confirmation.

Start here: Submit a custom scraper request

Starter $50Dedicated $100Hard target $200–999
Site1 simple anti-bot public site1 medium anti-bot public siteCloudflare / aggressive anti-bot / custom parser
ScopeFull listing + detail fieldsListing + detail + pagination, your field listAgreed fields, repeatable runs
DeliveryCSV/JSON · Apify Actor or standalone runnable client (script/CLI)Same, plus a sample run and short instructionsFeasibility first, then build
Time24 hours after we confirm the URL is in scope48 hours after confirmationQuoted after feasibility
Fixes30 days for small public-layout changes30 daysScoped in the quote

Hard-target sites are not a 100% uptime promise. You get a dedicated parser that can be re-run on the agreed fields. If the URL is not feasible, you get a refund or pay an assessment fee only — you will know before the build starts.

Not in Starter/Dedicated: login-walled data, native APK / Windows installer / full web apps, or two-year maintenance. Those are a separate quote.


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:

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).

This Actor is a thin façade: it validates input, mints an Apify RESIDENTIAL proxy matched to the target Idealista market, and delegates the actual DataDome-aware browser acquisition and parsing to a dedicated Cloud Run worker (idealista-com). The Actor itself never launches a browser.

What can this Idealista Scraper do?

  • Scrape Spain (country=ES) on idealista.com
  • Scrape Italy (country=IT) on idealista.it
  • Scrape Portugal (country=PT) on idealista.pt
  • Scrape for-sale (channel=BUY) and to-rent (channel=RENT)
  • Scrape all Idealista top-nav property types via propertyType or category startUrls
  • 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 maxItems and maxPages
  • 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 fieldExample
CountryES, IT, PT
Property typeLocal Idealista path (viviendas, negozi, lojas_ou_armazens, …)
Listing ID / URLIdealista id + detail URL (/inmueble/, /immobile/, /imovel/, /obra-nueva/)
Title / addressCard or detail title
Price350.000 €, 1.500 €/mes
Rooms / living space3 / 85 m² (often null for garages, storage, land)
Floor / featuresFloor, elevator, orientation when shown
DescriptionSRP summary or detail description
Agency / advertiserDetail config or DOM
Images / plans / videosGallery URLs and counts
ChannelBUY or RENT
Source layersrp, srp+ldp

Lead & contact fields

When scrapeDetails is enabled (default ON), each detail item carries the full lead-key set defined by the lead-output schema. SRP-only items (scrapeDetails=false) emit empty lead keys with leadAbsences noting 未验证.

FieldTypeMeaning
phones[{value, type}]Phone numbers from the detail-page click-show reveal. The "Vedi il telefono" / "Ver telefone" / "Ver teléfono" button triggers an XHR to /{locale}/ajax/ads/{adId}/contact-phones and injects a tel: link. Empty on SRP-only items (leadAbsences.phones = 未验证).
emails[{value, type}]Contact emails. Always empty on Idealista — all email contact is gate-locked behind a chat/lead form. See leadAbsences.emails.
address{street, unit, locality, region, postalCode, country, full}Property address. unit is the door number (门牌). Detail pages expose street + door number from .header-map-list; SRP cards show street only. Some listings privacy-hide the exact address.
geo{lat, lng}Coordinates from the inline script / mapConfig on detail pages. Null on SRP-only items.
person{name, role}Individual agent/seller name. Always null on Idealista — only agency/professional labels are shown, no personal name. See leadAbsences.person.
org{name, id}Agency/professional name (.about-advertiser-name) and slug. Present on detail items; null on SRP-only items.
web{website, socials[]}Agency website and social links. Always {website: null, socials: []} on Idealista — agency profile pages do not expose the agency's own website or socials. See leadAbsences.web.
leadSourceenumWhere the lead was captured: search (SRP card), detail (detail page), or reveal-xhr (phone via XHR-after-click).
leadRevealenumHow the lead was revealed: visible (directly visible), click (click-show button), xhr (XHR-after-click), gated (login/form wall), absent (not available on this surface).
leadAbsencesobjectMaps missing lead sub-fields to reasons: 本站无 (site doesn't expose it), 闸门锁 (gate-locked behind login/form), 未验证 (not verified this run).

Reveal cost

  • Phone reveal: requires loading the detail page, then clicking the "Vedi il telefono" / "Ver telefone" / "Ver teléfono" button, which fires one XHR GET to /{locale}/ajax/ads/{adId}/contact-phones and injects a tel: link. This adds one extra navigation plus one lightweight XHR per detail item.
  • Detail enrichment: when scrapeDetails=true (default ON), each listing opens its detail page, adding browser navigation time and residential-proxy bandwidth per item. Disable scrapeDetails for faster, cheaper SRP-card-only runs (but lead keys will be empty with 未验证 absences).
  • Proxy: Idealista uses DataDome; residential proxy in the target country (ES/IT/PT) is required for reliable cloud runs, adding transfer cost.

Honest limitations

The following leads are not available on Idealista and will always be empty or null with a documented leadAbsences reason:

LeadReasonleadAbsences value
EmailsGate-locked behind a chat/lead form ("Contatta via chat" / "Contactar por chat"). No mailto: or plain-text email on any surface.闸门锁
Person nameIdealista shows only agency/professional names, not individual agent names.本站无
Agency website / socialsAgency profile pages do not expose the agency's own website or social media links.本站无
Address door number (some)Some listings privacy-hide the exact door number ("Por privacidad" / "Per privacy").未验证
Geo (SRP-only)Coordinates are only on detail pages (inline script).未验证
Phones (SRP-only)Phone numbers are only via click-show on detail pages.未验证

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

More Actors like this

Looking for another property portal, or a scraper outside real estate? Use a specialized Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for Idealista sale / rent listings across Spain, Italy, and Portugal.

Similar real estate Actors

Prefer another specialized scraper?

Jobs & Freelance

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.


How to scrape Idealista property data

  1. Open this Actor and click Try for free (or Start).
  2. Set country to ES, IT, or PT (or paste Idealista startUrls — the host infers the market).
  3. Set location (for example madrid-madrid, roma-roma, lisboa) or provide search URLs.
  4. Choose channel: BUY for sale or RENT for to-rent.
  5. Set maxItems and maxPages for a small test first.
  6. Enable scrapeDetails when you need agency names, full descriptions, and media from detail pages.
  7. Prefer Apify RESIDENTIAL proxy with country matching the market (ES / IT / PT).
  8. 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

CountryHostBUY pathRENT pathDetail pathDefault location
ESidealista.com/venta-*/alquiler-*/inmueble/{id}/, /obra-nueva/{id}/madrid-madrid
ITidealista.it/vendita-*/affitto-*/immobile/{id}/roma-roma
PTidealista.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.

MarketLocal path segments
ESobranueva, viviendas, habitacion, garajes, trasteros, oficinas, locales, terrenos, edificios, vacacional, traspasos
ITnuove_costruzioni, case, stanze, garage, cantine, uffici, negozi, terreni, edifici, case_vacanze, cessione-attivita
PTempreendimentos, casas, quarto, garagens, arrecadacoes, escritorios, lojas_ou_armazens, terrenos, predios, trespasse

Notes:

  • Room types (habitacion / stanze / quarto) are rent-only; channel=BUY is coerced to RENT.
  • Portugal “Para férias” on the homepage redirects to Rentalia (external); use ES vacacional / IT case_vacanze for on-site holiday inventory.
  • You can always paste a category search URL in startUrls instead of setting propertyType.

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

FieldDescription
countryES, IT, or PT. Inferred from startUrls host when present.
startUrlsIdealista search or detail URLs. Overrides built search URLs when set.
locationIdealista location path such as madrid-madrid, roma-roma, lisboa.
channelBUY or RENT (mapped to local Idealista path prefixes).
propertyTypeLocal path segment or logical alias (see table above).
maxItemsMaximum Idealista listings to save.
maxPagesMaximum search pages to crawl.
scrapeDetailsOpen each Idealista detail page for enrichment.
requestDelayMillisDelay between browser navigations (helps with DataDome).
proxyConfigurationPrefer 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"
}

Output example (detail item with lead keys)

When scrapeDetails=true, each item includes the full lead-key set:

{
"id": "111396097",
"url": "https://www.idealista.com/inmueble/111396097/",
"source": "idealista",
"country": "ES",
"sourceLayer": "srp+ldp",
"channel": "BUY",
"title": "Piso en venta en Calle de Castelló",
"priceAmount": 1490000,
"agencyName": "Única Consultoría Inmobiliaria",
"phones": [{"value": "+34 914 11 22 33", "type": "agency"}],
"emails": [],
"address": {
"street": "Calle de Castelló",
"unit": "3",
"locality": "Madrid",
"region": "Madrid",
"postalCode": "28001",
"country": "ES",
"full": "Calle de Castelló, 3, Madrid, Madrid"
},
"geo": {"lat": 40.4256, "lng": -3.6907},
"person": null,
"org": {"name": "Única Consultoría Inmobiliaria", "id": "unica-consultoria-inmobiliaria"},
"web": {"website": null, "socials": []},
"leadSource": "reveal-xhr",
"leadReveal": "click",
"leadAbsences": {
"emails": "闸门锁",
"person": "本站无",
"web": "本站无"
},
"scrapedAt": "2026-08-19T13:30:37+00:00"
}

Pricing

This Actor uses Pay per event pricing:

EventPrice
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. Actor compute is now light since acquisition happens on the Cloud Run worker; most of the run cost is proxy bandwidth plus dataset results.

Free Apify plan limits (set by this Actor's developer)

LimitFree Apify planPaid Apify plan
Runs of this Actor10 runs totalUnlimited
Results per runUp to 1,000 (schema max 300)Up to schema max (300)

When the run cap is hit, the run finishes with a clear status message — not an Apify platform error. These limits are set by the Actor developer, not Apify.

Worker host migrations: update Actor env WORKER_BASE_URL (and WORKER_AUTH if the API key changed) — no Actor code change required.

Idealista scraping tips for better results

  • Start with maxItems=3–10 and maxPages=1 to validate location and proxy.
  • Match proxy country to the Idealista market (ES / IT / PT).
  • Keep a non-zero requestDelayMillis (for example 3000–4000) for DataDome stability.
  • Prefer search URLs from the live Idealista site when a location path is unclear.
  • Use scrapeDetails=true only 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:

MethodPathPurpose
GET/Service info
GET/healthHealth check
GET/input-exampleLow-cost input example
GET/openapi.jsonDeployed OpenAPI document

Scraping still runs through a normal Actor run (not these standby endpoints).

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).

Why did my free-plan run stop after 10 runs?

This Actor allows 10 runs and up to 1,000 listings per run for free Apify plan users (schema hard-cap is 300). That policy is set by the Actor developer (not Apify). Upgrade to a paid Apify plan for unlimited runs. The run ends with status message FREE_TIER_LIMIT — it is not a platform crash.

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.


All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ Browse the full profile: apify.com/lentic_clockss