Google Maps Scraper - Leads With Phone & Website, No API Key
Pricing
from $1.50 / 1,000 places
Google Maps Scraper - Leads With Phone & Website, No API Key
Businesses from Google Maps for any search and location: name, category, rating, phone, website, full address, coordinates, place ID. No Google API key. Optional emails and social profiles from each website. Past the 180-results limit, only-new mode.
Pricing
from $1.50 / 1,000 places
Rating
0.0
(0)
Developer
Ken Digital
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Businesses from Google Maps as clean rows for any search and location: name, category, rating, phone, website, full address with postcode, coordinates, Google place ID, and today's opening status. No Google API key, no account, no setup. Turn on Find emails and social profiles to also visit each business's website for email addresses and Facebook, Instagram, LinkedIn, X, YouTube and TikTok links.
Google Maps shows at most about 180 places for one search. When you ask for more, this actor searches the map area by area, so a whole city comes back, not just the first page of results.
- Lead-ready: 100% of places carry a phone number when Google has one, 90%+ a website.
- No API key: no Google Cloud project, no billing account, no quota.
- Any country, any language:
plombierinLyon,dentistinAustin, TX,ZahnarztinMünchen. - Filters: minimum rating, only places with a phone, only places with a website.
- Only new places remembers what earlier runs delivered, so scheduled runs return and bill only new businesses.
Quick start
{"searchTerms": ["plumber", "electrician"],"locations": ["Austin, TX", "Dallas, TX"],"maxPlacesPerSearch": 500,"onlyWithPhone": true,"scrapeContacts": true}
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchTerms | array | required | Business types or names, as typed in Google Maps. |
locations | array | Cities, neighborhoods, postcodes, regions. Each term is searched in each location. | |
maxPlacesPerSearch | integer | 100 | Per term and location. 0 = every place found, area by area (up to 5,000). |
language | string | en | Language of categories and opening status. |
minRating | number | Skip places rated below this. | |
onlyWithPhone / onlyWithWebsite | boolean | false | Skip places without a phone / website. |
scrapeContacts | boolean | false | Emails and social profiles from each website. |
onlyNewPlaces | boolean | false | Return only places not delivered by earlier runs of the same search. |
Output
{"placeId": "ChIJf5afhV5LW4YRy--94BL_3jg","cid": "4097993167498768331","url": "https://www.google.com/maps/place/?q=place_id:ChIJf5afhV5LW4YRy--94BL_3jg","name": "South Austin Dentist","category": "Dentist","categories": ["Dentist"],"rating": 4.9,"address": "3901 S Lamar Blvd Ste 480, Austin, TX 78704","street": "3901 S Lamar Blvd Ste 480","neighborhood": "South Lamar","city": "Austin","postalCode": "78704","state": "Texas","countryCode": "US","latitude": 30.2372985,"longitude": -97.7902045,"phone": "(737) 437-3801","phoneInternational": "+17374373801","website": "http://southaustindentisttx.com/","domain": "southaustindentisttx.com","openingStatus": "Closed · Opens 8 AM Mon","timezone": "America/Chicago","emails": ["hello@example-dentist.com"],"facebook": "https://www.facebook.com/exampledentist","instagram": null,"linkedin": null,"searchTerm": "dentist","searchLocation": "Austin, TX","scrapedAt": "2026-10-11T10:00:00+00:00"}
Email and social fields are filled only with Find emails and social profiles on, and only when the business publishes them on its website.
Not included: review counts, review texts and weekly opening hours. Google hides them from visitors who are not signed in, so no keyless scraper gets them reliably.
Pricing
Pay per event: place for each business row, plus contact-details for each place whose website was visited for emails and social profiles, plus a tiny actor-start fee. With Only new places on, a run with nothing new costs only the start fee.
Use cases
- Lead generation: every plumber, dentist, restaurant or agency in your territory, with phone, website and email
- Sales prospecting: businesses without a website (
website: null) for web agencies, low-rated businesses for reputation services - Market mapping: competitors and their density by city, neighborhood or postcode
- Data enrichment: Google place IDs and coordinates for your own list of businesses
Integrations
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("joyouscam35875/google-maps-scraper").call(run_input={"searchTerms": ["coffee shop"],"locations": ["Lisbon, Portugal"],"maxPlacesPerSearch": 0,"scrapeContacts": True,})for place in client.dataset(run["defaultDatasetId"]).iterate_items():print(place["name"], place["phone"], place["website"], place.get("emails"))
Works with Make, Zapier, n8n, Google Sheets, schedules and webhooks, and as an MCP tool for AI agents.
FAQ
How does it get past ~180 results? Google lists about 180 places for one search. When a search is that full, the actor searches the same area in four smaller map views, and splits busy views again, then removes duplicates.
Do I need a Google API key? No. The old version of this actor needed one; it is ignored now.
What if my run has a short timeout? The actor stops shortly before it, keeps every place already saved, and ends successfully with a message saying so.
Is it legal? The actor reads publicly visible business listings and public websites. You are responsible for how you use the data, including the GDPR and anti-spam rules when you contact businesses.
Feedback
Missing a field or a filter? Open an issue on the actor's Issues tab. If this scraper saved you time, a short review on the Store page helps other people find it.
Related actors by the same developer
| Actor | What it does |
|---|---|
| Indeed Jobs Scraper | Indeed jobs with full descriptions in 23 countries |
| Leboncoin Scraper | Ads from any Leboncoin category |
| Amazon Scraper | Search results and product details, 17 countries |