Pricing
from $1.10 / 1,000 results
Google Maps B2B Leads & Reviews Scraper
Extract Google Maps business leads, contact details, ratings, locations, and optional review rows for sales, research, and local SEO.
Pricing
from $1.10 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
8
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
Google Maps B2B Leads & Reviews Scraper helps sales, marketing, research, and local SEO teams collect structured Google Maps business leads, contact details, ratings, locations, and optional review rows from Google Maps search results.
At a glance: input examples are category plus location searches such as plumbers in Chicago; output examples are business rows and optional review rows; use cases include lead generation and local SEO research; limitations, troubleshooting, and pricing/cost notes are covered below.
Enter searches such as plumbers in Chicago, dentists near Miami, or marketing agencies in Austin. The Actor opens Google Maps, collects matching business listings, visits each listing, and writes clean rows to the default dataset while the run is still in progress.
Use it when you want a simple Google Maps lead list without configuring dozens of advanced scraping options. Keep review extraction off for the lowest-cost business list, or turn it on when review text is part of your research.
Main Use Cases
- Build local B2B lead lists by city, category, or service area
- Enrich CRM records with business names, websites, phones, addresses, ratings, and Maps URLs
- Compare local competitors across neighborhoods or regions
- Collect review text for reputation research when review extraction is enabled
- Track which search query produced each business lead
Why Use This Actor
- Simple input: search terms, number of businesses, optional reviews, and language
- Lead-focused output with fields sales and local SEO teams usually need first
- Business rows and review rows in one dataset, linked by
businessId - Results are saved while the run is still in progress
- Built-in deduplication for repeated search queries and repeated review rows
- Guardrails for low-memory runs so expensive timeout-prone jobs fail fast with a clear message
Data Extracted
Business rows include:
| Field | Description |
|---|---|
type | Always business for lead rows |
businessId | Stable ID used to connect business and review rows |
businessName | Business name shown on Google Maps |
category | Primary category when visible |
rating | Average star rating |
reviewCount | Total visible review count |
websiteUrl | Direct website URL when available |
phoneNumber | Phone number when available |
fullAddress | Full street address when available |
googleMapsUrl | Direct Google Maps listing URL |
latitude, longitude | Coordinates parsed from the Maps URL |
plusCode | Google Plus Code when visible |
cid, placeId | Google listing identifiers when available |
isClaimed | Whether the listing appears claimed |
isClosed | Closed status when Google shows one |
searchQuery | The search that produced the row |
When review extraction is enabled, review rows include:
| Field | Description |
|---|---|
type | Always review for review rows |
businessId | Links the review to the matching business row |
businessName | Business name |
searchQuery | Search that produced the business |
googleMapsUrl | Business listing URL |
reviewerName | Reviewer name when visible |
reviewerRating | Reviewer star rating when visible |
reviewText | Review text when visible |
publishDate | Relative or absolute date shown by Google |
Input Settings
| Field | Description |
|---|---|
searchQueries | One or more Google Maps searches. Duplicate searches are ignored automatically. Maximum 50 unique searches per run. |
maxPlacesPerQuery | Maximum businesses to collect for each search. Default is 1, maximum is 100. Smaller runs are cheaper and easier to retry. |
includeReviews | Set to true to collect review rows. Review extraction is slower and can cost more because Google may restrict review depth. |
reviewsPerBusiness | Maximum reviews to collect per business when reviews are enabled. Use 100 for larger review jobs. Maximum is 500. |
language | Google Maps interface language code. Default is en. |
Example Searches
roofers in Phoenix Arizonadentists in Miami FloridaHVAC contractors in Dallas Texascoffee shops in Cape Townmarketing agencies in Austin
Example Input
{"searchQueries":["coffee shop in Constantia Cape Town"],"maxPlacesPerQuery":1,"includeReviews":false,"language":"en"}
For a review-focused run, use:
{"searchQueries":["Starbucks Reserve Roastery New York 61 9th Ave"],"maxPlacesPerQuery":1,"includeReviews":true,"reviewsPerBusiness":100,"language":"en"}
Example Output
Business row:
{"type":"business","businessId":"ChIJifIePKtZwokRVZ-UdRGkZzs","businessName":"Joe's Pizza","category":"Pizza restaurant","rating":4.8,"reviewCount":1245,"priceLevel":"$$","fullAddress":"7 Carmine St, New York, NY 10014","websiteUrl":"https://www.joespizza.com","phoneNumber":"+1 212-555-0123","plusCode":"P2XF+4M New York","isClaimed":true,"isClosed":null,"googleMapsUrl":"https://www.google.com/maps/place/...","latitude":"40.7306","longitude":"-73.9996","cid":null,"placeId":"ChIJifIePKtZwokRVZ-UdRGkZzs","searchQuery":"pizza in New York"}
Review row:
{"type":"review","businessId":"ChIJifIePKtZwokRVZ-UdRGkZzs","businessName":"Joe's Pizza","searchQuery":"pizza in New York","googleMapsUrl":"https://www.google.com/maps/place/...","reviewerName":"Alice Smith","reviewerRating":5,"reviewText":"The best slice in the city.","publishDate":"2 weeks ago"}
How To Run
- Open the Actor on Apify.
- Add one or more search queries.
- Choose how many businesses to collect per query.
- Leave review extraction off for the lowest-cost lead list, or enable it when reviews are needed.
- Start the run.
- Open the default dataset to preview, filter, or export the results.
Exporting Results
Results are written to the default dataset during the run. You can export them from Apify as JSON, CSV, Excel, XML, RSS, or HTML. Use the type field to separate business rows from review rows after export.
Python API Example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run_input ={"searchQueries":["coffee shop in Constantia Cape Town"],"maxPlacesPerQuery":1,"includeReviews":False,"language":"en",}run = client.actor("thescrapelab/Apify-Google-Maps-B2B-Extractor").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Limits And Caveats
- Google Maps can throttle, block, or change what it shows to automated browsers.
- Some listings hide websites, phone numbers, addresses, or reviews.
- Review extraction can be slower and less predictable than business extraction.
- Google may expose fewer review rows than requested for a listing or session.
- The same business can appear for different searches. The
searchQueryfield is preserved so you can decide how to deduplicate later. - Very broad searches can produce weaker leads. Specific category plus city searches usually work best.
- The Actor does not extract email addresses or enrich data from third-party APIs.
Troubleshooting
| Problem | What to try |
|---|---|
| No businesses returned | Use a more specific category and location, for example plumbers in Chicago instead of businesses. |
| Run is slow | Lower maxPlacesPerQuery, keep includeReviews off, or split many searches into smaller runs. |
| Review rows are missing | Google may not expose the review panel for that session or listing. If the run says Google served a limited Maps view, reviews were not available to the browser session. |
| Duplicate-looking businesses | Export the dataset and deduplicate by businessId, placeId, cid, or googleMapsUrl depending on your workflow. |
| Costs are higher than expected | Keep review extraction off, use smaller limits, and split large jobs into smaller batches. Use 1024 MB for normal runs; 512 MB is only suitable for tiny lead-only smoke tests. |
| Run stops immediately on 512 MB | Increase memory to 1024 MB, or reduce the run to at most three lead-only business pages. Stress tests showed larger 512 MB lead runs spend more time and money on timeouts, and review runs hit memory overload. |
Pricing
This Actor is intended for simple per-result pricing on Apify. Business rows and review rows are written as dataset items, so the final bill depends mainly on how many rows are saved and whether review extraction is enabled.
For the lowest-cost runs:
- Keep
includeReviewsturned off. - Use specific category + location searches.
- Keep
maxPlacesPerQuerymodest for first tests. - Split very large lead lists into several smaller runs.
Review extraction uses more browser time and may use residential proxy traffic, so it can cost more than business-only extraction.
FAQ
Can I scrape Google Maps business leads?
Yes. Provide business category and location searches, and the Actor returns structured Google Maps business rows.
Does this Google Maps scraper extract emails?
No. It extracts Maps-visible business data such as website, phone, address, rating, reviews, coordinates, and listing URLs. It does not crawl business websites for emails.
Can I get Google Maps reviews?
Yes. Enable includeReviews and set reviewsPerBusiness to the maximum number of reviews you want per listing. Review extraction is slower and may return fewer rows if Google limits or hides the review panel.
How do I avoid duplicate Google Maps leads?
Use businessId, placeId, cid, or googleMapsUrl when deduplicating exports. Duplicate search queries are removed automatically before crawling.
What is the cheapest way to run this Actor?
Keep includeReviews off, use specific searches, keep maxPlacesPerQuery modest, and split very large jobs into several smaller runs.
Is this Actor suitable for local SEO research?
Yes. It preserves the original searchQuery, ratings, review counts, categories, and Maps URLs, which are useful for local SEO and competitor analysis.
Can I scrape businesses from multiple cities?
Yes. Add multiple searches such as plumbers in Chicago, plumbers in Dallas, and plumbers in Phoenix. Each output row keeps the original searchQuery.
Can I export Google Maps leads to CSV or Excel?
Yes. Open the default dataset after the run and export the results as CSV, Excel, JSON, XML, RSS, or HTML.
Why did I receive fewer reviews than requested?
Google may limit or hide the review panel for the current browser session. The Actor saves every review row it can access, but it does not guarantee that Google will expose the full review history.
Last Tested
Last cloud smoke test: June 13, 2026. The test saved a business row successfully on the latest Actor version 1.22 build.
Responsible Use
Use the extracted data in line with Google Maps terms, applicable privacy laws, outreach rules, and your own compliance requirements.
