Idealista Property Details Extractor avatar

Idealista Property Details Extractor

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Idealista Property Details Extractor

Idealista Property Details Extractor

Under maintenance

Extract full property details from Idealista by ID: descriptions, specs, energy certificates, multimedia URLs & contact info. Enrich your property database.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

axly

axly

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

📋 Idealista Property Details Extractor

Purpose: Extract comprehensive property details, descriptions, and specifications by property ID

Version: 1.0.0

Pricing: Per-property ($0.10 per 100 properties, $100-500 monthly revenue)

🎯 Features

  • Comprehensive Data Extraction: Property details, descriptions, specifications, multimedia, and statistics
  • Multi-language Support: en, es, it, pt, fr
  • Multi-country Support: 🇪🇸 es, 🇮🇹 it, 🇵🇹 pt, 🇫🇷 fr
  • Rate Limiting: Built-in rate limiting (1 request/second) with exponential backoff
  • Error Handling: Robust error handling with retry logic and graceful failures
  • Custom Extractors: Optional JavaScript functions for custom data processing

📥 Input Schema

FieldTypeRequiredDefaultDescription
propertyIdsstring[]-Array of property IDs to fetch details for
countrystring"es"Country code (es, it, pt, fr)
languagestring"en"Language for property descriptions
includeMultimediabooleantrueInclude image/video URLs
includeStatsbooleanfalseInclude property statistics
max_concurrentinteger2Maximum concurrent requests (1-5)
custom_extractorstring-Optional JavaScript function for custom processing

📤 Output Schema

Returns an object with a properties array containing detailed property information:

{
"properties": [
{
"id": "string",
"title": "string",
"description": "string",
"price": {
"amount": "number",
"currency": "string"
},
"location": {
"address": "string",
"coordinates": {
"latitude": "number",
"longitude": "number"
}
},
"features": "object",
"multimedia": {
"images": "array",
"videos": "array",
"plans": "array"
},
"contact": "object",
"energyCertificate": "object"
}
]
}

🔧 Implementation Details

API Methods Used

  • api.createPropertyDetailsRequest(propertyId, language, quality) - Property details
  • api.parsePropertyDetailsResponse(response) - Parse details response
  • api.createPropertyMultimediaRequest(propertyId) - Multimedia data
  • api.parsePropertyMultimediaResponse(response) - Parse multimedia response
  • api.createPropertyStatsRequest(propertyId) - Property statistics
  • api.parsePropertyStatsResponse(response) - Parse stats response

Rate Limiting

  • Per Request: 1 second minimum delay
  • Concurrent: Max 5 concurrent requests
  • Retry Logic: Exponential backoff (1s, 2s, 4s)

Error Handling

  • Network errors: Retry with exponential backoff (max 3 attempts)
  • Auth errors: Automatic re-authentication
  • Rate limits: Increased delays on rate limit errors
  • Parsing errors: Logged and skipped
  • Custom extractor errors: Logged with fallback to original data

🚀 Usage Example

// Input
{
"propertyIds": ["12345678", "87654321"],
"country": "es",
"language": "en",
"includeMultimedia": true,
"includeStats": false,
"max_concurrent": 2
}
// Custom extractor example
"custom_extractor": "function(propertyData) { return { ...propertyData, customField: 'value' }; }"

📊 Performance & Scaling

  • Concurrency: Configurable concurrent processing (1-5)
  • Memory Management: Batch processing to manage memory usage
  • Error Recovery: Continues processing other properties on individual failures
  • Logging: Comprehensive logging for monitoring and debugging

🔒 Production Ready

Apify Layout: 100% compliant with selected template ✅ Input Validation: Strict INPUT_SCHEMA.json with descriptions and validation ✅ Error Handling: Comprehensive error handling with Actor.fail() and Actor.exit() ✅ Rate Limiting: Built-in rate limiting with exponential backoff ✅ Logging: Comprehensive logging via Actor.log ✅ Secrets: No hardcoded credentials (uses API client configuration) ✅ Async Handling: Proper async usage with resource cleanup ✅ Local Testing: apify run succeeds with sample input ✅ Linting: ESLint configuration with zero errors ✅ Documentation: Auto-generated README from design specifications


Ready for production deployment! 🚀

This actor is fully compliant with the Idealista API reverse-engineering specifications and Apify production standards.