Find businesses via Google Maps, enrich via Google Search. Uses Serper.dev to sweep cities with geo-grids, then runs customizable search queries to find owners, LinkedIn profiles, or any data you need. Apply quality filters and export clean, deduplicated leads ready for outreach.
Increased limits: perCityTarget max 10,000, searchNum max 100, maxSearchQueriesTotal max 1,000,000
Raw Search Results Mode (Developer Mode): New rawSearchResults option that returns Maps data + raw search results without processing; ideal for LLM analysis and custom enrichment pipelines
Changed
Switched to /maps endpoint for better results (20 per request, includes placeId and fid)
Cleaner log output: removed verbose API call logs and website scraping messages
Config summary now displays as aligned bullet points instead of one long line
Time format simplified (removed "Coordinated Universal Time")
Phone numbers are validated before output to filter corrupted data
Dockerfile optimized with multi-stage build (smaller production image)
TypeScript strict mode enabled with noUncheckedIndexedAccess and other strict checks
Scraper client now uses singleton pattern to prevent memory leaks
HTTP client now properly cleaned up on exit in all cases
Fixed
Corrupted phone numbers from Serper (e.g., "4,7(3549)") are now filtered out
placeId uses cid as fallback when not provided by API
Deduplication now uses placeId as primary key for reliability
Empty error handlers now properly log failures instead of silently failing
Memory leak in website scraper fixed with singleton Impit client
TypeScript strict mode errors all resolved (18 errors fixed)
Removed
city field from output (use address instead)
domainRoot field from output
Verbose "Scraping: URL" and "Found LinkedIn match" log messages
[8.7.0]
Added
Nominatim integration for converting city names to coordinates
Geo-grid builder for comprehensive area coverage using radius and step size