Google Maps Scraper avatar

Google Maps Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

📍 Google Maps Scraper extracts rich business data from Google Maps—names, categories, addresses, phones, emails, websites, ratings, reviews, hours & coordinates. ⚙️ Bulk scrape and export CSV/JSON. 🚀 Ideal for lead gen, local SEO, market research & sales.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapeMesh

ScrapeMesh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

15 days ago

Last modified

Share

Google Maps Scraper

Google Maps Scraper is a production-ready Google Maps data extractor that collects rich business details from public Google Maps pages at scale. It helps you scrape Google Maps business listings for lead generation, local SEO, and market research by gathering names, categories, addresses, phones, websites, ratings, reviews, hours, and coordinates. Built for marketers, developers, data analysts, and researchers, this Google Maps places scraper delivers structured outputs (CSV/JSON) and a consolidated maps.json for seamless workflows — enabling automated pipelines and repeatable insights at scale. 🚀

What data / output can you get?

This Google Business Profile scraper returns structured place-level fields so you can extract data from Google Maps cleanly and consistently.

  • name — Business name (e.g., “Sample Coffee”)
  • website — Official website URL (e.g., “https://samplecoffee.com”)
  • avg_rating — Average rating (e.g., 4.6)
  • total_reviews — Total review count (e.g., 128)
  • street_address — Street line (e.g., “123 Main St”)
  • city — Locality (e.g., “New York”)
  • state — Region/state code (e.g., “NY”)
  • zip — Postal/ZIP code (e.g., “10001”)
  • country_code — Country code (e.g., “US”)
  • full_address — Combined address string
  • tags — Categories/labels from Maps (array)
  • notes — Additional notes when available
  • place_id — Unique Google identifier for deduplication
  • phone — Phone number (e.g., “+1 212-555-0100”)
  • lat — Latitude (e.g., 40.75)
  • long — Longitude (e.g., -73.99)
  • hours — Opening hours by day (array of objects with day, hours, open24Hour, close24Hour)
  • success — Boolean success flag

Bonus outputs:

  • Optional per-place reviews when enabled, returned with author metadata and ratings
  • A final, sorted list saved as maps.json in the Key-Value Store for one-click export

You can export results from the Apify Dataset in CSV or JSON, and use the consolidated maps.json for downstream processing.

Key features

  • 🛡️ Resilient proxy ladder with auto-fallback
    Direct → datacenter → residential with sticky residential sessions and detailed logs. This improves reliability for any Google Maps scraping service workflow.

  • 🗺️ Grid-based viewport coverage
    Discovers more businesses per area by scanning multiple points within a resolved viewport for each location, acting as a robust Google Maps business scraper for broader coverage.

  • 🧼 Deduplication by place_id
    Ensures clean datasets by preventing duplicates across grid points and inputs.

  • 🧮 Live dataset writes + final maps.json
    Pushes each place as it’s found to avoid data loss and stores a final, sorted list in the Key-Value Store as maps.json.

  • ⭐ Sorting options for insights
    Supports result sorting by rating, review_count, name, relevance, or distance in the final consolidation for better prioritization.

  • 💬 Optional review capture
    When enabled, scrape Google Maps reviews with best-effort retrieval and push review records to the dataset alongside place items.

  • 📦 Bulk inputs & scale
    Accepts multiple locations, keywords, and direct Google Maps URLs to operate as a scalable Google Maps leads extractor and Google Maps scraper tool.

  • 👩‍💻 Built with Python on Apify
    Production-grade infrastructure with Python-based logic, making it easy to integrate via the Apify API for Google Maps scraper Python workflows.

How to use Google Maps Scraper - step by step

  1. Sign in to your Apify account and open the Google Maps Scraper actor.
  2. Provide input in the web form:
    • Add one or more “locations” (e.g., “New York”).
    • Add one or more “keywords” (e.g., “coffee shops”) — this field is required.
    • Optionally paste direct Google Maps search URLs.
    • Set “maxResults” to control the total number of places to return.
    • Configure “proxyConfiguration” or leave it blank to start direct; the actor automatically falls back if blocked.
  3. Start the run. The actor resolves viewports, scans grid points, and writes items live to the Dataset.
  4. Watch logs for progress, including grid coverage and proxy events.
  5. When finished:
    • Download structured results from the Dataset in CSV/JSON.
    • Retrieve the consolidated, sorted output at OUTPUT → maps.json in the Key-Value Store.

Pro tip: Combine the Dataset API with your internal automation to build a Google Maps scraper API pipeline for CRM enrichment or analytics.

Use cases

  • Local SEO + listings enrichment — Build complete profiles (addresses, phones, websites, hours, ratings) for geo-targeted categories.
  • B2B lead generation — Discover and export prospect lists by city and niche with a reliable Google Maps leads extractor.
  • Competitive analysis — Compare ratings, review counts, and coverage across neighborhoods or regions.
  • Market research & mapping — Aggregate places by category and geography for spatial analysis and reporting.
  • Data engineering pipelines — Orchestrate Apify runs and consume results programmatically for downstream modeling.

Why choose Google Maps Scraper?

This Google Maps scraper tool is built for precision, scale, and reliability on Apify’s infrastructure.

  • ✅ Accurate, structured outputs: Clean JSON/CSV with normalized fields and place_id-based deduplication.
  • 🌍 Broad discovery: Grid-based coverage captures more listings per area than simple one-off lookups.
  • ⚙️ Automation-first: Live dataset writes plus a final maps.json for repeatable workflows and versioning.
  • 👩‍💻 Developer-friendly: Python-based actor on Apify with API access for automation and integration.
  • 🛡️ Robust anti-blocking: Automatic proxy fallback from direct to datacenter to sticky residential sessions.
  • 💸 Cost-effective scaling: Run bulk batches with transparent progress and reliable outcomes.
  • 🔁 Better than browser extensions: No flaky sessions or manual clicks — this is a production-grade Google Maps scraping service.

In short, it’s a dependable Google My Business scraper/Google Business Profile scraper alternative to unstable tools, focused on data quality and automation.

Yes — when done responsibly. This actor collects data from publicly available Google Maps pages and does not access private or authenticated content.

Guidelines for compliant use:

  • Only collect publicly visible business information.
  • Follow applicable data regulations (e.g., GDPR, CCPA) and respect regional laws.
  • Review and comply with Google’s terms of service for your use case.
  • Use outputs responsibly and avoid spam or misuse.

Always consult your legal team for edge cases or jurisdiction-specific requirements.

Input parameters & output format

Example JSON input

{
"locations": ["New York"],
"keywords": ["coffee shops"],
"urls": [
"https://www.google.com/maps/search/coffee+shops+in+New+York/"
],
"maxResults": 50,
"proxyConfiguration": { "useApifyProxy": false }
}

Parameters

  • locations (array of strings)
    Description: List of location names (e.g., New York, Florida).
    Default: []
    Required: No

  • keywords (array of strings)
    Description: Search keywords or user-specified terms (supports bulk).
    Default: []
    Required: Yes

  • urls (array of strings)
    Description: Direct Google Maps search URLs (optional, supports bulk).
    Default: []
    Required: No

  • maxResults (integer)
    Description: Maximum number of places to return (cap across all searches).
    Minimum: 1, Maximum: 10000
    Default: 20
    Required: No

  • proxyConfiguration (object)
    Description: Default is direct (no proxy). Actor auto-falls back to datacenter → residential if blocked.
    Default: { "useApifyProxy": false }
    Required: No

Example JSON output (Dataset place item)

{
"name": "Sample Coffee",
"website": "https://samplecoffee.com",
"avg_rating": 4.6,
"total_reviews": 128,
"street_address": "123 Main St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country_code": "US",
"full_address": "123 Main St New York NY 10001 US",
"tags": ["Coffee shop"],
"notes": null,
"place_id": "abcd1234",
"phone": "+1 212-555-0100",
"lat": 40.75,
"long": -73.99,
"hours": [],
"success": true
}

Example JSON output (Dataset review record pushed when reviews are enabled)

{
"place_id": "abcd1234",
"reviews": [
{
"author_name": "John Doe",
"author_url": "https://www.google.com/maps/contrib/...",
"rating": 5,
"text": "Great coffee and friendly staff!",
"time": "1700000000",
"relative_time": "2 weeks ago",
"author_reviews_count": 12,
"author_photo": "https://lh3.googleusercontent.com/...",
"likes": 3
}
],
"review_count": 1
}

Consolidated output (Key-Value Store: maps.json)
The actor saves a final, sorted list of place items (potentially including “reviews” and “review_count” if enabled) to the Key-Value Store as maps.json.

[
{
"name": "Sample Coffee",
"website": "https://samplecoffee.com",
"avg_rating": 4.6,
"total_reviews": 128,
"street_address": "123 Main St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country_code": "US",
"full_address": "123 Main St New York NY 10001 US",
"tags": ["Coffee shop"],
"notes": null,
"place_id": "abcd1234",
"phone": "+1 212-555-0100",
"lat": 40.75,
"long": -73.99,
"hours": [],
"success": true,
"reviews": [],
"review_count": 0
}
]

Notes

  • The Dataset contains one item per place plus optional review records (as separate items) when review capture is enabled.
  • maps.json contains only place items, optionally enriched with “reviews” and “review_count”.

FAQ

Does this Google Maps Scraper collect reviews?

Yes. When review capture is enabled, the actor will scrape Google Maps reviews on a best-effort basis and push them to the Dataset. The final maps.json can also include “reviews” and “review_count” per place.

Is there a free trial or usage allowance?

Yes. Runs are subject to your Apify plan, and this actor includes trial minutes as configured on the Apify platform. You can start small and scale as needed.

Do I need a login, cookies, or a Google account?

No. This Google Maps scraping service works without logging into Google. It operates on public Google Maps pages and manages access with an automatic proxy fallback system.

Can I integrate it via API or with Python?

Yes. This is an Apify actor, so you can trigger runs and fetch datasets via the Apify API. It’s built as a Google Maps scraper Python solution under the hood, making it developer-friendly for automation pipelines.

How many results can I get per run?

You control the cap using “maxResults.” The actor stops early when it reaches this limit across all searches and inputs.

What’s the difference between this and a Google Maps scraper Chrome extension?

Extensions are prone to breakage and manual intervention. This production-grade actor runs on Apify, supports bulk automation, resilient proxies, and structured outputs — a more reliable Google Maps data extractor for professional use.

Does it extract emails?

No. This is not a Google Maps email extractor. It focuses on public place fields such as name, address, phone, website, ratings, reviews, hours, and coordinates.

Is it safe and compliant to use?

Yes, when used responsibly. It collects publicly available data and includes no login or private profile access. Ensure compliance with local laws and Google’s terms for your specific use case.

Closing CTA / Final thoughts

Google Maps Scraper is built to reliably extract structured business data from Google Maps at scale. With grid-based discovery, robust proxy fallback, and clean CSV/JSON outputs plus a consolidated maps.json, it’s ideal for marketers, analysts, developers, and researchers. Plug it into the Apify API to run automated pipelines, enrich CRMs, and power data-driven outreach. Start extracting smarter location insights today with a dependable Google Maps scraper API workflow.