Changelog
All notable changes to Smart Idealista Scraper will be documented in this file.
Added
Changed
Fixed
Removed
[1.3.0] - 2024-11-05
🚀 Major Code Quality Improvements
- Modular Architecture: Extracted 400+ lines into dedicated modules for better maintainability
- Reduced main.js by 41%: From 1,033 to 605 lines through modularization
- Custom Error Types: Added structured error handling with actionable user guidance
- Enhanced Input Validation: Comprehensive validation with detailed error messages
- Constants Management: Centralized configuration and magic numbers
🛠️ New Modules Added
src/modules/locationExtractor.js - Location extraction from Idealista URLs
src/modules/validators.js - Input validation and sanitization
src/modules/errors.js - Custom error types with user suggestions
src/config/constants.js - Centralized configuration values
tests/ - Comprehensive test suite with 80% coverage goal
🧪 Testing Framework
- Added Jest testing framework with full configuration
- Created test suites for validators, errors, and constants
- Implemented comprehensive input validation tests
- Added error handling and type validation tests
- Set up coverage reporting and CI-ready testing
💡 Enhanced User Experience
- Actionable Error Messages: All errors now include specific suggestions for resolution
- Better Input Validation: Clear feedback for invalid parameters
- Improved Location Extraction: More robust URL parsing with fallback patterns
- Enhanced Debugging: Better error reporting and troubleshooting guidance
🔧 Technical Improvements
- ES Module Architecture: Modern import/export structure throughout
- Type-Safe Validations: Better input sanitization and type checking
- Configurable Timeouts: Centralized HTTP and request timeout management
- Environment Validation: Robust environment variable checking
📋 Configuration Updates
- idealistaUrl Field: Added to INPUT_SCHEMA for BETA auto-detection feature
- Version Synchronization: All files now consistently reference v1.3.0
- Constants Centralization: All magic numbers moved to configuration files
🎯 Quality Metrics
- Code Reduction: 41% smaller main file through modularization
- Test Coverage: 80%+ coverage target for critical code paths
- Error Types: 6 specialized error classes with user guidance
- Modules: 4 new modules with clear separation of concerns
🔄 Breaking Changes (Internal)
- Moved location extraction functions to dedicated module (API unchanged)
- Updated internal error handling structure (no external impact)
- Refactored validation logic (same external behavior)
- Enhanced module imports (backward compatible)
🐛 Bug Fixes
- Fixed version inconsistencies across all project files
- Added missing idealistaUrl validation in INPUT_SCHEMA
- Enhanced input sanitization and type validation
- Improved error message formatting and user guidance
- Optimized module loading with ES imports
- Reduced memory footprint through modular architecture
- Improved error handling performance with structured error types
- Enhanced configuration management and lookup performance
1.1.0 - 2024-10-15
Added
- Conditional field sending to N8N (only user-provided fields)
- Enhanced input validation for 64+ property filters
- FREE tier: $0.005 base + $0.003 per property
- PAID tier: unlimited properties with 5 concurrent runs
Changed
- Improved dataset output structure for property comparison
- Better error messages for invalid location IDs
- Optimized N8N payload structure
Fixed
- Input schema validation logic
- Incremental dataset saves (never batch)
- Proper tier detection via APIFY_USER_IS_PAYING
1.0.0 - 2024-10-01
Added
- Initial release of Smart Idealista Scraper
- Support for Spain, Italy, and Portugal property listings
- N8N webhook integration for reliable scraping
- Tier-based pricing (FREE: 200 properties/month, PAID: unlimited)
- 64+ comprehensive search filters
- JSON/CSV export support
- Automatic duplicate detection
- Property metadata extraction (price, size, location, etc.)
- Multi-language support (Spanish, Italian, Portuguese)
Features
- Zero technical skills required
- API-reliable (no breakage from website updates)
- 33% bonus delivery model (charge for 30, deliver 40 properties per page)
- Best price on market: $0.003 per property + $0.005 setup