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 verified local business data from Google Maps—names, addresses, phones, websites, ratings, hours, categories & coordinates. 🔎 Perfect for lead gen, local SEO, market research & CRM enrichment. 🚀 Fast, accurate, CSV/JSON-ready.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

Scrapium

Scrapium

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Google Maps Scraper

Google Maps Scraper is a production-ready Google Maps data extractor that collects verified local business data from Google Maps at scale — including names, addresses, phones, websites, ratings, hours, categories, and coordinates. It helps you scrape Google Maps business listings reliably for lead generation, local SEO, market research, and CRM enrichment. Built for marketers, developers, data analysts, and researchers, this Google Places scraper automates discovery across locations, keywords, or direct Maps URLs to enable high-quality data pipelines at scale.

What data / output can you get?

Below are the exact fields this Google My Business scraper returns. All fields come directly from the actor’s dataset writes.

Data fieldDescriptionExample value
namePlace name“Sample Coffee”
websiteWebsite URL (cleaned)https://samplecoffee.com”
avg_ratingAverage rating4.6
total_reviewsTotal review count128
street_addressStreet line“123 Main St”
cityCity“New York”
stateState/region“NY”
zipPostal code“10001”
country_codeISO country code“US”
full_addressConcatenated full address“123 Main St New York NY 10001 US”
tagsCategories/labels["Coffee shop"]
notesAdditional notes (if present)null
place_idUnique Google identifier“abcd1234”
phonePhone number“+1 212-555-0100”
latLatitude40.75
longLongitude-73.99
hoursArray of objects with day/hours info[{"day": "Monday", "hours": "8 AM–6 PM", ...}]
successExtraction success flagtrue

Bonus outputs:

  • When review capture is enabled, each place in the final file can include “reviews” (an array of review objects) and “review_count”.
  • Exports are available from the Apify Dataset in CSV, JSON, or Excel — perfect to export Google Maps listings to CSV and feed analytics or CRM workflows.

Key features

  • 🔁 Bold proxy fallback ladder (direct → datacenter → residential, sticky)

    • Automatic, resilient proxy fallback with clear logs. Once on residential, sessions stay sticky for stability — ideal for a Google Maps scraping service at scale.
  • 🗺️ Grid-based viewport coverage

    • Systematically covers each location’s map viewport to maximize discovery and reduce blind spots. Great for thorough Google Maps data mining software workflows.
  • 🧹 Deduplication by place_id

    • Clean results while you scrape Google Maps business listings, ensuring unique records for downstream systems.
  • 📝 Optional review capture

    • Best-effort review fetching per place. Ideal when you need to extract Google Maps reviews for sentiment or QA analysis.
  • 🧮 Sorting for final results

    • Final merged results in Key-Value Store can be sorted by rating, review_count, name, relevance, or distance.
  • ⚡ Live dataset writes + final maps.json

    • Results stream to the Apify Dataset during the run to avoid data loss; the final merged, sorted list is saved as maps.json in the Key-Value Store.
  • 💻 Developer-friendly Google Maps scraper Python actor

    • Built on the Apify Python stack for easy API integration and automation. Prefer robust infrastructure over a Google Maps scraper Chrome extension.
  • 📦 Flexible exports and integrations

    • Export to CSV/JSON/Excel from the Dataset and plug into CRMs, BI tools, Make, n8n, or custom pipelines.
  • 🛡️ Production-ready reliability

    • Detailed logs, retry logic, and a proxy ladder make it a dependable Google Maps scraper without API dependencies.

How to use Google Maps Scraper - step by step

  1. Sign in to your Apify account and open the Google Maps Scraper actor.
  2. In the Input, add:
    • Locations (e.g., “New York”, “Florida”) and Keywords (e.g., “coffee shops”), or
    • Google Maps URLs for direct searches.
  3. Set Max Results to control total places returned across all searches.
  4. Leave Proxy Configuration blank to start direct; the actor auto-falls back to datacenter and then residential (sticky) if blocked.
  5. Click Start. Watch logs for grid progress, deduplication, and proxy events.
  6. During the run, items stream to the Dataset live. After completion, the final sorted list is saved to the Key-Value Store as maps.json.
  7. Export results from the Dataset in CSV, JSON, or Excel, or fetch maps.json via API for downstream processing.

Pro tip: Automate your pipeline via the Apify API and SDK. Use this Google Business Profile scraper as a backend component for enrichment, reporting, and territory planning.

Use cases

Use caseDescription
Local SEO lead generationBuild targeted lists by city and category using a Google Maps business leads extractor to fuel outreach campaigns.
Competitive landscape analysisMap competitor presence and ratings across regions using a robust Google Maps scraping tool.
CRM enrichmentUpdate website, phone, address, coordinates, and ratings for existing records from a trusted Google Places scraper.
Market researchAnalyze density, categories, and ratings to inform expansion or advertising strategies.
Academic and policy researchStudy small business distribution and ratings patterns with reproducible, exportable datasets.
API-driven data pipelinesUse the Apify platform to schedule runs and export Google Maps listings to CSV/JSON for analytics stacks.
Territory mappingEnrich geospatial workflows with accurate lat/long and place_id identifiers.

Why choose Google Maps Scraper?

This Google Maps scraping tool is built for precision, automation, and reliability — not a fragile extension.

  • ✅ Accuracy from grid-based coverage and place_id deduplication
  • 🌍 Scalable collection across multiple locations, keywords, and URLs
  • 💻 Developer-first: Python-based actor with Apify API integration
  • 🧰 Flexible exports: CSV, JSON, Excel from the Dataset
  • 🛡️ Ethical by design: Only public Google Maps pages are targeted
  • 🔗 Easy automation: Integrate with Make, n8n, and custom systems
  • 🚦 Proven reliability: Automatic proxy fallback and live dataset writes

Bottom line: It’s a production-ready Google Maps data extractor that outperforms unstable DIY scripts or a Google Maps scraper Chrome extension.

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

Guidelines for compliant use:

  • Scrape publicly available business information only.
  • Respect platform terms and local regulations (e.g., GDPR, CCPA).
  • Use data responsibly for analysis and enrichment, not spam.
  • Consult your legal team for edge cases and jurisdiction-specific requirements.

Input parameters & output format

Example JSON input

{
"locations": ["New York"],
"keywords": ["coffee shops"],
"urls": [],
"maxResults": 20,
"proxyConfiguration": { "useApifyProxy": false }
}

Schema parameters

  • locations (array)
    • Description: List of location names (e.g., New York, Florida).
    • Required: No
    • Default: None
  • keywords (array)
    • Description: Search keywords or user-specified terms (supports bulk).
    • Required: Yes
    • Default: None
  • urls (array)
    • Description: Direct Google Maps search URLs (optional, supports bulk).
    • Required: No
    • Default: []
  • maxResults (integer)
    • Description: Maximum number of places to return (cap across all searches).
    • Required: No
    • Default: 20 (min 1, max 10000)
  • proxyConfiguration (object)
    • Description: Default is direct (no proxy). Actor auto-falls back to datacenter → residential if blocked.
    • Required: No
    • Default: { "useApifyProxy": false }

Advanced optional fields supported by the actor (via code)

  • sortOrder (string): “relevance” | “rating” | “review_count” | “distance” | “name” (sorting applies to the final maps.json).
  • maxComments (integer): Number of reviews to fetch per place (0 disables review capture).
  • gridSize (integer): Grid dimension for viewport coverage (controls coverage vs. speed).

Output format

  • Dataset:
    • Base place items with full business fields are pushed live during the run.
    • If review capture is enabled, additional review-only records are added for each place_id.

Example place item (Dataset)

{
"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 review-only record (Dataset, when reviews are enabled)

{
"place_id": "abcd1234",
"reviews": [
{
"author_name": "John Doe",
"author_url": "https://www.google.com/maps/contrib/123",
"rating": 5,
"text": "Great coffee and friendly staff!",
"time": "1700000000",
"relative_time": "2 months ago",
"author_reviews_count": 12,
"author_photo": "https://example.com/photo.jpg",
"likes": 3
}
],
"review_count": 1
}
  • Key-Value Store:
    • maps.json contains the final sorted list of place objects. When reviews are enabled, each place object in maps.json includes “reviews” and “review_count”.

FAQ

Is there a free tier or trial?

Yes. On Apify, this actor includes trial minutes so you can test before subscribing. The listing currently offers 120 trial minutes, enabling quick evaluation of your pipeline and performance.

Do I need to log in or provide cookies?

No. This Google Maps scraper without API or login works on public Google Maps pages and does not require session cookies or authentication.

Can I export results to CSV or Excel?

Yes. You can export from the Apify Dataset in CSV, JSON, or Excel formats, making it easy to share with teams or load into CRMs and BI tools.

Does it extract Google Maps reviews?

Yes — optionally. Set the maxComments parameter (> 0) to enable review capture. Review records are added to the Dataset, and reviews are also attached to the final maps.json items.

How many results can I scrape per run?

Use maxResults to cap total places across all searches. Grid-based coverage boosts discovery, while deduplication by place_id ensures clean results.

Is there a developer API or Python integration?

Yes. This is a Python-based actor running on Apify’s infrastructure. You can trigger runs, pass inputs, and download outputs via the Apify API — ideal for building automated pipelines.

How does this compare to a Chrome extension?

This server-side Google Maps scraping tool is more reliable for scale, with automatic proxy fallback (direct → datacenter → residential, sticky) and live dataset writes, unlike most browser extensions.

What contact details are included?

The actor extracts website and phone when present, along with addresses, coordinates, ratings, and categories — a complete Google Maps contact details extractor for enrichment workflows.

Closing CTA / Final thoughts

Google Maps Scraper is built for accurate, scalable extraction of local business data from public Google Maps pages. With grid-based coverage, proxy fallback, and live dataset writes, it’s ideal for lead gen, local SEO, market research, and data enrichment. Marketers, developers, analysts, and researchers can export clean CSV/JSON/Excel outputs or automate via the Apify API. Start extracting smarter Google Maps insights and power your next growth or analytics initiative with a production-ready workflow.