Google Maps Scraper – Places, Phones, Emails & Websites
Pricing
from $1.00 / 1,000 places
Google Maps Scraper – Places, Phones, Emails & Websites
Scrape Google Maps places without login or browser: name, category, address, phone, website, rating, review count, hours and coordinates. Optional emails and social profiles from each business website, filters for leads (no website, min rating) and new-places monitoring.
Pricing
from $1.00 / 1,000 places
Rating
0.0
(0)
Developer
Smoldesk Studios
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Security
Limited permissionsShare

Scrape Google Maps places for any search and location: name, categories, full address, phone (local and international), website, rating, review count, opening hours, coordinates, place ID and a Maps link. Turn on Find emails & social profiles and the Actor also visits each business website and adds emails, Facebook, Instagram, LinkedIn, X, TikTok, YouTube and WhatsApp links and extra phone numbers, charged only when it finds something. Built for lead lists: filter by rating, review count, phone, category or businesses without a website, and schedule it to get only new places. No login, no API key, no browser, so runs are fast and cheap.
Honest note before you start: this Actor is for places and contacts. Without signing in, Google Maps shows only the top 5 reviews per place, so that's all it can add. If you need a place's full review history, use a dedicated reviews scraper.
What you can use it for
- Lead generation: dentists, plumbers, gyms or restaurants in a city, with phone, website and email in one sheet.
- Web design and SEO agencies: find local businesses without a website or with a low rating.
- Market research: how many coffee shops, clinics or car dealers are in each area, and how they're rated.
- New business alerts: schedule a search with Only new places and get businesses that just appeared on Maps.
- Data enrichment: coordinates, opening hours, categories and place IDs for a list of business types.
How to scrape Google Maps
- Create a free Apify account and open this Actor.
- In What to search for, type business types the way you'd search on Google Maps (
dentist,coffee shop,Starbucks). - In Where, add one or more cities, neighborhoods or postcodes. Every term is searched in every location.
- Set Max places per search. Google shows about 120 places per search; switch on Split big areas to get more.
- Optional: switch on Find emails & social profiles, set filters (rating, reviews, website, phone, category), or Top reviews.
- Click Start. Download the results as CSV, Excel or JSON, or read them through the API.
- To monitor an area, save the input as a task, switch on Only new places and schedule it daily or weekly.



Tips:
- Neighborhoods beat whole countries.
dentist in Brooklyn+dentist in Queensfinds more thandentist in New York. Split big areas does this for you with a 3×3 grid (or 9×9 with 2 levels). - Places found by more than one search are saved once and charged once.
- Filtered-out places are free. Only places you get are charged.
- Only new places checks the same top places each run (your Max places per search, or every place Google lists when it's 0). The first run saves them all as the starting point; later runs save only places that weren't there before.
Output
One item per place (real record, shortened):
{"placeId": "ChIJb5gBC-u0RIYRHkntaUcdJGs","cid": "7720327853776914718","name": "ATX Family Dental","category": "Dentist","categories": ["Dentist", "Cosmetic dentist", "Dental clinic", "Emergency dental service", "Pediatric dentist"],"address": "1700 S 1st St, Austin, TX 78704, United States","neighborhood": "Bouldin Creek","street": "1700 S 1st St","city": "Austin, TX, United States","countryCode": "US","latitude": 30.2482229,"longitude": -97.7559705,"rating": 4.9,"reviewsCount": 918,"phone": "+1 512-717-3147","phoneInternational": "+1 512-717-3147","website": "https://www.atxfamilydental.com/","domain": "atxfamilydental.com","businessStatus": "OPERATIONAL","openingHours": [{"day": "Monday", "hours": "8 am–5 pm"}, {"day": "Tuesday", "hours": "8 am–5 pm"}],"timezone": "America/Chicago","claimedByOwner": true,"imageUrl": "https://lh3.googleusercontent.com/…","googleMapsUrl": "https://www.google.com/maps/place/?q=place_id:ChIJb5gBC-u0RIYRHkntaUcdJGs","searchQuery": "dentist in Austin, TX","emails": ["info@atxfamilydental.com"],"socialProfiles": {"instagram": ["https://www.instagram.com/atxfamilydental"]},"websitePhones": ["(512) 717-3147"],"contactsNote": null,"topReviews": [{"author": "Mackenzie Eveland Smith","authorReviewCount": 137,"rating": 5,"text": "Today I took my toddler for her first dentist appt and honestly was dreading it but it turned out to be the best experience…","publishedAgo": "Edited 2 months ago","publishedAt": "2026-08-11T17:28:11.679612+00:00"}],"scrapedAt": "2026-11-06T20:28:03.732083+00:00"}
emails, socialProfiles, websitePhones and contactsNote appear when Find emails & social profiles is on; contactsNote says why nothing was found (no website, website answered HTTP 403, website is a social profile). topReviews appears when Top reviews is on. The dataset has three views: Places, Leads (contacts) and Top reviews.
Input examples
Dentists in two cities with emails, only well-rated ones:
{"searchTerms": ["dentist"],"locations": ["Austin, TX", "Dallas, TX"],"maxPlacesPerSearch": 100,"scrapeContacts": true,"minRating": 4}
Restaurants without a website, whole city (split into smaller areas):
{"searchTerms": ["restaurant"],"locations": ["Manchester, UK"],"maxPlacesPerSearch": 0,"splitArea": true,"website": "withoutWebsite","requirePhone": true}
A search URL copied from Google Maps (the map area in the URL is used):
{"searchUrls": ["https://www.google.com/maps/search/pizza/@40.7306,-73.9866,14z"],"maxPlacesPerSearch": 60}
Pricing
Pay per result, with a lower price on bigger Apify plans. Filtered-out, duplicate and already-seen places are free.
| Event | Free plan | Starter | Scale | Business |
|---|---|---|---|---|
| Place | $2.00 / 1,000 | $1.50 / 1,000 | $1.20 / 1,000 | $1.00 / 1,000 |
| Contact details found (only when an email or social profile is found) | $2.00 / 1,000 | $1.50 / 1,000 | $1.20 / 1,000 | $1.00 / 1,000 |
| Top review (up to 5 per place) | $0.40 / 1,000 | $0.30 / 1,000 | $0.25 / 1,000 | $0.20 / 1,000 |
| Actor start | $0.00005 | $0.00005 | $0.00005 | $0.00005 |
Examples on the Free plan: 1,000 places = $2.00. 1,000 places with contacts, where about half the websites give an email or social profile (what we measured for restaurants in Austin) = $2.00 + $1.00 = $3.00. Add 5 top reviews each = +$2.00.
Proxy and compute are included. Set Maximum cost per run in the run options and the Actor stops before going over it.
Use with AI agents (Claude, ChatGPT, Cursor, MCP)
Add the Actor as a tool through the Apify MCP server: https://mcp.apify.com?tools=smoldesk/google-maps-scraper. In Claude Desktop, Claude Code, Cursor or VS Code, add this to your MCP config (you sign in to Apify in the browser on first use, or put your API token in a headers → Authorization: Bearer <APIFY_TOKEN> field instead):
{"mcpServers": {"google-maps": {"url": "https://mcp.apify.com?tools=smoldesk/google-maps-scraper"}}}
Or let the Apify CLI write it for you: apify mcp install cursor --tools smoldesk/google-maps-scraper (also claude-code, vscode, codex). Then paste this into your agent's system prompt or tool notes:
Tool: smoldesk/google-maps-scraper (Google Maps Scraper, Apify)Use it when: the user wants local businesses from Google Maps for a search and place (e.g. "dentists in Austin"): name, category, address, phone, website, rating, review count, opening hours, coordinates, and optionally emails and social profiles from their websites. Good for lead lists, "businesses without a website", market counts and new-business monitoring. No login needed.Don't use it when: the user needs a place's full review history (only the top 5 reviews are available), popular times, or data behind a Google sign-in.How to call: run the Actor with JSON input and read the dataset items. Results cost money per item, so keep maxPlacesPerSearch small unless the user asks for more.Example input: {"searchTerms": ["dentist"], "locations": ["Austin, TX"], "maxPlacesPerSearch": 20, "scrapeContacts": true}
Questions an agent can answer with it:
- Find 50 plumbers in Leeds with a phone number and an email.
- Which restaurants in Shoreditch have no website?
- How many gyms in Kuala Lumpur are rated 4.5 or higher?
Use with AI (LangChain / LlamaIndex / CrewAI)
With LangChain (pip install langchain-apify):
from langchain_apify import ApifyWrapperfrom langchain_core.documents import Documentapify = ApifyWrapper() # reads APIFY_API_TOKENloader = apify.call_actor(actor_id="smoldesk/google-maps-scraper",run_input={"searchTerms": ["coworking space"], "locations": ["Lisbon"], "maxPlacesPerSearch": 40},dataset_mapping_function=lambda v: Document(page_content=f"{v['name']} — {v.get('category')}, {v.get('address')}. Rated {v.get('rating')} "f"({v.get('reviewsCount')} reviews). Phone {v.get('phone')}. Website {v.get('website')}.",metadata={k: v.get(k) for k in ("placeId", "latitude", "longitude", "googleMapsUrl")},),)docs = loader.load()
Already have a run? Use ApifyDatasetLoader(dataset_id="<run's dataset ID>", dataset_mapping_function=...). LlamaIndex: ApifyActor from llama-index-readers-apify. CrewAI: use the Apify MCP server above.
Limitations
- Reviews: top 5 per place only. Google Maps shows the full review list only to signed-in users, and this Actor doesn't sign in. For a place's full review history, use a dedicated reviews scraper.
- About 120 places per search. That's Google's own limit. Use more specific locations or Split big areas to go past it.
- Emails come from the business's own website (homepage plus up to 2 contact/about pages). Businesses that list no email there, block bots (some answer HTTP 403) or show the email only as an image have none. In our Austin restaurant test, about half the websites gave an email or social profile. Emails are not verified.
- Not included: popular times, menus, photos beyond the main image, Q&A, owner replies, review history.
businessStatusrelies on Google's "Permanently closed" / "Temporarily closed" labels. Places Google hasn't marked yet show asOPERATIONAL.
FAQ
Is there a Google Maps API? Yes, Google's Places API, which needs a billing account and charges per request. This Actor reads the public Google Maps pages instead, so you pay only per place.
How do I get more than 120 results from Google Maps? Split the search into smaller areas: list neighborhoods or postcodes in Where, or switch on Split big areas (3×3 grid; 2 levels = up to 81 areas).
Can I find businesses without a website? Yes: set Website filter to Only places WITHOUT a website, and Only places with a phone number if you want to call them.
How are emails found? The Actor opens the website listed on Maps, reads the homepage and up to 2 contact/about pages, and collects mailto: links, emails in the text, social profile links and tel: links. Already have a list of websites? Contact Details Scraper reads up to 10 pages per site, checks each email's domain and accepts a Google Maps Scraper dataset as input.
Do I need a login, cookies or proxies? No. It uses no Google account. It runs from Apify's servers and switches to Apify datacenter proxy on its own if Google slows it down. Residential proxies are never used.
Is it legal to scrape Google Maps? Business listings are public information shown without a login. You are responsible for how you use the data, especially for contacting people (GDPR, CAN-SPAM and similar rules). This Actor is not affiliated with Google.
Feedback
Found a bug or missing a field? Open an issue in the Issues tab. If the Actor saved you time, a short review on this page helps other people find it.
Code examples and a quick reference are also on GitHub: smoldesk/google-maps-scraper.
More Actors from Smoldesk Studios
- Contact Details Scraper: emails, phone numbers, social profiles and contact forms from any list of websites, with email domains checked and junk removed, charged only when contacts are found
- Career Site Jobs Scraper: live jobs from 12,000+ company career sites (Greenhouse, Lever, Workday, Ashby) with salary and seniority
- Shopify Store Analyzer: apps, contacts and products of any Shopify store
- Google Ads Transparency Scraper: every ad a competitor runs on Google Search, YouTube and Shopping — creatives, landing pages, countries, EU impressions and new-ad alerts
- Google Hotels Scraper: hotel prices for your dates in any currency, ratings, review aspects and booking-site prices, worldwide
- Google Hotels Price Calendar: the cheapest nightly rate for every check-in date up to a year ahead, for any hotel, with taxes and booking-site prices
- Google Trends Scraper: interest over time, by region and city, related queries and Trending now — no API key
- YouTube Scraper: videos, Shorts, channels and comments from search, channels and playlists — exact views, likes, publish dates and durations, no API key
- YouTube Comments Scraper: comments and replies from videos, channels, playlists or keyword searches, with likes, pinned/hearted flags and authors
- YouTube Channel Scraper: subscribers, exact total views, join date, country and social links of any channel, plus its latest videos
- Tennis Scraper: results, fixtures and betting odds for ATP, WTA, Challenger and ITF, with H2H and rankings
- SEEK, JobStreet & JobsDB Scraper: jobs and salaries across Australia and Southeast Asia
- Telegram Channel Scraper: public channel posts, views, reactions and subscribers
- Substack Scraper: newsletters, subscriber counts and posts
- Weibo Scraper: keyword and hashtag search, posts, comments, profiles and the hot-search board from China's biggest microblog, no login
- WeChat Articles Scraper: WeChat Official Account (公众号) articles from keyword search, full text as Markdown, images, account IDs and publish dates, no login
- Toutiao Scraper: Toutiao (今日头条) news search with date ranges, reads and likes, comments and the hot board (热榜), no login
- Bilibili Scraper: videos, stats, danmaku, comments and creators from China's video site, no login