Fast Google Maps Scraper & Email Extractor avatar

Fast Google Maps Scraper & Email Extractor

Pricing

$5.00/month + usage

Go to Apify Store
Fast Google Maps Scraper & Email Extractor

Fast Google Maps Scraper & Email Extractor

Extract unlimited B2B leads from Google Maps! Scrapes business names, phones, ratings, and automatically visits their websites to extract verified emails. Includes photo scraping and precise coordinates. No login required. Perfect for fast, automated cold outreach and local marketing

Pricing

$5.00/month + usage

Rating

0.0

(0)

Developer

Scrape Pilot

Scrape Pilot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share


Google Maps Business Scraper – Contact Info, Photos & Reviews

Apify Actor License: MIT

Extract comprehensive business data from Google Maps – names, categories, ratings, reviews, addresses, phone numbers, websites, email addresses (from the website), photos, opening hours, and coordinates. No login required.


🚀 Features

  • Keyword search – Find businesses by any query (e.g., “restaurants in Chicago”).
  • Direct URL scraping – Get detailed data from a single Google Maps place URL.
  • Email extraction – Visits the business website and extracts email addresses from mailto: links and page content.
  • Photo scraping – Retrieves up to 5 high‑quality images from the business profile.
  • Rich data fields – Name, category, rating, review count, phone, address, website, hours, latitude, longitude.
  • Playwright‑based – Simulates a real browser to avoid detection.
  • Residential proxies ready – Compatible with Apify Proxy for large‑scale scraping.
  • Clean JSON output – Ready for analysis, dashboards, or integration.

📥 Input Schema

The actor accepts a JSON object with the following fields:

FieldTypeRequiredDefaultDescription
queriesstring or arrayNo*One or more search terms (e.g., "plumber in Chicago"). One per line if a string.
urlsstring or arrayNo*One or more direct Google Maps place URLs (e.g., https://www.google.com/maps/place/...).
max_resultsintegerNo10Maximum number of results per query (when using search).
scrape_emailbooleanNotrueWhether to visit the website and attempt to extract email addresses.
scrape_photosbooleanNotrueWhether to extract business photos.

Note: You must provide either queries or urls (or both). If both are given, all will be processed.

Example Input (Search + URLs)

{
"queries": [
"coffee shops in Manhattan",
"dentist in Brooklyn"
],
"urls": [
"https://www.google.com/maps/place/Starbucks/@40.758896,-73.985130,17z/data=...",
"https://www.google.com/maps/place/Dunkin/@40.761432,-73.981214,15z/..."
],
"max_results": 5,
"scrape_email": true,
"scrape_photos": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

📤 Output Fields

Each scraped place is returned as an object with the following fields (some may be missing if not available):

FieldTypeDescription
source_urlstringThe original URL used (either from input or generated by search).
namestringBusiness name.
categorystringBusiness category (e.g., “Coffee shop”).
ratingstringAverage rating (e.g., “4.5”).
reviews_countintegerNumber of reviews (if available).
phonestringPhone number (formatted as on Google Maps).
addressstringFull address.
websitestringBusiness website URL (if provided).
emailstringPrimary email found on the website (if scrape_email is true).
emailsarray[string]All emails found (up to 3) – only present if multiple are discovered.
photosarray[string]Up to 5 high‑quality photo URLs (if scrape_photos is true).
hoursstringOpening hours (if displayed).
latitudefloatLatitude coordinate.
longitudefloatLongitude coordinate.
maps_urlstringFull Google Maps URL (may include coordinates).

Example Output

[
{
"source_url": "https://www.google.com/maps/search/coffee+shops+in+Manhattan",
"name": "Blue Bottle Coffee",
"category": "Coffee shop",
"rating": "4.7",
"reviews_count": 1234,
"phone": "+1 212-555-1234",
"address": "123 W 12th St, New York, NY 10011",
"website": "https://bluebottlecoffee.com/",
"email": "info@bluebottlecoffee.com",
"emails": ["info@bluebottlecoffee.com", "support@bluebottlecoffee.com"],
"photos": [
"https://lh5.googleusercontent.com/p/AF1QipN...=w800-h600",
"https://lh5.googleusercontent.com/p/AF1QipM...=w800-h600"
],
"hours": "Mon–Fri: 7:00 AM–7:00 PM\nSat–Sun: 8:00 AM–6:00 PM",
"latitude": 40.758896,
"longitude": -73.985130,
"maps_url": "https://www.google.com/maps/place/Blue+Bottle+Coffee/@40.758896,-73.985130,17z"
}
]

🛠 How It Works

  1. Input processing – Accepts search queries and/or direct place URLs.
  2. Search (if queries given) – Opens Google Maps, enters the query, scrolls to load results, and collects place URLs.
  3. Place scraping – For each URL, the actor:
    • Navigates to the place page.
    • Extracts visible data (name, category, rating, address, phone, website, hours, coordinates).
    • If scrape_photos is true, clicks the photo button and extracts high‑quality image URLs.
    • If scrape_email is true and a website URL exists, opens the website in a new page and searches for email addresses (using mailto: links and regex). If none found, tries common contact pages (/contact, /contact-us, /about).
  4. Output – Each business is saved as a separate dataset item.

⚙️ Usage on Apify

  1. Create a new task with this actor.
  2. Provide input as JSON (see example above).
  3. Run the actor – it will automatically use Apify proxy if configured.
  4. Download results as JSON, CSV, or XML from the Apify storage.

Running via API

Trigger runs programmatically using the Apify API:

curl -X POST "https://api.apify.com/v2/acts/your-username~google-maps-business-scraper/runs" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"queries": ["pizza in Brooklyn"],
"max_results": 10,
"scrape_email": true,
"scrape_photos": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}'

💡 Use Cases

  • Sales & lead generation – Build a list of local businesses with contact details.
  • Market research – Analyze competitor ratings, locations, and hours.
  • Data enrichment – Add missing email addresses or photos to an existing database.
  • Academic research – Study the distribution of businesses in a city.
  • Real estate analysis – Evaluate the density of businesses in a neighborhood.

🔍 SEO Keywords

Google Maps scraper, business data extraction, local business scraper, Google Maps email extractor, scrape Google Maps reviews, business contact scraper, Google Maps API alternative, Apify Google Maps actor, lead generation tool, competitive intelligence scraper, local SEO data


⚠️ Notes & Limitations

  • Compliance – Respect Google’s Terms of Service. This actor is intended for legitimate research and not for excessive or automated bulk scraping that could violate policies.
  • Dynamic content – Google Maps frequently changes its layout; scraping logic may need updates.
  • Email extraction – Success depends on the website structure; some sites may block bot requests or use JavaScript‑rendered emails. No email is guaranteed.
  • Photos – Only publicly visible photos are extracted; private or hidden ones are not accessible.
  • Rate limiting – The actor introduces random delays between actions to mimic human behavior and avoid detection. For large‑scale runs, use residential proxies.
  • No login required – The actor does not require a Google account.