Idealista Scraper avatar

Idealista Scraper

Pricing

from $2.20 / 1,000 listings

Go to Apify Store
Idealista Scraper

Idealista Scraper

Extracts property listings, photos, features, locations, and optional contact phones from Idealista for sale and rental searches.

Pricing

from $2.20 / 1,000 listings

Rating

0.0

(0)

Developer

Scraptivo

Scraptivo

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Share

Idealista Scraper collects property listings from Idealista and turns them into structured data for lead generation, market research, and investment analysis. Provide a location such as "Madrid" or a search URL, choose buy or rent, run the Actor, and export price, size, bedrooms, location, photos, agency, and more to JSON, CSV, Excel, or your preferred integration. Optionally enrich listings with full details and advertiser phone numbers. From just $2.50 per 1,000 items.

What can you automate with Idealista Scraper?

  • Build property lead lists — export listings with price, size, and contact details.
  • Monitor market prices — track sale and rental price changes per area over time.
  • Analyze supply — segment listings by property type, bedrooms, and floor.
  • Enrich a CRM — push structured listings into your existing pipeline.
  • Schedule recurring collection — refresh a market daily or weekly.

Who is this scraper for?

TeamWorkflow
Real-estate agenciesTrack competitor listings and market supply.
InvestorsAnalyze price-per-square-meter and yield by area.
Lead-generation teamsCollect property details and advertiser contacts.
Market researchersStudy the Spanish property market by region.

What data can you collect from Idealista?

Data groupExample fieldsHow it helps
Listing identitypropertyId, url, title, publicationDateIdentify and link each listing.
Pricingprice, pricePerSqm, operationCompare sale vs rental pricing.
Property detailsbedrooms, bathrooms, sqm, floor, propertyTypeFilter by unit attributes.
Locationaddress, latitude, longitudeMap listings and segment by area.
Media & descriptionthumbnail, images, description, amenitiesEnrich records with visuals and text.
Contactsagency, agencyUrl, phoneNumbersOptional advertiser and phone data.

How to use Idealista Scraper

  1. Open the Actor and go to the Input tab.
  2. Enter a location in Search Queries or paste a Start URL.
  3. Choose Operation (buy or rent) and a Property Type.
  4. Set a Max Items limit and optional detail toggles.
  5. Run the Actor, then export the dataset as JSON, CSV, or Excel.
{
"searchQueries": ["Madrid"],
"operation": "buy",
"propertyType": "homes",
"maxItems": 25,
"scrapeListingDetails": true,
"locale": "es"
}

Example workflow

Weekly snapshot of Madrid rental supply

  1. Run a "Madrid" rental search every Monday.
  2. Keep only listings above your target sqm and within your price band.
  3. Send new records to a spreadsheet or CRM.
  4. Deduplicate using the stable propertyId or url.

Automate and integrate your results

Schedule the Actor from the Apify Console or via API to run daily or weekly. After a successful run, trigger a webhook to push results to Google Sheets, Make, Zapier, Slack, or a database. Use the stable propertyId or url as your deduplication key.

Input reference

FieldTypeRequiredDefaultWhat it controls
startUrlsarrayNoDirect Idealista search or listing URLs (override location filters).
searchQueriesarrayNo["Madrid"]Location text such as "Madrid" or "barcelona eixample".
operationstringNobuy or rent.
propertyTypestringNoCategory: homes, rooms, offices, land, etc.
maxItemsintegerNo10Max listings to return (0 = unlimited).
maxPagesintegerNoMax search pages per URL (0 = unlimited).
scrapeListingDetailsbooleanNofalseFetch the full detail page per listing.
includeContactPhonesbooleanNofalseFetch advertiser phone numbers.
requestDelayMsintegerNoDelay between listing fetches.
localestringNoSite language (es, en, it, pt).

Output example

{
"propertyId": 98412345,
"url": "https://www.idealista.com/inmueble/98412345/",
"title": "Piso en venta en Madrid Centro",
"price": 385000,
"pricePerSqm": 4250,
"bedrooms": 3,
"bathrooms": 2,
"sqm": 91,
"floor": "4",
"propertyType": "homes",
"operation": "buy",
"address": "Madrid Centro, Madrid",
"latitude": 40.4168,
"longitude": -3.7038,
"amenities": ["ascensor", "terraza", "garaje"],
"agency": "Example Inmobiliaria",
"phoneNumbers": [],
"publicationDate": "2026-08-10"
}

How much does it cost to scrape Idealista?

Billing is pay-per-event. You are charged $2.50 per 1,000 items for search-result listings (dataset-item). Enabling listing details or contact phones adds $2.50 per 1,000 for each of listing-details and contact-details respectively. A one-time Actor Start fee of $0.00005 applies per run. Apify plan discounts reduce these prices further.

Reliability and responsible use

Residential proxies with Spanish exits are required and configured by default. Search results include price, size, bedrooms, and location; phoneNumbers is populated only when contact phones are enabled and the advertiser publishes a number. Rooms and holiday stays are rent-only, while new homes and transfers are buy-only. Use the Actor only for lawful purposes and respect Idealista's terms of service.

Frequently asked questions

Can I scrape both sales and rentals?

Yes. Set operation to buy or rent. Some property types are restricted to one operation — for example, rooms and holiday stays are rent-only.

Can I schedule Idealista Scraper to run automatically?

Yes. Use the Apify Scheduler to run daily or weekly and keep market data current.

What counts as one result?

One result is one listing added to the dataset (dataset-item). Full detail pages and phone-number lookups are separate events billed only when enabled.

Why are some fields empty?

phoneNumbers appears only when includeContactPhones is enabled and the advertiser published a number. Detail-only fields require scrapeListingDetails.

How do I avoid duplicate records?

Deduplicate on the stable propertyId or listing url.

Do I need a proxy?

Yes — residential proxies with Spanish exits are required and enabled by default.

Support and custom workflows

Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, a sample location and operation, required fields, and expected volume so we can assess the request.