How to Scrape Google Maps with Apify (2026 Tutorial)
Scrape Google Maps with Apify's Google Maps Scraper: enter your search query, run the Actor, and download businesses as JSON or CSV — no coding required.
Google Maps is the default directory for local businesses: names, categories, ratings, websites, phones, and coordinates. Google also rate-limits and truncates what you see in the UI—so reliable extraction usually means a hosted browser stack, rotating proxies, and sometimes geographic grid search instead of one giant query.
This tutorial walks through no-code scraping with the Apify Google Maps Scraper and explains the 120-result ceiling, grid partitioning, and optional email enrichment.
Start on Apify (free monthly credits) →
Why a single search hits a wall (~120 results)
If you search "Coffee shops in London" in the Maps UI, you only get a limited number of places per search—on the order of ~120, no matter how many exist in the city. Broad queries silently drop the long tail.
Fix: grid / geographic partitioning
To approximate full coverage, split the area into many smaller searches (bounding boxes, zoom levels, or radius cells) so each query stays under the cap. The Google Maps Scraper is built for that pattern: it can drive parallel, geo-scoped queries with proxy rotation so the aggregate dataset reconstructs what one search cannot.
Advanced JSON input (API or “JSON” tab on the Actor) often looks like this:
{
"searchStringsArray": ["Plumbers in Chicago"],
"maxCrawledPlacesPerSearch": 200,
"language": "en",
"proxyConfig": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
},
"scrapeReviewerName": false,
"extractEmailsAndContacts": true,
"zoom": 12
}
Residential proxy groups help requests resemble real user traffic and reduce datacenter blocks. Tune zoom and place caps to balance coverage vs. cost.
Step-by-step: scrape Maps without code
Step 1: Open Apify and the Actor
- Go to apify.com and sign in (or create an account).
- Open the Store and search for Google Maps Scraper, or use the Google Maps Scraper Actor directly.
Step 2: Set your search
In the input form:
- Search query — e.g. dentists in Miami or industrial suppliers near Dortmund.
- How many places — set a limit per search that matches your budget; remember the ~120 UI cap per single broad query.
- Language and region — align with your go-to-market geography.
For city-wide or national coverage, prefer many narrow searches (neighborhoods, zip codes, or grid settings the Actor exposes) rather than one country-wide string.
Step 3: Turn on proxying when needed
For steady Maps scraping, enable Apify Proxy and choose groups appropriate to your case (often RESIDENTIAL for difficult targets). This is the same infrastructure 30,000+ Actors use on Apify.
Step 4: Optional — reviews and contacts
- Reviews — richer data, higher compute and time.
- Emails / contacts — the Actor can follow business websites to find emails and contact hints. Yields are rarely 100%: many small businesses hide email behind forms or have no site.
Step 5: Run and export
Click Start. When the run succeeds, open the Dataset tab and download JSON, CSV, or Excel. Use the API or webhooks to push rows into CRMs or n8n.
Example record shape
Your rows are typically easy to join to BI tools or enrichment workflows:
{
"title": "Joe's Plumbing",
"website": "https://joesplumbinglondon.co.uk",
"phone": "+44 20 7946 0001",
"totalScore": 4.8,
"reviewsCount": 112,
"location": {
"lat": 51.5209,
"lng": -0.0984
},
"emails": ["contact@joesplumbinglondon.co.uk"]
}
Exact field names can vary slightly by Actor version—always inspect a sample run before locking schemas.
Official Places API vs. scraping
The Google Places API is the supported, contractual path for many apps. It is priced per request and optimized for product features, not bulk market maps of every corner case. Scraping-style Actors are aimed at lead gen, research, and analytics teams that need wide extraction—always check Google's terms, robots rules, and local law for your use case.
Maps data → downstream workflows
- Sales & marketing — territory planning, outbound lists, local SEO audits.
- Operations — competitor footprint, store counts, hours and phone QA.
- Data products — normalized POI feeds when licensing allows.
Pipe datasets into HubSpot, Sheets, BigQuery, or your warehouse via Apify’s integrations and API.
New workspaces get ongoing monthly credits on the free tier—enough to test Maps scraping before you scale.
Legality depends on jurisdiction, how you access data, and how you use it. Prefer public business information, respect site terms and technical limits, and get legal advice for high-risk use cases. This site publishes a general web scraping legal overview for education—not as legal counsel.
Large areas, high place counts, review scraping, and website follow-ups (for emails) multiply page loads. Residential proxies and deep crawls add latency. Reduce scope, disable optional fields, or split into smaller regional runs.
No. You can configure and run the Google Maps Scraper from the Apify Console and export CSV or JSON. Developers can also start runs via the Apify API.
Use geographic partitioning: multiple tighter searches or grid-style coverage so each query stays under the UI cap, then deduplicate records downstream.
No. Many listings have no website, or only a contact form. Expect partial coverage and plan enrichment or manual research for critical leads.




