Idealista Scraper - Property Data, Phones & Emails avatar

Idealista Scraper - Property Data, Phones & Emails

Pricing

from $0.52 / 1,000 property results

Go to Apify Store
Idealista Scraper - Property Data, Phones & Emails

Idealista Scraper - Property Data, Phones & Emails

Extract Idealista listings across Spain, Italy and Portugal: prices, advertiser phones, public agency emails, photos, coordinates and property details. Compare price per mยฒ, identify published price reductions and export property and agency datasets with source links.

Pricing

from $0.52 / 1,000 property results

Rating

0.0

(0)

Developer

Kelopr_bk

Kelopr_bk

Maintained by Community

Actor stats

0

Bookmarked

35

Total users

8

Monthly active users

16 hours ago

Last modified

Share

๐Ÿ  Idealista Scraper โ€” Properties, Phones & Agency Leads

Turn Idealista searches and property URLs into clean, structured real-estate data from Spain ๐Ÿ‡ช๐Ÿ‡ธ, Italy ๐Ÿ‡ฎ๐Ÿ‡น and Portugal ๐Ÿ‡ต๐Ÿ‡น. Collect advertiser phones, available property details and source-linked public agency contacts in a single workflow.

โœจ Pick the package you actually need

Result packageBest forWhat it collects
โšก FastMarket scans, price analysis, calling listsSearch-card data, prices, location, photos, advertiser and resilient phone enrichment
๐Ÿ  Full detailsProperty databases and valuationEverything in Fast plus full description, features, coordinates, energy data, floor plans and all photos
๐Ÿ“ง LeadsAgency prospecting and CRM enrichmentEverything in Full details plus one public contact lookup per unique professional agency

The Leads package never guesses email addresses. It only returns an email that is explicitly published on the agency's Idealista profile or verified public website, together with emailSourceUrl.

๐Ÿš€ Start your first run

  1. Open the Actor's Input tab.
  2. In What do you want to collect?, choose Fast, Full details or Agency leads.
  3. Paste an Idealista search URL or individual listing URL.
  4. Set Max items so the run cannot collect more properties than you need.
  5. Press Start.

That is enough for most runs. The default settings include phone enrichment and duplicate removal.

Example: 50 fast Madrid listings

{
"workflow": "FAST",
"searchUrls": [
{ "url": "https://www.idealista.com/en/venta-viviendas/madrid-madrid/" }
],
"maxItems": 50
}

Example: full details from listing URLs

{
"workflow": "FULL_DETAILS",
"detailUrls": [
{ "url": "https://www.idealista.com/en/inmueble/100000001/" },
{ "url": "https://www.idealista.pt/en/imovel/30000001/" }
],
"maxItems": 20
}

The IDs above are examples. Replace them with current Idealista listing URLs.

Example: agency lead enrichment

{
"workflow": "LEADS",
"searchUrls": [
{ "url": "https://www.idealista.it/en/vendita-case/milano-milano/" }
],
"maxItems": 25,
"maxAgencySitePages": 2
}

๐ŸŽฏ Inputs without a pasted URL

The Actor can build a search URL for you. Select:

  • country: ES, IT or PT;
  • operation: SALE, RENT or NEW_DEVELOPMENT;
  • locationSlug: the location part from an Idealista URL, such as madrid-madrid;
  • optional minPrice and maxPrice.

You can also supply raw listingIds, mixed startUrls, or a datasetId containing property URLs/IDs from an earlier run. URL routing is always automatic: search pages are paginated and individual listings are opened as details. A direct listing URL necessarily returns its available full property record, even when the default Fast workflow is selected.

๐Ÿ—บ๏ธ Search coverage

Idealista limits the number of accessible result pages for broad searches. Enable Split by price range when you need more than the visible cap.

The Actor first opens the original search once. It creates price segments only if that search actually exceeds maxPagesPerSearch, stops planning as soon as maxItems is reached, and deduplicates every property by country and ID. Small or empty searches are never expanded into dozens of unnecessary requests.

Coverage information is saved in the run's OUTPUT record instead of the property dataset, so it remains visible without being counted as a property result. Check:

  • reportedTotal โ€” listings reported by Idealista;
  • rangeCount โ€” finalized price segments;
  • itemsPushed โ€” property rows saved;
  • truncated โ€” whether a page, item or spending limit prevented complete coverage.

๐Ÿ“ž Phone reliability

Available advertiser numbers are included in every workflow. Each result identifies the phone source and whether a number was returned.

Useful fields:

  • phone, phoneFormatted, phoneLocal, phonePrefix;
  • secondaryPhone;
  • phoneSource;
  • phoneEnrichmentStatus;
  • phoneRequiresLogin when Idealista itself does not reveal the number.

No scraper can manufacture a number that the advertiser does not publish. Empty values are accompanied by a status instead of fabricated data.

๐Ÿ“Š Results you can use immediately

Open Properties for a compact overview with a photo, price, size, rooms, location and contact. Switch its table view to Prices, Contacts, Location, Research, Details or Source fields for focused analysis. Agencies contains one row per discovered agency in Leads runs. Run summary explains the saved counts and coverage.

Research fieldWhat it tells you
pricePerSqmCalculatedListing price divided by the published area
pricePerSqmDifferenceDifference from the sourceโ€™s own price-per-area value
pricePerBedroomListing price divided by the published bedroom count
usableAreaRatioUsable area as a share of the published total area
priceReductionPercentReduction where the source publishes both prices
daysSinceUpdateDays since the sourceโ€™s last update, not listing age
contactChannelsAvailable phone, email, website and chat channels
contactSourcesContact values with their source references

These calculations use the collected facts; they are not appraisals or price predictions. Missing inputs never become invented zeroes.

๐Ÿ“ฆ Main output fields

Every dataset row represents one real property. Error diagnostics and coverage reports are kept separately in OUTPUT.

Identity and pricing

propertyId, url, title, subtitle, operation, typology, price, priceValue, currency, priceByAreaValue, previousPriceValue, priceDropAmount, priceDropPercent

Property details

sizeM2, usableAreaM2, plotAreaM2, terraceAreaM2, bedrooms, bathrooms, floorNumber, condition, occupancyStatus, yearBuilt, communityFeesValue, hasLift, hasTerrace, hasBalcony, hasAirConditioning, heatingType

Location and energy

address, neighborhood, district, city, province, country, latitude, longitude, energyConsumptionValue, energyEmissionsValue

Media

thumbnail, photos, photoCount, floorPlanUrls, hasVideo, videoUrl, has3DTour, virtualTourUrl

If a full page cannot be collected, a recovered record is identified by detailFetched: false and a source status. Fields that could not be confirmed remain empty. A full-details add-on is charged only after the property page was collected successfully.

Advertiser and agency leads

advertiserName, advertiserType, advertiserUrl, advertiserLogo, contactName, licenseCode, phone, secondaryPhone, email, emails, emailStatus, emailSourceUrl, agencyWebsite, agencyAddress, agencyPhones, agencySocialUrls, agencyClientSince, agencyListingCount, agencyPublicationQuality

Trimmed example

{
"_recordType": "property",
"propertyId": "100000001",
"title": "Example apartment for sale",
"priceValue": 450000,
"currency": "EUR",
"sizeM2": 90,
"bedrooms": 2,
"city": "Example City",
"advertiserName": "Example Property Agency",
"phone": "+34 600 000 000",
"phoneEnrichmentStatus": "available",
"email": "hello@example-agency.test",
"emailStatus": "found_on_public_agency_website",
"emailSourceUrl": "https://example-agency.test/contact",
"url": "https://www.idealista.com/en/inmueble/100000001/"
}

All people, companies, contacts and IDs in this example are fictional.

โœ… Safe behavior

  • Invalid input finishes cleanly with status: INVALID_INPUT and a precise explanation in OUTPUT.
  • A bad URL does not erase valid results from the same run.
  • maxItems caps both Search and Detail collection; maxDetailUrls can apply a stricter Detail-only cap.
  • User spending limits are checked after every saved property and configured value event.
  • Memory is constrained to 256โ€“1024 MB, with 512 MB as the default.
  • Collection stops when the selected spending allowance is reached or the source stops producing new results.

๐Ÿ”„ Choose your export format

The default outputFormat: "extended" keeps the existing user-friendly fields, including formatted price, numerical priceValue and a readable features list.

Choose outputFormat: "idealista" for integrations expecting a numerical price, propertyCode, size, rooms, lowercase country codes and the source-native features object when supplied. displayPrice and displayFeatures retain the readable versions. Source details are also available as _details when collected. Missing source fields remain missing.

Download JSON for nested source objects, or select one of the focused views before exporting CSV or Excel.

โš™๏ธ API compatibility

New integrations only need the workflow field:

  • FAST
  • FULL_DETAILS
  • LEADS

Older saved tasks using mode, dataLevel, includeDetails and includeAgencyContacts remain supported.

Detailed property and unique-agency contact work are implemented as separate chargeable add-on events, allowing richer packages to have transparent prices without making Fast searches expensive.


Export your results as JSON, CSV, Excel or through the Apify API.