Google Maps MCP
Pricing
from $3.00 / 1,000 results
Google Maps MCP
Unified Apify MCP server for Google Maps. Search for businesses and extract comprehensive data including ratings, reviews, contact info, and more. Scrape detailed reviews from any Google Maps place.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(2)
Developer
Crawler Bros
Maintained by CommunityActor stats
1
Bookmarked
38
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Google Maps MCP Server
A unified Apify MCP (Model Context Protocol) server for comprehensive Google Maps scraping. This actor provides a single interface to search for businesses and scrape reviews from public Google Maps pages — no login, no API key, and no cookies required.
What this actor does
Multi-Mode Scraping
This MCP server supports two scraping modes:
- Search Mode - Search and scrape business listings from Google Maps
- Reviews Mode - Scrape reviews from a specific Google Maps business
Key Capabilities
✅ Unified Interface - Single actor for all Google Maps scraping needs ✅ Cookieless Access - Read public Google Maps pages without signing in ✅ No API Key Required - Scrape public content without authentication ✅ Comprehensive Data - Extract all relevant business details and reviews ✅ Automatic Pagination - Load multiple results and reviews automatically ✅ Structured Output - Clean JSON data ready for AI consumption
Input
Common Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
mode | string | Yes | Scraping mode: search or reviews |
Search Mode Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | - | What to search for (e.g., "restaurant") |
location | string | "" | Where to search (e.g., "New York, NY") |
maxResults | integer | 20 | Maximum number of businesses to scrape (1-500) |
language | enum | en | Google Maps interface/result language (en, es, fr, de, it, pt, ja, ko, zh, ar, ru) |
Reviews Mode Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
placeUrl | string | one of URL/ID | Google Maps place URL; copied punctuation and tracking parameters are normalized |
placeId | string | one of URL/ID | Canonical Google Place ID beginning with ChIJ; use instead of placeUrl |
maxReviews | integer | 50 | Maximum number of reviews to scrape (1-200000; bounded by the public review surface) |
Common optional settings
proxyConfiguration accepts Apify proxy settings. The actor always attempts public access without login cookies first and has a bounded hardcoded Apify US RESIDENTIAL fallback for rate limits or limited views when no explicit proxy is supplied. Set {"useApifyProxy": false} for direct-only diagnostics.
Examples
Example: search for businesses
{"mode": "search","searchQuery": "pizza restaurant","location": "New York, NY","maxResults": 20}
Example: scrape reviews
{"mode": "reviews","placeUrl": "https://www.google.com/maps/place/Joe's+Pizza/@40.7308314,-73.9973325,17z","maxReviews": 100}
Example: Japanese business search
{"mode": "search","searchQuery": "寿司","location": "東京 日本","maxResults": 20,"language": "ja"}
Output per record
Search Mode Output
Each business uses the same canonical camelCase field names as the other Google Maps actors. Optional values are omitted when Google does not expose them.
{"recordType": "business","index": 1,"name": "Joe's Pizza","category": "Pizza restaurant","rating": 4.5,"reviewsCount": 1234,"priceLevel": "$$","address": "7 Carmine St, New York, NY 10014","phone": "+1 212-366-1182","website": "https://www.joespizzanyc.com","googleMapsUrl": "https://www.google.com/maps/place/Joe's+Pizza/@40.7308314,-73.9973325,17z","placeId": "ChIJxxx...","featureId": "0x...:0x...","location": {"lat": 40.7308314, "lng": -73.9973325},"scrapedAt": "2025-11-02T20:30:00+00:00","sourceUrl": "https://www.google.com/maps/place/Joe's+Pizza/@40.7308314,-73.9973325,17z"}
Every output row uses the same consistent field names shown above.
Reviews Mode Output (Flattened Format)
One review per row for easy analysis - each dataset item represents a single review with place metadata:
{"recordType": "review","placeId": "ChIJxxx...","featureId": "0x...:0x...","scrapedAt": "2025-11-02T20:30:00+00:00","placeMetadata": {"placeUrl": "https://www.google.com/maps/place/...","placeId": "ChIJxxx...","featureId": "0x...:0x...","businessName": "Joe's Pizza","businessRating": 4.5,"businessReviewCount": 1234,"businessCategory": "Pizza restaurant","businessAddress": "7 Carmine St, New York, NY 10014"},"reviewId": "ChZDSUhNMG9nS0VJQ0FnSUQ...","reviewerName": "John Smith","reviewerAvatarUrl": "https://lh3.googleusercontent.com/...","rating": 5.0,"reviewText": "Best pizza in NYC! The crust is perfect and the sauce is amazing...","reviewDateOriginal": "2 months ago","sourceUrl": "https://www.google.com/maps/place/..."}
reviewDateOriginal preserves the date text exposed by Google (for example, a
relative date). likesCount and other optional review fields appear only when
directly observed. Every row includes recordType, sourceUrl, and scrapedAt.
Benefits of Flattened Format:
- ✅ Each row is one review (perfect for CSV export and data analysis)
- ✅ Easy to query, filter, and aggregate in databases
- ✅ Compatible with pandas DataFrames and SQL tables
- ✅ Place metadata included in every row (no joins needed)
- ✅ Simplified data pipeline integration
Use cases
Business Intelligence
- Market Research - Analyze competitor locations and ratings
- Location Planning - Find optimal areas for new business locations
- Competitive Analysis - Track competitor reviews and ratings
- Customer Insights - Understand what customers value in your industry
Data Analysis & Research
- Sentiment Analysis - Analyze customer sentiment from reviews
- Trend Detection - Identify popular locations and emerging trends
- Service Quality - Compare service quality across locations
- Price Analysis - Study pricing patterns across regions
AI & ML Applications
- Training Data - Build datasets for recommendation systems
- RAG Systems - Feed business and review data to AI models
- Chatbot Training - Use reviews for customer service bots
- Content Generation - Analyze successful business descriptions
⚠️ Limitations
- Public Content Only - Cannot access restricted or private data
- No Authentication - Requires public access to content
- Rate Limits - Google may throttle excessive requests
- Page-Based - Slower than direct API but more reliable
- Dynamic Content - Some features may change if Google updates layout
FAQ
Does the MCP server need Google login cookies? No. Search and review modes use public Google Maps pages with bounded direct, fresh-context, and hardcoded residential recovery paths.
Why is a field missing from a result? The server omits values that Google did not expose instead of fabricating or padding them.
Can I use it for large exports? Results are emitted progressively, but Google’s own search/review limits and upstream availability still determine the practical maximum.
Which mode should I use for a single place? Use reviews with placeUrl or a canonical placeId; use search for free-text business discovery.
Why might a search or review run return fewer records? Google may expose a limited anonymous view or no matching public content; the actor reports what it observed and omits unavailable fields.
🗺️ Complete Google Maps Scraper Suite
This actor is part of a comprehensive Google Maps data extraction toolkit by crawlerbros. All actors run cookielessly on the free Apify plan with bounded direct, retry, and residential recovery paths, and return clean, structured data.
| Actor | What it does |
|---|---|
| 🏢 Google Maps Business Scraper | Extract business data — name, address, phone, website, rating, reviews, hours, amenities |
| ⭐ Google Maps Reviews Scraper | Scrape reviews with reviewer Local Guide level, photos, mentioned items, owner replies |
| 📸 Google Maps Photos Scraper | Extract all photos from any place — max-resolution URLs, contributor info, categories |
| 🕐 Google Maps Business Hours Scraper | Full 7-day hours, timezone, current local time, next open/close, holiday hours |
| 📊 Google Maps Popular Times Scraper | Busy hours histogram for all 7 days + current busyness + typical visit time |
| 📧 Google Maps Email Extractor | Find business emails + social media links by crawling websites |
| 🗺️ Google Maps Area Scanner | Geographic grid scanning — bypass the 120-place limit with bounding box / circle / polygon |
| 💼 Google Maps Leads Scraper | B2B lead generation with email + phone enrichment, US states + global countries |
| 🧭 Google Maps Directions Scraper | A→B routing — distance, duration, traffic, route alternatives for driving/walking/transit |
| 📍 Google Maps Geocoding Scraper | Bidirectional geocoding — address ↔ coordinates, with address components |
| 🔗 Google Maps Similar Places Scraper | "People also search for" / related place discovery — competitor & alternative finder |
| 🍽️ Google Maps Menu Scraper | Restaurant menu items, prices, descriptions, photos |
| 📌 Google Maps Nearby Scraper | Find places near a coordinate point — lightweight POI search by category |
| 📋 Google Maps Place List Scraper | Extract Google's curated "Top X in Y" lists — best hotels/restaurants/things to do |
| 🌍 Google Maps Timezone Scraper | IANA timezone + current local time from coordinates |
📄 License
This actor is provided as-is for scraping public Google Maps data in accordance with Google's terms of service.
🔗 Related Actors
- Google Maps Scraper - Dedicated business search scraper
- Google Maps Reviews Scraper - Dedicated reviews scraper
💡 Notes
- This MCP server reads Google Maps' public interface — no login, cookies, or API key required
- Always respect Google's robots.txt and terms of service
- Use responsibly and avoid overwhelming Google's servers
- Consider implementing additional rate limiting for large-scale scraping
- The actor works best with the Apify platform's infrastructure
🆘 Support
For issues, questions, or feature requests, please open an issue in the repository or contact support.
Made with ❤️ for the AI community | Powered by Apify