Skip to content

πŸ’° $0.5 per 1,000 results: Extracts structured property data (price, features, contact info, images) from any Idealista.com/.pt/.it listing URL. Outputs clean JSON for real estate analysis, market research, and automation workflows. Handles anti-bot protections automatically.

Notifications You must be signed in to change notification settings

FlowExtractAPI/idealista-scraper-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏠 Idealista API Scraper

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


🎯 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
  • Error Tracking: Failed items with detailed error messages
  • Pagination Support: Multi-page property collection
  • Real-time Streaming: NDJSON format in Standby mode

🌐 Supported Domains

Extract from any public Idealista property URL:

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

πŸ“Š Two Operation Modes

⚑ NORMAL Mode (Batch Processing)

Process one or multiple property URLs in a single actor run:

{
  "Property_urls": [
    { "url": "https://www.idealista.com/en/inmueble/82100417/" },
    { "url": "https://www.idealista.pt/fr/imovel/33939171/" },
    { "url": "https://www.idealista.it/it/immobile/34613312/" }
  ]
}

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.apify.actor/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -d '{
    "Property_urls": [
      { "url": "https://www.idealista.com/en/inmueble/82100417/" }
    ]
  }'

βœ… Input Schema

NORMAL Mode Input:

{
  "Property_urls": [
    { "url": "https://www.idealista.com/en/inmueble/82100417/" }
  ]
}
Field Type Description Required
Property_urls array Array of property URLs βœ… Yes

STANDBY Mode Input:

Same as NORMAL mode, plus:

{
  "Property_urls": [...]
}

πŸ“€ 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"
}

πŸ”§ How It Works

Automatic Detection: Extracts domain from URL, routes to correct API endpoint automatically.

URL Parsing

Country URL Pattern Example
Spain /inmueble/[ID]/ /inmueble/82100417/
Portugal /imovel/[ID]/ /imovel/33939171/
Italy /immobile/[ID]/ /immobile/34613312/

πŸ” Authentication & Proxy

Proxy Configuration

Free Users:

Automatic Apify residential proxy (no configuration needed)

Paid Users:

Premium Evomi proxy with custom credentials:

Stream Results to File

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

πŸ“ˆ Performance Metrics

Metric Value
Typical Response Time 5-15 seconds per property
Standby Startup 0 seconds (pre-loaded)
API Success Rate 99%+
Retry Coverage 3 automatic attempts
Memory Usage 128-512 MB configurable
Concurrent Requests Full rate limit support

πŸ—οΈ Architecture Highlights

STANDBY Mode Implementation:

  • Express.js HTTP server
  • NDJSON streaming responses
  • Real-time progress updates
  • Graceful error handling
  • Automatic batch processing

Data Quality:

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

πŸ“Š Status Codes

Status Meaning Action
success Property extracted successfully Use data
failed Extraction failed Check error message
migrating Server is migrating Retry request
aborting Server shutting down Restart actor

πŸ’‘ Pro Tips

  1. Use Standby for real-time needs - 3x faster response
  2. Batch requests efficiently - Multiple URLs in one call
  3. Monitor error view - Catch issues early
  4. Check network logs - Debug API issues
  5. Use appropriate proxies - RESIDENTIAL recommended

🀝 Support & Resources

πŸ“ž Support

Get Help

Social Media

🌟 Related Actors by FlowExtract API

🎬 Video & Media

🏠 Real Estate

πŸ› οΈ Developer Tools

πŸ“± Social Media


βš–οΈ Legal & Compliance

  • Public Data Access: Only processes publicly available Facebook Ad Library data
  • Rate Limiting: Respects Facebook's 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

About

πŸ’° $0.5 per 1,000 results: Extracts structured property data (price, features, contact info, images) from any Idealista.com/.pt/.it listing URL. Outputs clean JSON for real estate analysis, market research, and automation workflows. Handles anti-bot protections automatically.

Topics

Resources

Stars

Watchers

Forks

Contributors