Google Maps Business Scraper – Extract Leads Free avatar

Google Maps Business Scraper – Extract Leads Free

Under maintenance

Pricing

$15.00/month + usage

Go to Apify Store
Google Maps Business Scraper – Extract Leads Free

Google Maps Business Scraper – Extract Leads Free

Under maintenance

Extract Google Maps business data like contacts, reviews, and locations from search URLs and export it for analysis and outreach.

Pricing

$15.00/month + usage

Rating

0.0

(0)

Developer

Sovanza

Sovanza

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Google Maps Business Scraper – Extract Leads, Reviews & Insights

Extract Google Maps business data including names, phone numbers, websites, reviews, ratings, and locations with this scraper. Ideal for lead generation, local SEO, and competitor analysis. Export in JSON, CSV, or Excel format from your Apify dataset.

What is Google Maps Scraper?

Google Maps Scraper is a local business data extraction tool built on Apify that pulls business listings, contact details, reviews, and location data from Google Maps using search URLs and/or Place IDs. It is designed for:

  • Lead generation agencies
  • SEO professionals
  • Sales teams
  • Local businesses
  • Data analysts

Instead of manually searching and copying data, you can extract many business leads in a structured dataset for outreach and analysis.

Why This Google Maps Scraper is Powerful

This actor is built for real business outcomes (leads → outreach → analysis):

  • Extract high-quality local business leads (name, phone, website, address, coordinates)
  • Collect review text (author, rating, date) up to your configured limit per place
  • Analyze ratings, review counts, and listing details for competitor research
  • Scale across cities and industries by running multiple search URLs in one actor run
  • Automate data collection via Apify API, schedules, and webhooks

Note: This actor does not crawl linked websites for email addresses. You get phone, website URL, and social links from Maps where shown; use your own enrichment workflow if you need emails.

What Data Does Google Maps Scraper Extract?

This actor outputs one dataset item per business. Fields reflect what is available on Google Maps for that listing (DOM changes can occasionally affect individual fields).

Business information

  • Business name
  • Category / industry
  • Full address; city and postal code (parsed from address when possible)
  • Google Maps URL and Place ID

Contact details

  • Phone number
  • Website URL
  • Social media links (when present on the listing)

Reputation and engagement

  • Average rating and review count
  • Reviews array: authorName, rating, date, text (up to maxReviews per business)

Location data

  • Latitude and longitude (when available from the page/URL)

Additional insights

  • Opening hours (as scraped from the panel)
  • Business status (e.g. open/closed where shown)
  • Price level where available
  • Photos count and image URLs (images) — in fast mode (low maxReviews) image extraction may be reduced for speed
  • Popular times (when exposed in the UI; structure may vary)
  • Scrape timestamp (timestamp)

➡️ All structured fields are exportable as JSON, CSV, or Excel from the Apify dataset.

Advanced Features

  • Flexible input: One or more Google Maps search URLs (e.g. “Restaurants in Dubai”) and/or Place IDs for direct place pages.
  • Pagination: Scrolls the results list to load up to maxResults businesses per search URL.
  • Bulk extraction: Combine multiple searchUrls and placeIds in a single run.
  • Concurrency: maxConcurrency controls how many places are processed in parallel (see timeouts below).
  • Proxy country: Optional Apify Proxy country selection to reduce blocks.
  • Automation: Apify API, schedules, webhooks, and integrations (Sheets, Zapier, Make, CRMs via API).

How to Use Google Maps Scraper on Apify

Using the actor

  1. Open Google Maps Business Scraper on the Apify platform.
  2. Configure Input (see below). For larger runs with reviews, increase Run timeout in Run options (default Apify timeout is often 300 seconds).
  3. Click Start.
  4. Open the Dataset tab and export JSON, CSV, or Excel, or pull results via the Apify API.

Local development

Option A — run script (recommended):

cd google-maps-business-scraper
.\run_local.ps1

Creates a .venv, installs dependencies, installs Playwright Chromium, and runs main.py. Use INPUT.json for input; if missing, defaults from the actor apply.

Option B — manual:

pip install -r requirements.txt
playwright install chromium
python main.py

Local output is written to output.json in the actor folder (same shape as the Apify dataset).

Input configuration

Example INPUT.json:

{
"searchUrls": ["https://www.google.com/maps/search/Restaurants+in+Dubai"],
"placeIds": [],
"maxResults": 100,
"maxReviews": 20,
"maxConcurrency": 2,
"proxyCountry": "AUTO_SELECT_PROXY_COUNTRY"
}
FieldTypeDescription
searchUrlsarrayOne or more Google Maps search URLs. Results are loaded with pagination/infinite scroll.
placeIdsarrayOptional: Google Place IDs to open place pages directly (e.g. ChIJ…).
maxResultsintegerMaximum businesses per search URL (default 100, max 1000). With many results and reviews, raise Run timeout (e.g. 600–900 s).
maxReviewsintegerMax reviews per business (0 skips reviews). Use 5 or fewer for faster runs.
maxConcurrencyintegerPlaces scraped in parallel (1–4, default 2). Lower if runs time out.
proxyCountrystringAUTO_SELECT_PROXY_COUNTRY, US, GB, AE, SA, DE, FR — for use with Apify Proxy.

Output

Each dataset item follows .actor/dataset_schema.json. Typical fields:

FieldDescription
businessNameBusiness name
categoryCategory / type
googleMapsUrlLink to the place on Google Maps
placeIdPlace ID
addressFull address string
cityParsed city when possible
postalCodePostal code when detected in address
latitude, longitudeCoordinates (nullable)
phonePhone number
websiteWebsite URL
socialMediaLinksArray of social URLs
ratingAverage rating
reviewCountTotal review count
priceLevelPrice level when shown
openingHoursHours text
businessStatusStatus (e.g. open/closed)
photosCountPhoto count when available
imagesArray of image URLs
reviewsArray of { authorName, rating, date, text }
popularTimesPopular times objects when available
timestampISO scrape time

Example (illustrative; real pages vary):

{
"businessName": "Example Cafe",
"category": "Cafe",
"googleMapsUrl": "https://www.google.com/maps/place/?q=place_id:ChIJ...",
"placeId": "ChIJ...",
"address": "123 Main St - Dubai - United Arab Emirates",
"city": "Dubai",
"phone": "+971 4 000 0000",
"website": "https://example.com",
"rating": "4.5",
"reviewCount": "120",
"reviews": [
{
"authorName": "Jane D.",
"rating": "5",
"date": "Jan 2025",
"text": "Great coffee and service."
}
],
"latitude": 25.2048,
"longitude": 55.2708,
"timestamp": "2025-03-30T12:00:00.000Z"
}

On failure after retries, the actor may push an item that includes an error field (not part of the static dataset schema file).

How extraction works

  • Search flow: Opens each searchUrl, scrolls the results feed (_scroll_results_panel) to load up to maxResults items, collects place links, then opens each place and runs extract_business_from_detail_panel().
  • Place ID flow: Opens the place URL for each ID and uses the same extraction logic.
  • Selectors live in extract_business_from_detail_panel() and related helpers. Google’s DOM changes over time; missing fields may require selector updates in main.py.

Performance and timeouts

  • Default Apify run timeout is often 300 seconds. If the run stops with few results, open Run options and set Timeout to 600 or 900 seconds.
  • Fast mode (when maxReviews is low, e.g. ≤ 5): shorter waits and lighter image work so more places can finish within tight timeouts.
  • maxReviews: 0: Skips review scraping for maximum throughput.
  • maxConcurrency: If jobs still time out, try 1.

Proxy and reliability

  • Use Apify Proxy on the platform; proxyCountry selects region when using proxy.
  • The actor rotates user agents and applies random delays between actions to reduce blocking.

API route (example)

See routes/google_maps.example.js for a sample POST /api/scraper/google-maps handler that calls this actor and returns { success, data }. Point it at your Apify actor ID and APIFY_TOKEN as needed.

FAQ

How can this scraper help with lead generation?
It collects business names, phones, websites, addresses, and coordinates from Maps listings in bulk, so you can build outreach lists without manual copy-paste.

Does this actor extract emails?
No. It does not visit business websites to parse emails. Use the website field with your own enrichment tools or processes if you need email addresses.

How accurate is the data?
Data is taken from live Maps UI. Business owners can change listings at any time—validate critical fields before campaigns.

Can I scrape multiple cities?
Yes. Add multiple searchUrls (one query per city or niche) or run separate searches; combine with maxResults per search.

How do I use this for local SEO?
Export competitors’ ratings, review counts, and review text for a location to compare positioning and messaging.

Can agencies use this for prospecting?
Yes—filter by category and area, then prioritize businesses by rating, review volume, or missing website fields (as present in your export).

Can I automate runs?
Yes—Apify schedules, API, and webhooks support recurring extraction and downstream CRM or sheet workflows.

What is the best way to maximize coverage?
Use distinct search queries (e.g. different categories) rather than repeating the same keyword, and tune maxResults and maxReviews for your time budget.

Is scraping Google Maps allowed?
Only use data in compliance with Google’s terms of service and applicable privacy and marketing laws. Use collected data responsibly, especially for commercial outreach.

SEO keywords (high-intent)

google maps scraper, google maps data scraper, google maps lead scraper, google maps business scraper, scrape google maps data, google maps scraping api, local business scraper, lead generation scraper, google maps leads tool

Limitations

  • No email extraction from websites in this actor.
  • Field availability depends on what Google shows for each listing; some fields may be empty.
  • Heavy review counts and high maxResults need longer run timeouts and may hit rate limits—tune maxReviews, maxConcurrency, and proxy settings.

License

Use and deploy in line with Apify’s terms and your own compliance obligations. See your repository or Apify actor settings for license details if specified.