Changelog
Version 4.4.x - Latest Release
Core Technology
Crawlee - Modern web scraping framework
Playwright - Browser automation library
Chrome - Headless browser engine
Apify SDK - Platform integration
Page loading strategy - Uses domcontentloaded
instead of networkidle
for 5x faster loading
Timeout reduction - Decreased from 60s to 15-20s for quicker failure detection
Smart scrolling - Optimized feed detection and scrolling algorithm
Single retry policy - Fail fast approach, moves to next query immediately
Memory optimization - Disabled session pool to reduce overhead
Universal Language Detection
Dynamic element finder - Searches all input elements on page
Multi-language keywords - Detects search boxes with keywords in 10+ languages
Smart cookie consent - Finds accept/reject buttons regardless of text
No hardcoded selectors - Adapts to any Google Maps version
Rating formats - Handles both 4.5 and 4,5 decimal notations
Review counting - Multiple selector fallbacks for accurate counts
Address cleaning - Removes country suffix and trailing commas
Phone normalization - Strips special characters, keeps digits and basic formatting
Timestamp addition - ISO date format for each extraction
Output Structure
Prefixed field names - 01_name, 02_address format ensures column order
9 data fields - Name, address, rating, reviews, phone, website, query, date, maps_url
Clean text output - Removes Unicode artifacts and invisible characters
CSV/JSON/Excel - Multiple export formats supported
Error Handling
Graceful failures - Continues extraction even if some places fail
Detailed logging - Clear progress indicators and error messages
Screenshot on error - Base64 screenshots for debugging
Proxy detection - Logs proxy usage for transparency
Version 4.0
Apify platform - Native integration
Crawlee framework - Replaced raw Puppeteer
Playwright browser - Better than Puppeteer for automation
Residential proxies - Built-in proxy rotation
Features Added
Input schema - User-friendly configuration interface
Dataset schema - Structured output with field definitions
100 results limit - Increased from 20 per search
Concurrent processing - Multiple browsers in parallel
API access - Programmatic control via Apify API
Version 3.0
Architecture
Node.js application - Standalone scraper
Puppeteer - Direct Chrome automation
Manual proxy - External configuration required
CSV export - Single output format
20 result limit - Hard cap on extraction
Version 2.0
Improvements
Modular structure - Separated components
Config files - External settings
Batch processing - Sequential queries
Basic logging - Console output
Version 1.0
Initial Features
Basic extraction - Business name and address
10 results max - Limited scraping
English only - US Google Maps
Single query - One search at a time
No proxy - Direct connection