Google Maps Scraper
Pricing
from $1.50 / 1,000 scraped places
Google Maps Scraper
Extract data from thousands of Google Maps places and businesses, including addresses, phone numbers, websites, ratings, review counts, emails, social profiles, opening hours, coordinates & more. Export data, run via API, schedule and monitor runs, or integrate with other tools.
Pricing
from $1.50 / 1,000 scraped places
Rating
0.0
(0)
Developer
Ace
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
π What is Google Maps Scraper?
Google Maps Scraper extracts data from Google Maps places and business listings: names, addresses, phone numbers, websites, ratings, review counts, opening hours, coordinates, place IDs, and emails and social profiles found on each business's website.
Use it to:
- π― Generate leads β build lists of local businesses by category and city, with phone numbers and emails
- π Build a Google Maps database β export every dentist, plumber or restaurant in a city to CSV, Excel or JSON
- π Find businesses without websites β ideal prospects for web design, SEO and marketing agencies
- π Research markets and competitors β compare ratings, review counts and coverage across areas
- π€ Feed your apps and AI agents β run it through the API, n8n, Make or Zapier
There is no Google Maps API key to set up and no browser extension to install. It runs in the cloud, and you pay only for the places you get.
What data does Google Maps Scraper extract?
| π’ Business name | π· Category and all categories | π Full address, street, city, state, postcode, country |
| βοΈ Phone number (formatted + international) | π Website | β Rating (totalScore) |
| π¬ Review count | π Opening hours for every day | πΊ Latitude and longitude |
| π Place ID, CID, FID, Knowledge Graph ID | π Description | βΏ Amenities and accessibility (additionalInfo) |
| β Claimed by owner + owner name | π« Permanently / temporarily closed | πΌ Main image URL |
| π§ Emails (add-on) | π₯ Facebook, Instagram, LinkedIn, X, YouTube, TikTok (add-on) | π Google Maps and reviews links |
β¬οΈ Input
Search terms
Enter what you would type into Google Maps, one term per line: dentist, coffee shop, roofing contractor, hotel. Each term runs as its own search, and a place found by several terms is delivered and charged only once.
Location
Enter a city, region, postcode or country, such as Austin, TX, Manchester, UK or 10001. Setting a location unlocks deep scraping (see Using geolocation).
Search without a location
You can leave the location empty and put it in the search term instead, e.g. pizza in Brooklyn. Google returns at most ~120 places per plain search, so add a location when you need more.
Filters
| Filter | What it does |
|---|---|
| Minimum rating | Keep places rated 2+ β¦ 4.5+ |
| Website | All places, only with a website, or only without a website |
| Skip closed places | Drop permanently or temporarily closed businesses |
| Category must contain | E.g. dentist keeps "Dentist" and "Cosmetic dentist" |
| Name must match | Keep places whose name contains or equals the search term |
Places removed by a filter are never charged.
Example input
{"searchStringsArray": ["dentist"],"locationQuery": "Denver, CO","maxCrawledPlacesPerSearch": 500,"scrapeContacts": true,"placeMinimumStars": "4"}
β¬οΈ Output
Table view
The Overview table shows name, category, address, city, state, postcode, phone, website, rating, review count, emails and the Google Maps link. You can download it as CSV, Excel, JSON, XML or HTML.
JSON file
{"title": "Epoch Coffee","categoryName": "Coffee shop","address": "221 W N Loop Blvd, Austin, TX 78751","city": "Austin","state": "Texas","postalCode": "78751","countryCode": "US","location": { "lat": 30.3186037, "lng": -97.7245402 },"totalScore": 4.5,"reviewsCount": 2528,"phone": "(512) 454-3762","phoneUnformatted": "+15124543762","website": "http://www.epochcoffee.com/","openingHours": [{ "day": "Monday", "hours": "12 AMβ11:30 PM" }],"claimedByOwner": true,"permanentlyClosed": false,"placeId": "ChIJG-gJw2vKRIYROWi2uwOp8QE","cid": "140078896924485689","url": "https://www.google.com/maps/search/?api=1&query=Epoch%20Coffee&query_place_id=ChIJG-gJw2vKRIYROWi2uwOp8QE","emails": ["madison@epochcoffee.com"],"facebooks": ["https://www.facebook.com/epochcoffee"],"instagrams": ["https://instagram.com/epochcoffee"]}
Field names follow the most widely used Google Maps dataset format, so existing spreadsheets, CRM imports and Zapier/Make flows work without remapping.
ππ‘ Using geolocation to get more places
A single Google Maps search stops at about 120 places. When you set a location, Google Maps Scraper:
- Looks up the location's boundaries (city, county, state, country or postcode).
- Splits the area into small map tiles, about 2.5 km across.
- Searches every tile, starting from the centre, and removes duplicates.
This way you can scrape every business in a city, not just the first page. Set Max places per search term to 0 to scan the whole area, or to any number to stop earlier. Deep scraping turns on automatically above 120 places.
π° How much does it cost to scrape Google Maps?
| Event | Price |
|---|---|
| Place scraped | $0.004 per place ($4 per 1,000); cheaper on higher Apify plans |
| Filter applied | $0.001 per place, per active filter |
| Emails & social profiles | $0.002 per place β charged only when at least one contact is found |
Set a maximum cost per run in Apify, and the scraper stops cleanly when it reaches it.
βFAQ
How does Google Maps Scraper work?
It reads the same data that the Google Maps website loads in your browser, about 20 places per request, without running a browser. That makes it fast and cheap. For emails, it visits each business's own website and its contact page.
What are the disadvantages of the Google Maps API?
The official Places API needs a Google Cloud billing account and charges per request. It returns at most 60 results per search, and it doesn't provide emails or social profiles. Google Maps Scraper has no search limit when you set a location, and it adds contacts from business websites.
Can I scrape places from multiple locations?
Yes. Run one location per run, or add several search terms that each include their place, e.g. dentist in Austin and dentist in Dallas. Places are de-duplicated across search terms.
How can I increase the speed of the scraper?
Raise Parallel requests (up to 10). Turning off the emails add-on also makes runs faster, because websites don't need to be visited.
Can I use Google Maps Scraper to extract Google reviews?
Each place includes its rating (totalScore), review count (reviewsCount) and a reviewsUrl. Full review text is not extracted yet.
Can I integrate Google Maps Scraper with other apps?
Yes. It works with Make, Zapier, n8n, Google Sheets, Airbyte, Slack, GitHub and any tool that accepts webhooks, through Apify integrations.
Can I use Google Maps Scraper as an API?
Yes. Start runs and fetch results with the Apify API. This makes it a Google Maps data API that you can call from any app.
Can I use this Google Maps Scraper API in Python?
Yes, with the apify-client package:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("acebuilds/google-maps-scraper").call(run_input={"searchStringsArray": ["plumber"],"locationQuery": "Chicago, IL","maxCrawledPlacesPerSearch": 200,})for place in client.dataset(run["defaultDatasetId"]).iterate_items():print(place["title"], place["phone"], place.get("website"))
Why did I get fewer places than my maximum?
The area may have fewer matching businesses, or your filters removed some. The run's OUTPUT record shows how many places each filter removed and whether Google blocked any request.
Is it legal to scrape Google Maps data?
Google Maps Scraper collects only publicly visible business information. If your results include personal data, such as owner names or personal emails, you must comply with GDPR, CCPA and similar laws, and use the data only for legitimate purposes. If you're unsure, ask a lawyer.
Your feedback
Found a bug or missing a field? Open an issue on the Issues tab, and it will be looked at quickly.