Idealista Scraper API avatar

Idealista Scraper API

Pricing

Pay per event + usage

Go to Apify Store
Idealista Scraper API

Idealista Scraper API

💰 $0.5 per 1,000 results. Scrape Idealista properties & listings from Spain (.com), Portugal (.pt) & Italy (.it). Supports property URLs + search/listing URLs. Fast mobile API extraction with real-time NDJSON streaming. Standby mode for instant responses.

Pricing

Pay per event + usage

Rating

4.9

(16)

Developer

FlowExtract API

FlowExtract API

Maintained by Community

Actor stats

37

Bookmarked

932

Total users

176

Monthly active users

1.8 days

Issues response

11 hours ago

Last modified

Share

🏠 Idealista API Scraper

Fast, reliable property scraper for Idealista.com, Idealista.pt, and Idealista.it . Optimized for speed and accuracy with multi-country support.

Supports every Idealista search URL type single property, listing/search, multi-area, hand-drawn map regions, and map-pin point searches.


🎯 What This Actor Extracts

Complete property intelligence from Idealista listings:

📋 Core Property Data

  • Property Details: ID, title, description, address, and web link
  • Pricing: Price amount with currency formatting (€/month or €)
  • Specifications: Rooms, bathrooms, constructed area, usable area
  • Property Type: Extended property type (flat, house, villa, etc.)
  • Status: Active/inactive listing status
  • Listing Updates: Last modification timestamp

🖼️ Visual Content

  • Galleries on All URL Types: Full image galleries now returned for listing, search, and map-area URLs not just single property pages
  • Image Gallery: High-resolution property photos with captions
  • Thumbnail: Primary property image
  • Multimedia: Video content when available
  • Professional Photos: Idealista-made professional imagery
  • 360° Tours: Virtual tour availability

🏢 Location & Contact

  • Address: Full street address with administrative levels
  • GPS Coordinates: Latitude and longitude for mapping
  • Location Details: City, region, district information
  • Contact Name: Property owner or agent name
  • Phone Number: Contact phone with country code
  • User Type: Private owner or professional agent
  • Communication: Chat and form availability

🏗️ Building & Amenities

  • Building Features: Elevator, parking availability
  • Exterior Access: Garden, terrace availability
  • Condition: Good/bad/unknown property status
  • Floor Info: Floor number and building details
  • Energy Performance: Energy efficiency when available

⚡ Advanced Features

  • Multi-country Support: Spain (.com), Portugal (.pt), Italy (.it)
  • Map-Area Search: Scrape any custom region drawn on Idealista's map
  • Multi-Area Search: Scrape several selected zones/neighbourhoods in one run
  • Point / Map-Pin Search: Scrape the area around a map-pin location URL
  • Auto Language Detection: Extracts language from URL
  • Auto Country Routing: Detects correct API endpoint
  • Mixed URL Support: Property URLs and listing/search URLs in one request
  • Listing URL Parsing: Automatic search payload generation
  • Configurable Results: Control max properties per listing URL
  • Error Tracking: Failed items with detailed error messages
  • Pagination Support: Multi-page property collection
  • Real-time Streaming: NDJSON format in Standby mode

🌐 Supported URL Types

Individual Property URLs

Extract data from a single property page:

  • https://www.idealista.com/en/inmueble/82100417/
  • https://www.idealista.pt/fr/imovel/33939171/
  • https://www.idealista.it/it/immobile/34613312/

Listing/Search URLs

Scrape multiple properties from a search results page:

  • https://www.idealista.com/en/venta-viviendas/balears-illes/?ordenado-por=precios-asc
  • https://www.idealista.pt/fr/comprar-casas/nordeste/achadinha/
  • https://www.idealista.it/pt/vendita-case/alice-castello-vercelli/

The actor automatically detects which type of URL you provide and handles each accordingly.


Map-Area / Drawn-Region URLs (NEW)

Scrape every property inside a custom area you draw on Idealista's map:

  • https://www.idealista.it/it/aree/vendita-case/.../lista-mappa?shape=...

Draw any region on Idealista's map search, copy the URL, and paste it in the actor scrapes all matching properties within that exact area. Works across Spain, Portugal, and Italy.


Multi-Area URLs (NEW)

Scrape across several neighbourhoods or zones selected together in one search:

  • https://www.idealista.com/en/multi/alquiler-viviendas/.../
  • https://www.idealista.pt/es/multi/comprar-casas/.../
  • https://www.idealista.it/multi/vendita-case/.../

Select multiple zones on Idealista, copy the URL, and paste it in the actor scrapes properties from all selected zones in a single run.


Point / Map-Pin URLs (NEW)

Scrape properties around a specific point on the map (the /point/... URLs Idealista creates when you search around a location):

  • https://www.idealista.com/en/point/venta-viviendas/.../mapa-google
  • https://www.idealista.pt/es/point/comprar-casas/.../mapa-google
  • https://www.idealista.it/en/point/vendita-uffici/.../lista-mappa

Search around a spot on Idealista's map, copy the URL, and paste it in the actor scrapes the properties in that area, with all your filters applied.

Note on point URLs: a map-pin search returns the properties in the surrounding map area. For an exact, precisely-bounded selection, use a hand-drawn Map-Area URL (above), which captures the precise region you select.

📊 Two Operation Modes

NORMAL Mode (Batch Processing)

Process property URLs and listing URLs in a single actor run:

{
"Property_urls": [
{ "url": "https://www.idealista.com/en/venta-viviendas/balears-illes/?ordenado-por=precios-asc" },
{ "url": "https://www.idealista.com/en/inmueble/82100417/" },
{ "url": "https://www.idealista.pt/fr/imovel/33939171/" },
{ "url": "https://www.idealista.it/it/immobile/34613312/" }
],
"desiredResults": 10
}

In this example, the actor returns:

  • Up to 10 properties from the listing URL (/venta-viviendas/balears-illes/)
  • 1 property each from the 3 individual property URLs
  • Total: up to 13 properties

Output: Dataset with complete property data for all URLs


ACTOR STANDBY

🔄 STANDBY Mode (Real-Time API)

Keep the actor running as an HTTP server for instant property extraction:

Traditional Run:

  1. ⏳ Start actor (10-30 seconds)
  2. 🔍 Extract property (5-15 seconds)
  3. 📊 Return results
  4. 🛑 Actor stops

Standby Mode:

  1. 🔍 Extract instantly (5-15 seconds)
  2. 📊 Return results immediately
  3. 🔄 Stay ready for next request

Response: 3x faster with zero startup overhead!

Standby Endpoint Example:

curl -X POST https://dz-omar--idealista-scraper-api.apify.actor/ \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{
"Property_urls": [
{ "url": "https://www.idealista.com/en/venta-viviendas/balears-illes/" },
{ "url": "https://www.idealista.com/en/inmueble/82100417/" }
],
"desiredResults": 10
}'

✅ Input Schema

Input Fields:

FieldTypeRequiredDefaultDescription
Property_urlsarray✅ YesArray of property or listing URLs
desiredResultsintegerNo10Max properties per listing URL (min: 10)

Example Input (Mixed URLs):

{
"Property_urls": [
{ "url": "https://www.idealista.com/en/venta-viviendas/balears-illes/?ordenado-por=precios-asc" },
{ "url": "https://www.idealista.com/en/inmueble/82100417/" },
{ "url": "https://www.idealista.pt/fr/imovel/33939171/" },
{ "url": "https://www.idealista.it/it/immobile/34613312/" }
],
"desiredResults": 11
}

How it works:

  • The listing URL (/venta-viviendas/...) returns up to desiredResults (11) properties
  • Each property URL (/inmueble/, /imovel/, /immobile/) returns exactly 1 property
  • Total output: up to 14 properties (11 + 3)

STANDBY Mode Input:

Same format, sent as POST body to the standby endpoint.


📤 Sample Output

Successful Extraction:

{
"adid": 82100417,
"price": 500,
"priceInfo": {
"amount": 500,
"currencySuffix": "€/month"
},
"operation": "rent",
"propertyType": "homes",
"extendedPropertyType": "flat",
"ubication": {
"title": "Calle Everluz, 1",
"latitude": 37.1827492,
"longitude": -6.9736586,
"administrativeAreaLevel2": "Punta Umbria",
"administrativeAreaLevel1": "Huelva"
},
"moreCharacteristics": {
"roomNumber": 1,
"bathNumber": 1,
"constructedArea": 60,
"usableArea": 55,
"exterior": true,
"lift": true,
"garden": true,
"status": "good"
},
"multimedia": {
"images": [
{
"url": "https://img4.idealista.com/...",
"tag": "terrace",
"localizedName": "Terrace"
}
],
"videos": []
},
"contactInfo": {
"contactName": "juani",
"userType": "private",
"phone1": {
"formattedPhoneWithPrefix": "+34 608 12 39 91"
},
"professional": false
},
"detailWebLink": "https://www.idealista.com/inmueble/82100417/",
"country": "es",
"status": "success",
"scrapedAt": "2026-02-04T12:30:45.123Z"
}

Failed Extraction:

{
"url": "https://www.idealista.com/en/inmueble/invalid/",
"propertyId": null,
"status": "failed",
"error": "Could not extract property ID from URL",
"scrapedAt": "2026-02-04T12:30:45.123Z"
}

🔐 Authentication & Proxy

Proxy Configuration

Free Users:

Automatic Apify residential proxy (no configuration needed)

Premium proxy

Stream Results to File

curl -X POST "https://dz-omar--idealista-scraper-api.apify.actor?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"Property_urls": [
{"url": "https://www.idealista.com/en/venta-viviendas/balears-illes/"},
{"url": "https://www.idealista.com/en/inmueble/82100417/"}
],
"desiredResults": 20
}' > property_data.ndjson

Health Check

$curl -X GET "https://dz-omar--idealista-scraper-api.apify.actor?token=YOUR_APIFY_TOKEN/health"

Using Token in Query Parameter

curl -X POST "https://dz-omar--idealista-scraper-api.apify.actor?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"Property_urls": [
{"url": "https://www.idealista.com/en/inmueble/82100417/"}
]
}'

🎯 Perfect For

Single Property Analysis:

  • 🧑‍💼 Real estate agents evaluating listings
  • 📈 Investors analyzing specific properties
  • 🔍 Content creators gathering data
  • 🤖 Developers building automation
  • 📱 Apps requiring property lookups

Bulk Operations:

  • 📊 Market research and trend analysis
  • 🏢 Agency monitoring and tracking
  • 📈 Investment portfolio management
  • 🔄 Automated listing updates
  • 🗺️ Regional property scanning via listing URLs

📈 Performance Metrics

MetricValue
Typical Response Time5-15 seconds per property
Standby Startup0 seconds (pre-loaded)
API Success Rate99%+
Retry Coverage3 automatic attempts
Memory Usage128-512 MB configurable
Concurrent RequestsFull rate limit support

🏗️ Architecture Highlights

STANDBY Mode Implementation:

  • Express.js HTTP server
  • NDJSON streaming responses
  • Mixed URL handling (property + listing)
  • Real-time progress updates
  • Graceful error handling
  • Automatic batch processing

Listing URL Processing:

  • Automatic URL → search payload conversion
  • Automatic pagination with configurable limits
  • Batch streaming in STANDBY mode

Data Quality:

  • 6 optimized dataset views
  • Field validation
  • Error tracking
  • Status indicators
  • Timestamp tracking

📊 Status Codes

StatusMeaningAction
successProperty extracted successfullyUse data
failedExtraction failedCheck error message
migratingServer is migratingRetry request
abortingServer shutting downRestart actor

💡 Pro Tips

  1. Use Standby for real-time needs - 3x faster response
  2. Mix URL types - Combine property and listing URLs in one request
  3. Set desiredResults wisely - Higher values = more data but longer runtime
  4. Batch requests efficiently - Multiple URLs in one call
  5. Monitor error view - Catch issues early

🤝 Support & Resources

📞 Support

Get Help

Social Media

🎬 Video & Media

🏠 Real Estate

📚 Education & Community

🛠️ Developer Tools

📱 Social Media


  • Public Data Access: Only processes publicly available data
  • Rate Limiting: Respects service limits and terms of use
  • Data Protection: No storage of personal information or unauthorized data collection
  • Commercial Use: Suitable for business intelligence and research applications