Idealista Scraper - Listings, Details & Market Data avatar

Idealista Scraper - Listings, Details & Market Data

Pricing

from $4.00 / 1,000 listing results

Go to Apify Store
Idealista Scraper - Listings, Details & Market Data

Idealista Scraper - Listings, Details & Market Data

Scrape Idealista (Spain): search property listings, get full details with owner-vs-agency and contact phone, plus the official price-per-m2 market reports and full price history no other scraper provides. Export to JSON, CSV, or Excel.

Pricing

from $4.00 / 1,000 listing results

Rating

0.0

(0)

Developer

Sourabh Kumar

Sourabh Kumar

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

1

Monthly active users

9 days ago

Last modified

Share

Idealista scraper: listings, property details & price-report market data

Scrape Idealista in one actor. Paste a search or a property URL and get clean, structured data: listings, full property details with the agency's phone, and the official price reports no other Idealista scraper exposes.

$4 per 1,000 listings or market-data rows. No proxy or login to set up.

Built and tested for idealista.com (Spain): homes, rentals, rooms, new builds, offices, shops, garages and land, nationwide.

Why this scraper?

  • 🏷️ Price-report market data nobody else ships. Price per m2, monthly/quarterly/yearly change, and the all-time peak for any region, province, city or district, plus the monthly history back to 2006.
  • 🎯 Every Idealista filter works. Set price, size, rooms, features, publish date and sort on Idealista, paste the URL, and all of it is kept.
  • 📉 Price-drop flag on search results. See which listings cut their price and by how much.
  • 📇 Owner vs agency on every listing. Each row says who posted it, and property details add the agency's contact phone.
  • 🔋 Full property detail. Size, rooms, bathrooms, condition, energy rating, features, the photo gallery, and the last-updated date.
  • 🤖 Handles bot protection automatically. Paste a URL and run. No proxy, no captcha solver, no login.

What data can you extract?

💶 Price & price/m2📉 Price drop & %🛏️ Rooms & baths📐 Size m2
🏢 Owner vs agency📞 Agency phone🔋 Energy rating🏗️ Condition
🖼️ Full photo gallery📝 Description📍 Location & geo code🗓️ Last updated
📊 Price per m2 by area📈 Monthly/yearly change⛰️ All-time peak🕰️ 20-year history

How it works: three modes in one actor

The actor reads what you paste and picks the mode for you. You can mix all three in one run.

  • 🔍 Search. Paste any Idealista search results URL. You get one row per listing and the actor pages through the results on its own.
  • 🏠 Property details. Paste a property URL (.../inmueble/<id>/) or just its ID. You get the full record for that listing.
  • 📊 Market data. Type a location like madrid-comunidad under Market data. You get Idealista's official price report for it.

The easy way to build a search: run the search on idealista.com with every filter and sort you want, then copy the URL from your browser. Price range, size, rooms, bathrooms, lift, terrace, pool, garage, publish date ("last 24 hours", "last week"), new builds, bank-owned and every sort order all travel in the URL.

Sample inputs for common jobs

Each block is a complete input. Paste it into the JSON tab of the input form, or send it to the API.

1. Newest listings in a city, for a daily feed

{
"startUrls": ["https://www.idealista.com/venta-viviendas/madrid-madrid/con-publicado_ultimas-24-horas/?ordenado-por=fecha-publicacion-desc"],
"maxItems": 500
}

2. A tight search: price cap, 2 bedrooms, lift, sorted cheapest first

{
"startUrls": ["https://www.idealista.com/venta-viviendas/madrid-madrid/con-precio-hasta_400000,de-dos-dormitorios,ascensor/?ordenado-por=precios-asc"],
"maxItems": 200
}

3. Private-owner leads only (no agencies)

{
"startUrls": ["https://www.idealista.com/alquiler-viviendas/madrid-madrid/"],
"onlyPrivateSellers": true,
"maxItems": 100
}

4. Several property types and cities in one run

{
"startUrls": [
"https://www.idealista.com/alquiler-viviendas/barcelona-barcelona/con-precio-hasta_2000,de-dos-dormitorios/",
"https://www.idealista.com/alquiler-habitacion/madrid-madrid/",
"https://www.idealista.com/venta-locales/valencia-valencia/",
"https://www.idealista.com/venta-garajes/madrid-madrid/"
],
"maxItems": 400
}

5. Full details for a list of properties

{
"startUrls": [
"https://www.idealista.com/inmueble/111545204/",
"111462849"
]
}

6. Price report for a region, sale prices, with the 20-year history

{
"marketDataLocations": ["madrid-comunidad", "andalucia/malaga-provincia"],
"marketDataOperation": "venta",
"marketDataIncludeHistory": true
}

7. Everything in one run: a search, two properties and a rent price report

{
"startUrls": [
"https://www.idealista.com/venta-viviendas/sevilla-sevilla/",
"https://www.idealista.com/inmueble/111545204/",
"111462849"
],
"maxItems": 100,
"marketDataLocations": ["madrid-comunidad/madrid-provincia/madrid"],
"marketDataOperation": "alquiler"
}

8. More than 1,800 listings from one big area: split by price band

Idealista shows at most 1,800 listings per search. Valencia has about 5,500 homes for sale, so these five price bands, each under 1,800, cover all of them. A listing that shows up in two bands is returned and billed once.

{
"startUrls": [
"https://www.idealista.com/venta-viviendas/valencia-valencia/con-precio-hasta_200000/",
"https://www.idealista.com/venta-viviendas/valencia-valencia/con-precio-desde_200000,precio-hasta_270000/",
"https://www.idealista.com/venta-viviendas/valencia-valencia/con-precio-desde_270000,precio-hasta_350000/",
"https://www.idealista.com/venta-viviendas/valencia-valencia/con-precio-desde_350000,precio-hasta_500000/",
"https://www.idealista.com/venta-viviendas/valencia-valencia/con-precio-desde_500000/"
],
"maxItems": 6000
}

Check each band's count on Idealista first. If one shows more than 1,800, split it again; the run status also warns you.

Input settings

SettingSectionWhat it does
startUrlsMainSearch pages, property pages or property IDs, one per line. Duplicates are fetched and billed once.
maxItemsMainCap on listing rows across all URLs. Default 100; set a bigger number (e.g. 10000) to get everything. Market-data rows don't count.
onlyPrivateSellersSearch optionsKeep private owners only. If your URL has no sort, the search runs newest-first, because Idealista's default order puts agency ads first.
marketDataLocationsMarket dataLocation paths such as espana, madrid-comunidad, andalucia/malaga-provincia, or a pasted report URL.
marketDataOperationMarket dataventa (sale prices) or alquiler (rent prices). A pasted report URL keeps its own.
marketDataIncludeHistoryMarket dataAdds the monthly series back to 2006, about 250 rows per location.

How to scrape Idealista: step by step

  1. Create a free Apify account. Takes 30 seconds, no card needed.
  2. Open Idealista Scraper in the Apify Console.
  3. Search on Idealista, copy the URL from your browser, and paste it in. A search page, a property page or an ID all work. For market data, type a location like madrid-comunidad.
  4. Click Start.
  5. Export as JSON, CSV, or Excel, or fetch via API.

How much does Idealista Scraper cost?

You pay per row: $4 per 1,000 listings (search and detail) and $4 per 1,000 market-data rows. There is a small start fee of $0.005 per run.

A quick note on market-data volume: one location snapshot is a handful of rows, but turning on the full history adds about 250 monthly rows per location (around $1 for a location's complete 20-year series).

The Apify Free plan gives you $5 in monthly credits, enough for about 1,250 listings. The $29/month Starter plan covers about 7,250 listings per month. Blocked or empty results are never charged.

Output

Search row from an agency:

{
"id": "111545204",
"url": "https://www.idealista.com/inmueble/111545204/",
"title": "Ático en Calle de Tomás López, Goya, Madrid",
"price": 1280000,
"currency": "EUR",
"pricePerM2": 10323,
"previousPrice": null,
"priceDropPercent": null,
"rooms": 2,
"size": 124,
"floor": "6ª planta exterior con ascensor",
"hasLift": true,
"hasParking": true,
"advertiserType": "agency",
"agencyName": "Clikalia España",
"agencyUrl": "https://www.idealista.com/pro/clikalia/",
"scrapedFrom": "search"
}

Search row from a private owner who just cut the rent from 1,345 to 1,245 a month:

{
"id": "100814778",
"url": "https://www.idealista.com/inmueble/100814778/",
"title": "Piso en Sants, Barcelona",
"price": 1245,
"currency": "EUR",
"pricePerM2": 21,
"previousPrice": 1345,
"priceDropPercent": 7,
"rooms": 2,
"size": 58,
"floor": "2ª planta exterior con ascensor",
"hasLift": true,
"hasParking": null,
"thumbnail": "https://img4.idealista.com/blur/480_360_mq/0/id.pro.es.image.master/bf/32/88/1422603912.jpg",
"advertiserType": "private",
"agencyName": null,
"scrapedFrom": "search"
}

Property detail for the first listing adds the phone, energy rating, condition, features, location code and the full gallery:

{
"id": "111545204",
"title": "Ático en venta en Calle de Tomás López",
"location": "Goya, Madrid",
"price": 1280000,
"size": 124,
"rooms": 2,
"bathrooms": 2,
"pricePerM2": 10323,
"operation": "1",
"condition": "Segunda mano/buen estado",
"isNewDevelopment": false,
"features": ["124 m² construidos", "2 habitaciones", "2 baños", "Terraza", "Plaza de garaje incluida en el precio", "Segunda mano/buen estado", "Armarios empotrados", "Trastero"],
"energyCertificate": { "consumption": "E", "emissions": "E" },
"advertiserType": "agency",
"advertiserName": "Clikalia España",
"isProfessional": true,
"micrositeCity": "Madrid",
"phones": ["+34919389761"],
"lastUpdated": "Anuncio actualizado el 2 de octubre",
"geoLocationId": "0-EU-ES-28-07-001-079-04-002",
"numImages": 24,
"description": "ÁTICO reformado con TERRAZA de 25 m², orientación SUR y CONSERJERÍA 24h ...",
"scrapedFrom": "detail"
}

operation is "1" for sale and "2" for rent.

Market-data snapshot row, one per sub-location in the report:

{
"operation": "venta",
"rowType": "snapshot",
"subLocation": "Málaga",
"pricePerM2": 3969,
"momChange": 0.8,
"quarterlyChange": 1.3,
"yoyChange": 4.1,
"peakPricePerM2": 3969,
"peakDate": "sep 2026",
"changeVsPeak": 0,
"scrapedFrom": "marketData"
}

Market-data history row, one per month:

{
"operation": "venta",
"inputLocation": "madrid-comunidad",
"rowType": "history",
"month": "Septiembre 2026",
"pricePerM2": 5065,
"momChange": 0.1,
"quarterlyChange": -1.7,
"yoyChange": 6.9,
"scrapedFrom": "marketData"
}

Use cases

  • 🧲 Owner lead generation. Agencies and investors pull private-owner listings (sample 3) every day and contact owners before other agencies do.
  • 📰 New-listing alerts. Schedule sample 1 every morning and push the new rows to Slack, email or a CRM. Speed wins listings in hot areas.
  • 📉 Deal hunting. Filter rows where previousPrice is set to find owners who just cut their price, the most negotiable listings on the market.
  • 📊 Market and price analysis. Track asking prices and price per m2 by district, property type and size, with filtered searches like sample 2.
  • 🏦 Valuation and investment models. Feed the 20-year price-per-m2 history (sample 6) into yield, residual-value or forecast models, region by region.
  • 🏢 Commercial and niche markets. Shops, offices, garages, land and room rentals use the same actor (sample 4). Small markets, where data is otherwise hard to get.
  • 🔎 Due diligence on specific properties. Pull full details, energy rating and the agency contact for a shortlist of IDs (sample 5).
  • 🏘️ Proptech and portals. Power a property finder, price checker or rent-vs-buy calculator with structured listing and market data.
  • 🕵️ Competitor watch. Track an agency's inventory, prices and price cuts over time.

Limitations

  • A single search returns up to about 1,800 listings, no matter how many match. Split a big search by price band, district or property type until each part is under 1,800 (sample 8). The run status tells you when a search hit the ceiling.
  • Spain only for now. Search, details and market data all cover idealista.com (Spain).
  • Phone numbers come from agency listings only. Idealista doesn't show private sellers' phones to anonymous visitors.
  • Some private listings have no photo, so thumbnail is empty for them. That's how they're posted.
  • New-build promotion pages (/obra-nueva/) aren't supported. Paste the individual unit links instead.
  • The "updated" date is a last-modified date, not the original publish date. Idealista doesn't expose the original date publicly.
  • View and lead counts are owner-only and not available to scrape.
  • Public data only. The actor reads what any visitor sees, not account-gated content.

FAQ

How much does Idealista Scraper cost?

You pay per row: $4 per 1,000 listings and $4 per 1,000 market-data rows, plus $0.005 per run. The Apify Free plan ($5/month in credits) covers about 1,250 listings; the $29/month Starter plan covers about 7,250. Blocked or empty rows are not charged.

Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data covered by GDPR or CCPA without a lawful basis. This actor only touches publicly accessible pages, but how you use the output is on you.

Apify's full breakdown: Is web scraping legal?.

Can I integrate Idealista Scraper with other tools?

Push results into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Apify treats every actor as a webhook source, so anything that consumes webhooks or pulls from an API works.

Full list: Apify integrations.

Can I use Idealista Scraper with the Apify API?

Yes. Every run is available via the Apify REST API:

curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~idealista-scraper/runs?token=APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls":["https://www.idealista.com/venta-viviendas/madrid-madrid/"],"maxItems":100}'

Docs: Apify API reference.

Can I use Idealista Scraper through an MCP Server?

Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP-capable client can call Idealista Scraper. Setup: Apify MCP docs.

Your feedback

Bug, missing field, or odd behavior? Drop a note in the Issues tab. Reports go to a human and fixes usually ship the same week.