Google Maps Scraper 💰$0.80/1K – Business Leads, Emails, Phones
Pricing
from $0.50 / 1,000 places
Google Maps Scraper 💰$0.80/1K – Business Leads, Emails, Phones
Extract businesses from Google Maps: name, category, address, phone, website, rating, reviews count, opening hours, GPS, photos. Deep search covers whole cities, optional emails and social links from websites. Same fields as the most popular Google Maps scraper, $0.80 per 1,000 places.
Pricing
from $0.50 / 1,000 places
Rating
0.0
(0)
Developer
RT SOLUTIONS
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
3
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Google Maps Scraper – Business Leads, Emails & Phones
Extract businesses from Google Maps for any search and location: name, category, full address, phone, website, rating, reviews count, rating distribution, opening hours, GPS coordinates, photos, "claim this business" status, place ID and Maps link. Optional: emails and social profiles (Facebook, Instagram, LinkedIn, X, YouTube, TikTok, Pinterest) read from each business website.
$0.80 per 1,000 places — 5× cheaper than the most popular Google Maps scraper — with the same output field names, so you can switch without changing your integration. No start fee, no blocked runs (licensed Google Maps data), pay only for places delivered.
What is Google Maps Scraper?
Google's own Places API is priced per request and caps results. This Actor returns the same business listings you see on Google Maps — through a licensed Google Maps data provider (DataForSEO), so runs are not blocked by captchas — and, if you want, visits each business website to collect emails and social profiles. One row per place, in JSON, CSV or Excel, ready for a CRM or a cold-outreach tool.
Why this one
- Deep search splits a city into tiles to go beyond Google's ~150-200 results per search: Paris "restaurant" with 5×5 tiles → 3,000 unique places in under a minute.
- Lead filters: minimum rating, only with / without website (sell websites to businesses that have none), category words, skip closed places.
- Contacts: 200 roofing contractors in Dallas → 95 emails and 105 social profiles in 2.5 minutes.
- Same field names as the most popular Google Maps Actor (
title,categoryName,totalScore,reviewsCount,placeId…). - Any country and language, non-Latin searches (寿司, مطعم) included.
What data can Google Maps Scraper extract?
| Field | Example | Notes |
|---|---|---|
title, categoryName, categories | Austin Plumbery, Plumber | |
address, street, neighborhood, city, postalCode, state, countryCode | 145 Lloyd St S, Fallowfield, Manchester M14 7LA | Service-area businesses (plumbers, cleaners…) often hide their street address on Google |
phone, phoneUnformatted | +1512-766-1519 | |
website, domain | http://www.austinplumbery.com/ | |
totalScore, reviewsCount, reviewsDistribution | 4.8, 228 | Rating, number of reviews, stars breakdown |
price | $$ | Price level when shown |
location | {lat, lng} | GPS |
placeId, cid, url | Google identifiers and Maps link | |
openingHours, openNow | ||
permanentlyClosed, temporarilyClosed | ||
claimThisBusiness | true | The owner has not claimed the listing — a strong local-SEO lead |
imageUrl, imagesCount, bookingUrl | ||
searchString, rank | Search that produced the row and position | |
With contacts: emails, phones, facebooks, instagrams, linkedIns, twitters, youtubes, tiktoks, pinterests | ["hello@austinplumbery.com"] | Read from the business website (home + contact page) |
How much does it cost to scrape Google Maps?
| Event | Free plan (trial) | Starter | Scale | Business+ |
|---|---|---|---|---|
| Place | $0.0008 | $0.0007 | $0.0006 | $0.0005 |
| Contact details (only when at least one email or social profile is found) | $0.002 | $0.002 | $0.002 | $0.002 |
- Paid Apify plans: no key needed, no limit. 10,000 places = $7 on Starter, $6 on Scale, $5 on Business; contacts add $0.002 only for places where an email or social profile is found.
- Apify free plan: one free trial run (1 search, 50 places, contacts included). After that, add your own DataForSEO login in the "Apify free plan" section: places are then free here — you pay DataForSEO directly for them (they give $1 of free credit at sign-up). If you turn on contacts, the contact-details event ($2 per 1,000 places where contacts are found) is still charged, because the website visits run on this Actor, not on DataForSEO.
- Places filtered out or returned twice are never charged. Set a maximum cost per run and the Actor stops there.
Real runs — 3 November 2026
| Job | Places | Run time | What we got |
|---|---|---|---|
plumber in Austin, Texas, 100 places, with contacts | 100 | 74 s | phone 99, website 91, emails 47, social profiles 71, rating 98, opening hours 99, unclaimed listings 8 |
hair salon in Manchester, United Kingdom, rating ≥ 4, only without website | 68 | 32 s | phone 61, website 0 (as requested), unclaimed listings 22 |
The second run is the classic web-design-agency lead list: 68 well-rated salons with a phone number and no website. Price for both runs on a paid plan: 168 places + 47–71 contact rows ≈ $0.25.
Bulk example
5,000 restaurants in a capital city with Deep search 5 and contacts: ~5,000 × $0.0007 + ~2,500 × $0.002 ≈ $8.50 on Starter.
Price compared with other Google Maps Actors — 31 October 2026
Main-event prices listed on the Apify Store that day (per place):
| Actor | Monthly users (31 Oct) | Listed price per 1,000 places |
|---|---|---|
| compass/crawler-google-places | 46,606 | $4.00 |
| lukaskrivka/google-maps-with-contact-details | 2,452 | $5.00 |
| compass/google-maps-extractor | 2,225 | $5.00 |
| scraperlink/google-maps-scraper | 879 | $0.50 |
| vortex_data/google-maps | 810 | $1.00 |
| scrapesage/google-maps-scraper | 160 | $1.50 |
| This Actor | new | $0.80 ($0.50 on Business) |
Who this is not for
- You need Google reviews text. Use Google Maps Reviews Scraper on the
placeId/urlvalues. - You need personal emails of employees or owners. Contacts come only from the business website (generic addresses like info@, hello@, bookings@ are the most common).
- You need every place of a whole country in one search. Use a city or region per search, and Deep search for large areas.
- You are on the free plan and do not want a DataForSEO account. After the free trial, a DataForSEO login (free credit at sign-up) or a paid Apify plan is required.
What's new
- 5 November 2026 — Contact details are now charged also when you use your own DataForSEO login (places stay free here in that case). Example and masked email addresses removed. New option Only places with an email (places without email dropped and not charged), also available as a dedicated Actor: Google Maps Email Extractor.
- 3 November 2026 — Cleaner contacts: technical Facebook links found in website code (
facebook.com/2008/fbml) are no longer returned as profiles. In-depth documentation: real runs, price comparison, clearer free-plan rules. - 1 November 2026 — FAQ, use cases and AI-agent (MCP) documentation.
- 31 October 2026 — Results in the native language of the location, deeper fetch when filters remove places, faster website contact collection (contact-page choice, per-site cache), case-insensitive category filter.
- 31 October 2026 — First release.
How to scrape Google Maps
- Open the Actor and click Try for free.
- Enter search terms (
plumber,italian restaurant,dentist…) and a location (Austin, Texas). - Set Max places per search; turn on Deep search (3–6) for big cities.
- Optionally filter: minimum rating, with / without website, category words, skip closed places.
- Turn on Contacts to get emails and social profiles.
- Click Start and export to JSON, CSV, Excel or HTML — or connect Google Sheets, a webhook, your CRM or your code.
Input examples
Leads with emails
{ "searchStringsArray": ["plumber", "electrician"], "locationQuery": "Austin, Texas", "maxCrawledPlacesPerSearch": 200, "scrapeContacts": true }
Businesses without a website (web-design leads)
{ "searchStringsArray": ["hair salon"], "locationQuery": "Manchester, United Kingdom", "website": "withoutWebsite", "placeMinimumStars": 4 }
A whole city with Deep search
{ "searchStringsArray": ["restaurant"], "locationQuery": "Paris, France", "deepSearch": 5, "maxCrawledPlacesPerSearch": 3000, "skipClosedPlaces": true }
Only one category, well rated
{ "searchStringsArray": ["dentist"], "locationQuery": "Toronto, Canada", "categoryFilterWords": ["dentist"], "placeMinimumStars": 4.5 }
Non-English searches
{ "searchStringsArray": ["مطعم"], "locationQuery": "Dubai", "language": "ar" }
From a Google Maps search link
{ "startUrls": ["https://www.google.com/maps/search/pizza/@40.71,-74.00,14z"] }
The map area of the link is used.
Input reference
| Field | Type | Default | Description |
|---|---|---|---|
searchStringsArray | list | ["plumber"] | What you would type in Google Maps, one per line. |
locationQuery | text | Austin, Texas | City, region or country. |
maxCrawledPlacesPerSearch | number | 100 | Up to ~150-200 per normal search; more with Deep search. |
deepSearch | number | 0 | Grid of tiles: 3 = 3×3, 5 = 5×5 (≈ up to 25× more). Duplicates removed. |
language | text | en | Language of results. |
placeMinimumStars | number | 0 | Minimum Google rating. |
website | choice | allPlaces | allPlaces, withWebsite, withoutWebsite. |
categoryFilterWords | list | Keep places whose category contains one of these words. | |
skipClosedPlaces | yes/no | no | Skip permanently / temporarily closed places. |
scrapeContacts | yes/no | no | Emails and social profiles from each website (charged only when found). |
startUrls | list | Google Maps search links. | |
dataForSeoLogin / dataForSeoPassword | text | Only for the Apify free plan after the trial; places are then not charged here (contact details still are). |
Output example
{"title": "Austin Plumbery","categoryName": "Plumber","phone": "+1512-766-1519","website": "http://www.austinplumbery.com/","totalScore": 4.8,"reviewsCount": 228,"claimThisBusiness": false,"openingHours": [{ "day": "Monday", "hours": "7 AM to 6 PM" }, { "day": "Tuesday", "hours": "7 AM to 6 PM" }],"placeId": "ChIJb38Aygy0RIYRl5xtKBp-Tjs","url": "https://www.google.com/maps?cid=4273491747233701015","emails": ["hello@austinplumbery.com"],"facebooks": ["https://www.facebook.com/AustinPlumbery"],"instagrams": ["https://www.instagram.com/austinplumbery"],"searchString": "plumber"}
Use cases
- Lead generation: phones, websites, emails and social profiles of local businesses by category and city.
- Web design agencies: find businesses with no website using the "Only without website" filter.
- Local SEO agencies: ratings, reviews count, rating distribution and unclaimed listings ("claim this business").
- Market research: map businesses and competitors in an area with categories and GPS coordinates.
- CRM enrichment: add place IDs, addresses, opening hours and ratings to your existing lists.
- Franchise and retail expansion: count competitors per neighbourhood before opening a location.
Integrations and Google Maps API
Python:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("rt-solutions/google-maps-scraper-leads").call(run_input={"searchStringsArray": ["roofing contractor"], "locationQuery": "Dallas, Texas", "scrapeContacts": True,})for p in client.dataset(run.default_dataset_id).iterate_items():if p.get("placeId"):print(p["title"], p.get("phone"), ", ".join(p.get("emails") or []))
HTTP (one call, results in the response):
curl -X POST "https://api.apify.com/v2/acts/rt-solutions~google-maps-scraper-leads/run-sync-get-dataset-items?timeout=280" \-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \-d '{"searchStringsArray":["dentist"],"locationQuery":"Lisbon, Portugal","maxCrawledPlacesPerSearch":50}'
No-code: Make, n8n (HTTP Request node) and Zapier can call the same endpoint; Apify's Google Sheets integration pushes every run into a sheet; webhooks notify your system when a run finishes. Drop-in replacement: the field names match the most popular Google Maps Actor, so existing Make/Zapier mappings keep working.
Use with AI agents (MCP)
You can run this Actor from Claude, ChatGPT, Cursor or any other MCP client through the Apify MCP server (https://mcp.apify.com), using the Actor ID rt-solutions/google-maps-scraper-leads. Ask in plain language, for example: "Find 300 plumbers in Austin, Texas with at least 4 stars and a website, and get their emails." The agent starts the run and reads the results for you.
🤖 For AI Agents & LLM Apps
- What the tool does: returns Google Maps businesses for a search term and a location, optionally with website emails and social profiles.
- Minimal input:
{"searchStringsArray": ["<business type>"], "locationQuery": "<city, country>"}. - More results:
deepSearch3–6 for big cities. - Lead filters:
placeMinimumStars,website(withoutWebsitefor web-design leads),categoryFilterWords,skipClosedPlaces. - Output contract: one object per place with
placeId; rows withtype: "warning"contain no place and are free. - Cost guard:
maxCrawledPlacesPerSearch; cost = places × $0.0007 (Starter) + places with contacts × $0.002.
FAQ
How do I scrape Google Maps without the Google API? Enter search terms and a location (or paste a Google Maps search link) and start the run. The data comes from a licensed provider, so there are no blocked runs.
Is it legal? It returns public business listings through a licensed data provider and public website contact pages. You are responsible for respecting anti-spam and privacy laws (GDPR, CAN-SPAM) when contacting businesses.
How much does it cost to scrape 10,000 Google Maps places? $7 on Starter, $6 on Scale and $5 on Business. Contact details add $0.002 per place, only when at least one email or social profile is found (up to $20 more for 10,000 places).
Can I use it on the Apify free plan? Yes: one free trial run (1 search, 50 places). Then add your own DataForSEO login (free credit at sign-up) — with it, places are not charged here; only contact details are, if you turn them on.
How do I get more than 200 results per search? Turn on Deep search (3–6): it splits the area into tiles to go beyond Google's ~150-200 results per search.
Why are emails empty for some businesses? Contacts are read from the business website (home page + contact page). Places without a website, or whose site blocks visitors, give no contacts and are not charged for them. In the 3 November run, 47 of 100 plumbers had an email and 71 a social profile.
Why is the address empty for some places? Service-area businesses (plumbers, cleaners, mobile services) often hide their street address on Google Maps.
What does claimThisBusiness mean? The owner has not claimed the Google listing — a typical lead for local-SEO agencies.
Can I search in another language or country? Yes — any location, language code and non-Latin search terms.
Can I use my existing Google Maps integration? Yes — the field names match the most popular Google Maps Actor.
Can I export to CSV, Excel or Google Sheets? Yes — download from the run, or use the Google Sheets integration.
Can I schedule it? Yes. Save your input as a Task and add a schedule.
Need another field? Open an issue — we answer in writing within 24 h.
Limits
- One search (no deep search) returns up to ~150-200 places — Google's own limit. Use Deep search 3–6 for more.
- Locations are found with OpenStreetMap ("Austin, Texas", "Brooklyn", "Paris, France").
- Contacts come from the business website (home page + contact page); sites without a website or that block visitors give no contacts and are not charged for them.
- Apify free plan: one trial run, then your own DataForSEO login or a paid plan.
Run health
- 3 November 2026: 2 runs, 168 places, 0 errors, 0 failed runs (see "Real runs").
Your feedback
Missing a field or a wrong value? Open an issue in the Issues tab — we answer fast and ship fixes (see "What's new"). If the Actor saved you time, a short review helps other agencies and sales teams find it.