Google Maps Scraper - Leads, Emails & Reviews
Under maintenancePricing
from $1.75 / 1,000 business records
Google Maps Scraper - Leads, Emails & Reviews
Under maintenanceFind businesses on Google Maps by type and location. Get names, addresses, phone numbers, websites, ratings and review counts where available. Export to CSV, Excel or JSON, or use the API. Duplicate listings are removed, and incomplete or blocked searches are reported. No Google API key needed.
Pricing
from $1.75 / 1,000 business records
Rating
0.0
(0)
Developer
Lasse
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 hours ago
Last modified
Categories
Share
WIE — Maps Business Scraper
Discover businesses from Google Maps using a simple Search + Location + Maximum businesses workflow.
The Actor returns clean, versioned business records with source identity, query provenance, diagnostics and bounded run telemetry. The same reusable @wie/maps capability is also consumed in-process by WIE — Web Design Opportunity Finder; neither Actor invokes the other.
Quick start
- Enter Search — for example
plumber. - Enter Location — for example
London, UK. - Choose Maximum businesses — default 100, hard maximum 200.
- Run.
The maximum is a hard cap, not a promise that Google will expose that many matching businesses. API inputs are strict: unknown properties are rejected instead of silently ignored.
Advanced settings let you select a locale, bounded browser concurrency and proxy strategy. Normal use requires no Maps URL, selectors, JSON, RPC knowledge or proxy credentials.
Returned fields
Each Dataset row has schemaVersion: 1 and may include:
- stable WIE
recordIdand observed MapssourceIdentity; - Google
placeIdwhen actually observable; - business title, category, address, website and phone;
- Maps URL and coordinates when observable;
- rating/review count where directly available;
- sponsored and closed-status indicators where directly observable;
- query provenance, including result rank and requested/loaded/observed Maps URLs where available;
- ingestion time;
- explicit diagnostics.
Missing values are omitted. In particular, a missing website means only that the checked Maps source record did not establish a website. It is not proof that the business has no website elsewhere.
Query outcomes
The run distinguishes:
COMPLETE— bounded query completed;ZERO_RESULTS— query completed without a block/failure signal and no business result was observed;PARTIAL— some useful records were emitted but the query did not fully complete;BLOCKED— a challenge/CAPTCHA or equivalent block state was observed;FAILED— acquisition failed without a valid completed result.
A block or failure is never silently converted to zero results.
Bounded acquisition behavior
The implementation uses Playwright to establish a real bounded Maps session. When that session exposes the structured Google Maps search-data endpoint used by the web application, WIE paginates that observed endpoint in 20-result steps and normalizes those source records directly. It does not require a customer Google API key and does not invent a Place ID when only another Maps identifier is present.
Rendered feed scrolling remains a bounded fallback for layouts where structured acquisition is unavailable or incomplete. A stagnant feed may be retried once in a fresh session; detail pages are then used only for feed-discovered place URLs. Sessions, concurrency, structured requests, scrolls, retries, result count and total query duration remain bounded by the same query deadline. A crashed detail page is replaced before the single retry, and a challenged detail session is not reused.
Images, media and fonts are blocked by default to reduce traffic. The scraper navigates only Google Maps URLs generated or observed by the Maps capability and does not crawl the extracted business websites. It does not solve CAPTCHAs or attempt unlimited retries.
Proxy behavior and cost
Proxy choices:
- Automatic (non-residential) — default;
- No proxy;
- Apify datacenter;
- Apify residential (metered) — explicit opt-in only.
AUTO never silently selects residential traffic.
Run telemetry records browser activity, retries, blocks, emitted places and elapsed time. Cost fields distinguish confirmed, estimated and unknown values.
Store billing uses pay per event. One business-scraped event is charged for each validated unique business row after it has been persisted. The current Store price is $0.004 per business ($4.00 per 1,000 businesses), plus the standard Actor-start event. Platform usage is included in the event pricing rather than billed separately by this Actor. Duplicates, malformed rows and blocked/failed queries without emitted valid businesses are not charged the business-scraped event. The live Apify Store pricing configuration is authoritative if it changes after this README was published.
What v1 does not do
This release intentionally excludes reviews, photos, email/contact enrichment, social profiles, website crawling, multiple search terms/locations per run, arbitrary Maps URL ingestion, outreach, monitoring, AI classification and CAPTCHA solving.
International use
The contract preserves UTF-8 business names/addresses and does not impose Norway-specific address parsing. Deterministic fixtures cover US, UK, Norway, Sweden, Germany, France, Spain and Australia. Live international coverage is still being expanded, so customers should validate representative queries for their target market before large runs.
Terms, privacy and downstream use
Automated collection of Google Maps content can carry contractual and data-use risk. Users should review the current Google/Maps terms, applicable law and their intended data-use model. This Actor does not provide legal advice.
Business listings can contain personal data, especially for sole traders. Customers are responsible for lawful downstream use and retention. WIE limits v1 to business-discovery fields and performs no sensitive-category inference or automated outreach.
Release status
Published on the Apify Store. The release has passed repository CI and a live 50-result London acceptance run. Broader cost, proxy and international benchmarks remain ongoing operational work; partial, blocked and failed acquisition states remain explicit rather than being reported as successful zero-result runs.