Idealista Scrape- LowCost | HiQuality (ES/PT/IT) avatar

Idealista Scrape- LowCost | HiQuality (ES/PT/IT)

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Idealista Scrape- LowCost | HiQuality (ES/PT/IT)

Idealista Scrape- LowCost | HiQuality (ES/PT/IT)

▎ Reliable Idealista data, at a fair price. ▎ We built the most efficient scraper for Idealista because we believe quality data shouldn't cost a fortune. No captchas, no browser overhead — just ▎ clean, structured data that works. ▎ Questions or ideas? → info@inmocalc.com

Pricing

from $0.40 / 1,000 results

Rating

0.0

(0)

Developer

SMY

SMY

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

Share

Idealista Scraper

Extract property listings from Idealista — no browser, no captchas, clean JSON in seconds.

👋 Hola equipo — este scraper es para vosotros, usadlo con cariño. 👋 Ciao team — questo scraper è per voi, usatelo con cura. 👋 Olá equipa — este scraper é para vocês, usem-no com carinho.

Questions or issues? Reach us at info@inmocalc.com


What it does

Three modes in one actor:

ModeWhen to use it
SearchGet all listings in an area (up to 1,800 per run)
Fetch by Property IDGet full details for specific listings you already know
Find Location IDLook up the area code you need before searching

Each mode is a separate section in the input form. Fill in one, leave the others empty.


Why this one?

Most Idealista scrapers are slow, fragile, or expensive. We've built the most efficient scraping technology available for Idealista, and we're making it accessible because we want to help our users and friends get their work done — without paying a premium for it.

No captchas, no browser overhead, just clean data at a price that makes sense.


Get all listings in an area matching your filters.

How to use it

Step 1 — Fill in the required fields

FieldWhat to enter
Country🇪🇸 Spain, 🇵🇹 Portugal or 🇮🇹 Italy
OperationSale (buy/sell) or Rent
Property TypeType of property — Homes for flats and houses
Location IDThe code for the area you want to scrape — see below

Step 2 — Hit Start

The scraper runs page by page and saves results to the dataset as it goes. You can see data coming in before it finishes.

Step 3 — Download your results

When done, go to Storage → Dataset and export as CSV, JSON or Excel.

How to find a Location ID

Option A — use the built-in lookup (easiest) Fill in the Search term field in the "📍 Find Location ID" section (see Mode 3 below), run the actor, and copy the locationId you need.

Option B — from the Idealista URL Search your area on the relevant site (idealista.com for Spain, idealista.pt for Portugal, idealista.it for Italy). Once you're on the results page, look at the URL — the Location ID follows the 0-EU-XX-... pattern.

Option C — use a known ID

🇪🇸 Spain

AreaLocation ID
Madrid city0-EU-ES-28-07-001-079
Madrid province0-EU-ES-28
Barcelona city0-EU-ES-08-13-001-019
Soria province0-EU-ES-42

🇵🇹 Portugal

AreaLocation ID
Lisboa (Distrito)0-EU-PT-11
Lisboa (Concelho)0-EU-PT-11-06
Cascais (Concelho)0-EU-PT-11-05

🇮🇹 Italy — use Option A (built-in lookup) to find your area code. The pattern is 0-EU-IT-XX-....

Output fields

Each listing includes:

FieldDescription
idIdealista listing ID
urlDirect link to the listing
addressFull address
municipality / districtCity and neighbourhood
latitude / longitudeCoordinates for mapping
pricePrice in €
price_by_area€/m²
sizeBuilt area in m²
rooms / bathroomsBedrooms and bathrooms
floorFloor number
exteriorWhether it faces the street
has_liftLift in the building
statusProperty condition
descriptionFull listing description
num_photosNumber of photos
location_idExact sub-area code (neighbourhood level)
photosList of photo URLs (requires Fetch full details)
contact_phoneAgent or owner phone number (requires Fetch full details)
contact_nameAgent or owner name (requires Fetch full details)
contact_user_typeAccount type: professional, private, etc. (requires Fetch full details)
energy_certificationEnergy performance rating (requires Fetch full details)
allows_remote_visitWhether a remote visit is available (requires Fetch full details)
allows_counter_offersWhether counter-offers are accepted (requires Fetch full details)

Full details (photos, contact, energy)

The Fetch full details toggle (enabled by default) makes the scraper retrieve the complete property record for each listing — adding photos, agent contact info, energy certification and remote visit availability.

Trade-off: each listing requires one extra request, so a full 60-page run takes roughly twice as long and uses more proxy bandwidth. Disable it if you only need basic listing data and want faster runs.

⚠️ Photo URLs are signed and expire after approximately 24 hours — download images promptly if you need them.

Limits

  • Max 1,800 listings per run — Idealista caps results at 60 pages × 30 listings. For large cities like Madrid or Barcelona, run separate searches per district.
  • All filters are optional — price, size, rooms and the amenity toggles can all be left blank.

Mode 2 — Fetch by Property ID

Get full details for specific listings — active or closed.

When to use this:

  • You have a list of IDs from a previous run and want the full detail (contact info, photos, full description).
  • You want to monitor specific properties over time.
  • A listing disappeared from search and you want to know why and at what price.

How to use it: fill in the Property IDs field (one ID per line). The Search section is ignored.

Output for active listings

FieldDescription
property_idThe ID you requested
statusactive
_detailsFull detail response — contact info, photos, all characteristics

Output for closed listings

FieldDescription
property_idThe ID you requested
statusclosed
deactivation_reasonWhy it was removed: user (likely sold/rented), quality, fraud, pending
last_deactivation_dateTimestamp (ms) when it was taken down
price_at_closeLast known price — a proxy for the transaction price
rooms / sizeBasic info retained after closure

Run stats

When Include Run Stats is enabled (default), a summary record is added at the end of the dataset:

{
"_type": "run_stats",
"_stats": {
"total": 10,
"active": 7,
"closed": 2,
"errors": 1,
"duration_s": 42.3
}
}

Mode 3 — Find Location ID

Not sure what Location ID to use for your search? Run this mode first.

How to use it: fill in the Search term field under "📍 Find Location ID". Country, Property Type and Operation must be set too (the defaults work fine). Leave everything else empty.

Tip: be specific — "mad" returns Madrid but also Madrigal, Madrigueras and others. "madrid" returns only areas called Madrid.

Output

FieldDescription
locationIdThe code to copy into the Search section
nameHuman-readable area name (e.g. Madrid)
subTypeTextArea type (e.g. Municipio, Provincia, Barrio)
totalActive listings in that area for your selected property type and operation

Tips

  • Each run creates a new dataset — results from each execution are saved separately in Apify Storage, so you can always compare previous runs.
  • Don't change Items Per Page — the default (30) is the most efficient setting.
  • Mode priority: if you fill in multiple sections, the actor uses only one — Find Location ID takes priority, then Fetch by Property ID, then Search.