Google Maps Test Scraper avatar

Google Maps Test Scraper

Pricing

from $1.99 / 1,000 results

Go to Apify Store
Google Maps Test Scraper

Google Maps Test Scraper

🚀 Google Maps Test Scraper extracts business listings, ratings, addresses & more for faster local research. 📍 Ideal for lead gen, market research & directory audits. ⚡ Efficient, reliable, and easy to use.

Pricing

from $1.99 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Hub

Scrapers Hub

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Google Maps Test Scraper

The Google Maps Test Scraper is a high-performance Google Maps scraper that finds local business listings, then visits each website to extract emails, phone numbers, and social links automatically. Built for marketers, data analysts, and researchers, this Google Maps data extractor and Google Places scraper saves you hours of manual work by turning searches into clean, exportable leads — ideal for B2B enrichment, market analysis, and outreach at scale.

Why choose Google Maps Test Scraper?

FeatureBenefit
✅ Smart grid searchEfficiently covers city viewports based on your target size to discover more relevant Google Maps business listings.
✅ Email-only lead focusSaves only businesses with emails to your dataset by default, so you focus on high-value, actionable leads.
✅ All-in-one enrichmentCombines a Google Maps lead scraper with a website contact info crawler — capture emails, phones, and social links in one run.
✅ Proxy-readyConfigure Apify Proxy via input to reduce blocks and improve reliability for large runs.
✅ Live dataset streamingPushes each processed business into the Apify dataset immediately so you can monitor progress in real time.
✅ Structured outputDelivers standardized JSON with listing details, contact arrays, and status indicators for easy export and analysis.

Key features

  • 🧭 Smart grid search: Calculates an optimal search grid from your maxBusinesses to scan Google Maps efficiently and find more listings.
  • 🧩 City-boundary filtering: Accepts listings within your target city (with safeguards to avoid over-filtering) to keep results relevant.
  • 🌐 Website contact extraction: Visits each business website to extract emails, phone numbers, and social media links.
  • ✅ Email-only saving: Email-only mode ensures only businesses with at least one email make it into your dataset.
  • 🧪 Optional email validation: When enabled, validates emails (syntax/DNS/MX) and assigns confidence scores.
  • 🔁 Resilient website scraper: Built-in retry logic and delays help reduce transient failures during website scraping.
  • 💾 Real-time dataset writes: Each processed business is immediately pushed to the Apify dataset for streaming visibility.
  • 🛡️ Proxy support: Configure proxyConfiguration (useApifyProxy) to improve reliability at scale.

Input

Provide input via an input.json file. Example structure:

{
"googleMapsSearchTerm": "coffee shops",
"googleMapsLocation": ["Miami, Florida"],
"maxBusinesses": 20,
"scrapeMaxBusinessesPerLocation": false,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Input fields

KeyTypeDescription
googleMapsSearchTermstringBusiness type or niche for the Google Maps search (e.g., "coffee shops", "dentists").
googleMapsLocationarrayOne or more target locations (e.g., ["Miami, Florida"]).
maxBusinessesintegerTarget number of businesses to find with emails (1–1000). The scraper stops when this target is reached.
scrapeMaxBusinessesPerLocationbooleanIf true, applies maxBusinesses per location; if false, uses a single global limit across all locations.
proxyConfigurationobjectProxy settings for scraping. Recommended for large-scale runs.
• useApifyProxybooleantrue to enable Apify Proxy for improved stability.

Output

After execution, the actor saves each business’s data in JSON format to the Apify dataset.

{
"name": "Maman Coffee",
"website": "https://mamannyc.com",
"phone": "(305) 397-8158",
"street_address": "5801 Sunset Dr",
"full_address": "5801 Sunset Dr South Miami Florida 33143 US",
"city": "South Miami",
"state": "Florida",
"zip": "33143",
"country_code": "US",
"avg_rating": 4.6,
"total_reviews": 327,
"place_id": "ChIJxxxxxxxx",
"lat": 25.7078,
"long": -80.2893,
"scraped_emails": [
{
"email": "bonjour@mamannyc.com",
"confidence_score": 50,
"validation_status": "valid",
"source_url": "https://mamannyc.com/info/contact",
"source_type": "contact_page"
}
],
"scraped_phones": [
{
"id": "d7f2-abc-123",
"phone": "(305) 397-8158",
"formatted_phone": "+13053978158",
"validation_status": "extracted",
"source_url": "https://mamannyc.com/info/contact",
"source_type": "contact_page"
}
],
"scraped_social_media": [
{
"platform": "instagram",
"url": "https://instagram.com/_mamannyc_",
"clean_url": "https://instagram.com/_mamannyc_",
"source_url": "https://mamannyc.com/info/contact",
"source_type": "contact_page"
}
],
"emails_found": 1,
"pages_scraped": 10,
"scrape_status": "success"
}

Output fields

FieldTypeDescription
namestringBusiness name from Google Maps.
websitestringNormalized business website URL (if present).
phonestringPhone number from the Google Maps listing (if available).
street_addressstringStreet address parsed from Google Maps data.
full_addressstringFull address string (street, city, state, zip, country code).
citystringCity parsed from the listing.
statestringState/region parsed from the listing.
zipstringZIP/postal code parsed from the listing.
country_codestringCountry code parsed from the listing.
avg_ratingnumberAverage rating on Google Maps.
total_reviewsnumberTotal review count on Google Maps.
place_idstringGoogle Maps place ID.
latnumberLatitude coordinate.
longnumberLongitude coordinate.
scraped_emailsarrayArray of emails extracted from the website (email, confidence_score, validation_status, source_url, source_type).
scraped_phonesarrayArray of phones extracted from the website (id, phone, formatted_phone, validation_status, source_url, source_type).
scraped_social_mediaarrayArray of social links extracted (platform, url, clean_url, source_url, source_type).
emails_foundnumberCount of emails found on the website.
pages_scrapednumberTotal pages scraped on the website.
scrape_statusstringStatus of website scraping for the business (e.g., success, failed, error, no_website).
scrape_errorstringError message if scraping failed (when applicable).

Note: You can export the Apify dataset to JSON, CSV, or Excel from the platform UI.

How to use Google Maps Test Scraper (via Apify Console)

  1. Open Apify Console
    Log in at https://console.apify.com and navigate to the Actors tab.

  2. Find the actor
    Search for “Google Maps Test Scraper” and open the actor detail page.

  3. Configure your input

    • Set googleMapsSearchTerm (e.g., “coffee shops”, “dentists”).
    • Add one or more googleMapsLocation entries (e.g., “Miami, Florida”).
    • Choose maxBusinesses (1–1000).
    • Toggle scrapeMaxBusinessesPerLocation if you want the limit applied per city.
    • In proxyConfiguration, set useApifyProxy to true for better reliability.
  4. Start the run
    Click Run to begin. The actor will query Google Maps, then visit each business website to extract emails, phones, and social links.

  5. Monitor progress
    Watch live logs to see search progress, websites visited, and contact details found. Each processed business is pushed to the dataset immediately.

  6. Access and export results
    Open the Dataset tab linked to the run. Export your results in JSON, CSV, or Excel formats.

No coding required — get accurate Google Maps leads in minutes with an all-in-one Google Maps scraping tool and contact extractor.

Advanced features & SEO optimization

  • 🧭 Smart grid discovery: Purpose-built grid search to improve coverage for Google Maps scraper use cases in city viewports.
  • 🔎 Google Maps reviews & ratings capture: Collects avg_rating and total_reviews to help qualify leads fast.
  • 🔁 Robust retry logic: Built-in delays and retries help minimize transient errors during website scraping.
  • 🌐 Proxy configuration: Use proxyConfiguration (e.g., useApifyProxy) for stable Google Maps scraping at scale.
  • 🧪 Validation-ready pipeline: Optional email validation (syntax/DNS/MX) with confidence scoring for cleaner outreach lists.

Best use cases

  • 📧 Local lead generation (Agencies): Build targeted lists (e.g., “plumbers in Austin”) and focus on businesses with emails for outreach.
  • 🧩 B2B enrichment (Sales Ops): Combine Google Maps business listings with website-sourced emails, phones, and social links.
  • 📊 Market research (Analysts): Analyze density and quality signals (avg_rating, total_reviews) across niches and cities.
  • 🧪 Academic research: Gather structured place data and verified contact points for location-based studies.
  • 🔗 Data pipelines (Developers): Run via the Apify API on a schedule and export datasets downstream to BI tools or warehouses.
  • 🧭 Franchise expansion: Identify promising areas using Google Places scraper logic and prioritize by ratings/reviews.

Technical specifications

  • Supported Input Formats

    • googleMapsSearchTerm: string
    • googleMapsLocation: array of location strings
    • maxBusinesses: integer (1–1000)
    • scrapeMaxBusinessesPerLocation: boolean
    • proxyConfiguration.useApifyProxy: boolean
  • Proxy Support

    • ✅ Configure proxyConfiguration with useApifyProxy for large-scale runs.
  • Retry Mechanism

    • ✅ Internal website scraping uses retry and delay logic to minimize transient failures.
  • Dataset Structure

    • ✅ JSON records per business including listing fields, arrays for scraped_emails, scraped_phones, scraped_social_media, and status fields.
  • Rate Limits & Performance

    • ✅ Smart grid search adapts to maxBusinesses to balance coverage and efficiency.
  • Limitations

    • ❌ JavaScript-rendered or heavily protected websites may need browser automation; current scraper fetches initial HTML (httpx-based).

FAQ

Does this Google Maps scraper only save businesses with emails?

Yes. The Google Maps Test Scraper is configured for email-only mode, so it saves businesses where at least one email is found on the website, helping you focus on actionable leads.

Can I use proxies with this Google Maps scraping tool?

Yes. Use the proxyConfiguration input and set useApifyProxy to true. Running a Google Maps scraper with proxies helps avoid IP blocks and supports large-scale runs.

What data types are extracted from websites?

The actor extracts emails, phone numbers, and social media links (e.g., Instagram, Facebook, LinkedIn), and also captures Google Maps details like avg_rating and total_reviews.

Does this use Selenium?

No. It’s built on the Apify SDK and a fast HTTP client stack under the hood, not Selenium. This keeps the Google Maps scraper lightweight and efficient.

Can I integrate it with the Apify API or run it from Python?

Yes. You can start runs via the Apify API and integrate the resulting dataset into your workflows or data pipelines.

How many results can I scrape?

Set maxBusinesses between 1 and 1000. You can also enable scrapeMaxBusinessesPerLocation to apply that limit per location when processing multiple cities.

How is this different from a basic Google Places scraper?

Beyond listing data, this Google Maps business listings scraper also crawls each business website to extract emails, phones, and social links — a combined Google Maps data extractor and contact info crawler.

Is it okay to scrape Google Maps and websites for leads?

Yes, when done responsibly. The actor collects public data from Google Maps results and public business websites. Ensure your use aligns with applicable laws and platform terms.

Support & feature requests

We welcome feedback and ideas to improve the Google Maps Test Scraper.

  • 💡 Feature Requests: Looking for CSV/Excel tweaks, custom validation settings, or additional output fields? Share your suggestions to guide future updates.
  • 📣 Contact: Use the Apify Console to manage runs and access results; platform support can assist with account or runtime issues.

Your input helps shape the roadmap and ensures the Google Maps scraper continues to deliver reliable lead data.

Closing CTA / Final thoughts

Get started with the Google Maps Test Scraper and turn searches into clean, enriched leads in minutes. A reliable, export-ready Google Maps scraper that scales with your pipeline.

Disclaimer

This actor collects information only from publicly accessible sources on Google Maps and public business websites. It does not access private profiles, authenticated data, or password‑protected pages. You are responsible for complying with applicable laws and regulations (e.g., GDPR/CCPA), email outreach rules, and platform terms of service for your region. Always use this tool responsibly, ethically, and for legitimate purposes.

📬 Contact & Support

Have a question, need a custom feature, or want to request data removal? Email us at scraperhubapi@gmail.com — we're happy to help.