๐Ÿ“ Google Maps Scraper: Business Leads, Emails & Reviews avatar

๐Ÿ“ Google Maps Scraper: Business Leads, Emails & Reviews

Pricing

from $3.50 / 1,000 leads

Go to Apify Store
๐Ÿ“ Google Maps Scraper: Business Leads, Emails & Reviews

๐Ÿ“ Google Maps Scraper: Business Leads, Emails & Reviews

Extract business data from Google Maps with just a few clicks. Get business names, emails, phone numbers, addresses, reviews, ratings, social profiles, and hours. Export unlimited leads to CSV, Excel, or JSON for cold outreach, lead generation, and market research with no coding.

Pricing

from $3.50 / 1,000 leads

Rating

5.0

(4)

Developer

Hassan Amer

Hassan Amer

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

a day ago

Last modified

Share

๐Ÿ“ Google Maps Scraper: Extract Business Leads, Emails & Reviews

An ultra-fast, comprehensive Google Maps Scraper and Business Lead Extractor built for marketers, sales teams, agencies, and researchers. Extract business names, verified emails, phone numbers, addresses, reviews, ratings, social profiles, and opening hours from Google Maps listings across any city, region, or countryโ€”with zero coding and no 120-place result limits.


๐ŸŽฏ What is Google Maps Scraper?

Google Maps Scraper is an automated web data extraction tool that turns Google Maps into a rich, structured database of local business leads. Whether you need 50 local plumbers in Chicago or 50,000 restaurants across Germany, this Actor extracts all public data directly into spreadsheets, CSV, Excel, or JSON in minutes.

๐Ÿ’ผ Top Use Cases & Business Benefits:

  • ๐Ÿš€ B2B Lead Generation & Cold Outreach: Build hyper-targeted prospect lists with verified company emails, direct phone numbers, websites, and business addresses for cold email, cold calling, and direct mail campaigns.
  • ๐Ÿ“ˆ Competitor Intelligence & Benchmarking: Monitor competitors across cities, compare average ratings (totalScore), analyze review volumes, and track operational hours to identify market gaps.
  • ๐Ÿ” Local SEO & Citation Audits: Verify NAP (Name, Address, Phone) consistency, audit business categories, check claimed business statuses, and evaluate local map pack visibility.
  • ๐Ÿข Agency & Freelance Client Acquisition: Find local businesses with low ratings, missing websites, or unclaimed profiles to pitch marketing, website redesign, reputation management, and SEO services.
  • ๐Ÿ“Š Market Research & Site Selection: Analyze business density, restaurant saturation, popular times, and customer foot traffic patterns across target neighborhoods.

๐Ÿ“Š What Data Does Google Maps Scraper Extract?

Every scraped business profile is returned with complete, structured metadata:

Business InformationLocation & CoordinatesContact & Social DetailsReviews & Operations
๐Ÿข Business Name๐Ÿ“ Full Addressโ˜Ž๏ธ Phone Numberโญ๏ธ Average Star Rating
๐Ÿท๏ธ Main Category๐Ÿ›ฃ๏ธ Street Address๐Ÿ“ž Unformatted Phone๐Ÿ’ฌ Total Review Count
๐Ÿ—‚๏ธ Additional Categories๐Ÿ™๏ธ City & Neighborhood๐ŸŒ Website URL๐Ÿ“Š 1โ€“5 Star Distribution
๐Ÿ†” Place ID & CID๐Ÿ—บ๏ธ State & Postal Codeโœ‰๏ธ Company Emails๐Ÿ“ Customer Reviews Text
๐Ÿ”— Google Maps URL๐ŸŒ Country Code๐Ÿ“ธ Instagram Profile๐Ÿง‘โ€๐Ÿณ 7-Day Opening Hours
๐Ÿท๏ธ Price Bracket ($โ€“$$$$)๐ŸŒ Latitude & Longitude๐Ÿ‘ฅ Facebook PageโŒš Popular Times & Live Occupancy
๐Ÿ”’ Claimed / Verified Status๐Ÿงญ Plus Code๐Ÿ’ผ LinkedIn Profileโ™ฟ Wheelchair & Accessibility Info
๐Ÿšช Permanently/Temporarily Closed๐Ÿฌ Located Inside (Venue/Mall)๐Ÿฆ Twitter / X Profile๐Ÿ’ณ Accepted Payment Methods

๐Ÿš€ How to Scrape Google Maps in 3 Easy Steps

No technical skills, proxy setups, or browser extensions are required.

  1. Enter Search Keywords & Location: Type what you are looking for (e.g., Dentist, Roofing Contractor, Italian Restaurant) and where you want to find them (e.g., Austin, TX, Miami, FL, London, UK).
  2. Choose Your Data Options: Toggle email extraction on to find verified contact emails from business websites, or set the number of reviews to collect.
  3. Click "Start" & Export: Click Save & Start. Once complete, preview your data in the interactive table or export to CSV, Excel (XLSX), or JSON with one click.

โš™๏ธ Input Configuration & Parameters

The Actor interface provides intuitive fields for customizing your crawl:

1. searchTerms (Array of Strings - Required)

Enter the business types or keywords you want to search for.

  • Best Practice: Use distinct keyword categories (e.g., ["Dentist", "Orthodontist", "Dental Clinic"]).
  • Examples: ["Plumber"], ["Real Estate Agency"], ["Coworking Space"].

2. locations (Array of Strings - Required)

Specify target cities, counties, states, countries, or postal codes. You can provide multiple locations in a single run.

  • Examples: ["New York, NY"], ["Los Angeles, CA"], ["Toronto, Canada"], ["London, UK"].
  • Broad Search: You can enter an entire state or country (e.g., ["Texas, USA"]). The scraper automatically tiles across the region to capture all listings without hitting limits.

3. maxPlacesPerLocation (Integer - Optional)

The maximum number of places to extract per search query and location combination.

  • Leave empty or set to 0 to scrape all available businesses in the target area.

4. extractEmails (Boolean - Optional, Default: true)

When enabled, the scraper automatically visits the business's official website and candidate contact pages (/contact, /about, /team) to discover and verify direct email addresses and social media links. Includes built-in spam and font-file filters.

5. maxReviewsPerPlace (Integer - Optional, Default: 0)

Specify how many customer reviews to extract per business.

  • Set to 0 to skip reviews for maximum speed.
  • Set to 10, 50, or 100 to collect detailed review text, star ratings, reviewer names, review dates, and owner responses.

6. language & countryCode (String - Optional, Default: en / US)

Sets the display language for categories, opening hours, and regional search results.


๐Ÿ“‹ Example Input (JSON)

{
"searchTerms": [
"Dentist",
"Dental Clinic"
],
"locations": [
"Austin, TX",
"Dallas, TX"
],
"maxPlacesPerLocation": 100,
"extractEmails": true,
"maxReviewsPerPlace": 10,
"language": "en"
}

๐Ÿ“ฆ Example Output (JSON)

{
"title": "Austin Dental Arts",
"categoryName": "Dentist",
"categories": [
"Dentist",
"Cosmetic Dentist",
"Dental Clinic"
],
"address": "123 Congress Ave, Austin, TX 78701",
"street": "123 Congress Ave",
"city": "Austin",
"state": "Texas",
"postalCode": "78701",
"countryCode": "US",
"location": {
"lat": 30.267153,
"lng": -97.743061
},
"phone": "(512) 555-0199",
"phoneUnformatted": "+15125550199",
"website": "https://www.austindentalarts-example.com",
"companyEmails": [
"contact@austindentalarts-example.com",
"appointments@austindentalarts-example.com"
],
"socialMedia": {
"instagram": "https://instagram.com/austindentalarts",
"facebook": "https://facebook.com/austindentalarts",
"linkedin": "https://linkedin.com/company/austindentalarts"
},
"totalScore": 4.9,
"reviewsCount": 342,
"price": "$$",
"claimThisBusiness": false,
"permanentlyClosed": false,
"openingHours": [
{ "day": "Monday", "hours": "8:00 AM โ€“ 5:00 PM" },
{ "day": "Tuesday", "hours": "8:00 AM โ€“ 5:00 PM" },
{ "day": "Wednesday", "hours": "8:00 AM โ€“ 5:00 PM" },
{ "day": "Thursday", "hours": "8:00 AM โ€“ 5:00 PM" },
{ "day": "Friday", "hours": "8:00 AM โ€“ 2:00 PM" },
{ "day": "Saturday", "hours": "Closed" },
{ "day": "Sunday", "hours": "Closed" }
],
"placeId": "ChIJN1t_tDeuEmsRUsoyG83frY4",
"url": "https://www.google.com/maps/place/?q=place_id:ChIJN1t_tDeuEmsRUsoyG83frY4",
"scrapedAt": "2026-08-24T12:00:00.000Z"
}

๐Ÿ“‘ Dedicated Output Views & Formats

The Actor stores results in clean, organized dataset views accessible directly from the Storage tab:

  1. ๐Ÿ“‹ Overview View: The primary spreadsheet showing company name, category, phone, email, website, star rating, address, and city.
  2. โœ‰๏ธ Contacts & Leads View: Specially filtered for outreach teams, highlighting verified emails, direct phone numbers, and social profile links.
  3. ๐Ÿ’ฌ Reviews View: Formats customer feedback with one review per row, linking the reviewer name, star rating, review text, publish date, and owner response directly to the parent placeId.

Export Formats Supported:

  • CSV: Ready to import into Excel, Google Sheets, Airtable, or CRM platforms (HubSpot, Salesforce).
  • Excel (XLSX): Formatted spreadsheets with header rows and column filters.
  • JSON / JSONL: For developers, AI agents, and programmatic data pipelines.
  • XML / HTML Table: For web widgets and CMS imports.

๐Ÿ”Œ Integrations & Automated Workflows

You can connect Google Maps Scraper to your existing tech stack:

  • Google Sheets: Automatically sync new leads directly to a live Google Sheet using Apify integrations.
  • Zapier & Make.com: Trigger email outreach campaigns in Instantly, Lemlist, or Smartlead whenever a new batch of businesses is scraped.
  • CRMs: Push enriched contacts directly into HubSpot, Salesforce, Pipedrive, or Close CRM.
  • Webhooks: Receive real-time HTTP POST notifications when your scraping run completes.

Programmatic API Access:

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_API_TOKEN")
run_input = {
"searchTerms": ["Roofing Contractor"],
"locations": ["Miami, FL"],
"maxPlacesPerLocation": 50,
"extractEmails": True
}
# Start the Actor and wait for results
run = client.actor("YOUR_USERNAME/google-maps-leads-scraper").call(run_input=run_input)
# Iterate through scraped business leads
for place in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"Company: {place['title']} | Phone: {place['phone']} | Email: {place.get('companyEmails')}")

Node.js / JavaScript (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_API_TOKEN' });
const run = await client.actor('YOUR_USERNAME/google-maps-leads-scraper').call({
searchTerms: ['Real Estate Agency'],
locations: ['Denver, CO'],
maxPlacesPerLocation: 50,
extractEmails: true
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Successfully extracted ${items.length} business leads!`);

โ“ Frequently Asked Questions (FAQ)

How is this different from the official Google Places API?

The official Google Places API charges heavily per request, enforces strict query quotas, caps search results to a maximum of 60 places per area, and does not provide contact email addresses or social media profiles. This Google Maps Scraper extracts comprehensive business listings without 60-place restrictions and enriches profiles with verified email addresses and social links.

Does this scraper hit the 120-result limit on Google Maps?

No. Standard browser searches on Google Maps stop displaying results after scrolling through 120 places. This Actor uses an intelligent geographic tiling system that automatically subdivides target regions into micro-sectors, capturing up to 100% of businesses across the entire city or state.

Can I extract business email addresses for cold outreach?

Yes. When extractEmails is checked, the scraper visits each business's official website in the background, extracts verified contact emails from the homepage and contact pages, eliminates font/theme spam, and includes them directly in your spreadsheet.

Do I need to provide proxies or pay extra for proxy pools?

No. The Actor connects directly and handles request management automatically. You do not need to configure external proxy subscriptions or provide residential proxy credentials.

Yes. Web scraping is legal when extracting publicly available commercial information (business names, public phone numbers, addresses, and listed website URLs). Ensure compliance with local regulations (such as GDPR or CAN-SPAM) when conducting cold outreach.


๐Ÿ’ฌ Support & Feedback

Need help setting up your search, or looking for custom data extraction features?

  • Open an inquiry on the Issues tab of this Actor.
  • Leave a review on the Apify Store to suggest new features!