Scrape business contact details from eBay Kleinanzeigen ads in Germany. Extract phone numbers, emails, websites, and addresses from all categories. DSGVO-compliant data collection for B2B prospecting, sales outreach and lead generation. Export to Excel, CSV, JSON. Perfect for German market research.
Better Phone Detection: Supports all German formats (+49, 0049, 0, with various separators)
Page-wide Search: Now searches entire page, not just description
Validation & Deduplication: Automatic cleaning and validation of contacts
Multiple Contacts: New fields allEmails and allPhones for multiple contacts
Better Logging: Shows ✓/✗ for email/phone detection
File modified:src/routes.js:124-205
3. Testing Infrastructure
New test file:test-local.js - comprehensive testing for search logic and contact extraction
Test configuration:.apify/input.json for local testing
Run tests with: node test-local.js
📊 Test Results
✅ 7/7 search URL building scenarios
✅ 7/7 contact extraction scenarios
✅ 100% backwards compatible with existing inputs
🔧 Technical Changes
Modified Files:
src/main.js - Complete rewrite of buildSearchUrl() function
src/routes.js - Enhanced contact extraction with validation
README.md - Updated documentation with new features
New Files:
test-local.js - Test suite for search and extraction logic
.apify/input.json - Local testing configuration
🎯 Benefits
More flexible: Users can write natural queries in any word order
Better contact detection: Finds more emails and phones across entire page
Cleaner data: Automatic validation and deduplication
Easier testing: Local test script for rapid debugging
v3.8.X – Final Optimizations & Advanced Evasion
Adaptive Navigation Strategy: Replaced static waits with a dynamic, two-step process (domcontentloaded + waitForSelector) to robustly handle JS-rendered content and prevent timeouts.
Aggressive Session Rotation: Session pool now retires sessions after a single network failure (maxErrorScore: 1), improving resilience against faulty proxies.
Persistent Cookie Management: GDPR consent cookies saved after first interaction and reloaded on subsequent runs, bypassing the banner.
Human Behavior Simulation: Realistic chunk-based scrolling + randomized mouse movements for anti-bot evasion.
State Reset Functionality: New resetState input option clears saved state for clean runs.
Diagnostic Saves: Automated saving of screenshots + HTML for failed pages, enabling debugging.
Refined Logging: Professional logging format for better monitoring.