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

3.9

(13)

Developer

FlowExtract API

FlowExtract API

Maintained by Community

Actor stats

28

Bookmarked

391

Total users

54

Monthly active users

6 days 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.

Now supports both individual property URLs and listing/search URLs!


🎯 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

  • 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)
  • 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 via deeplinks API
  • 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 (NEW in v3.3)

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.


πŸ“Š 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βœ… Yesβ€”Array 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:

  • Deeplinks API integration for URL β†’ 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