Google Maps MCP
Pricing
$3.99 / 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.
5.0 (2)
Pricing
$3.99 / 1,000 results
0
1
0
Last modified
2 days ago
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 using browser automation with Playwright.
๐ Features
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 โ Browser Automation - Reliable scraping using Playwright โ 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 Parameters
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-100) |
Reviews Mode Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
placeUrl | string | - | Google Maps place URL |
maxReviews | integer | 50 | Maximum number of reviews to scrape (1-1000) |
๐ Input Examples
Example 1: Search for Businesses
{"mode": "search","searchQuery": "pizza restaurant","location": "New York, NY","maxResults": 20}
Example 2: Scrape Reviews
{"mode": "reviews","placeUrl": "https://www.google.com/maps/place/Joe's+Pizza/@40.7308314,-73.9973325,17z","maxReviews": 100}
๐ Output Format
Search Mode Output
Each business includes:
{"index": 1,"name": "Joe's Pizza","category": "Pizza restaurant","rating": 4.5,"review_count": 1234,"price_level": "$$","address": "7 Carmine St, New York, NY 10014","phone": "+1 212-366-1182","website": "https://www.joespizzanyc.com","url": "https://www.google.com/maps/place/Joe's+Pizza/@40.7308314,-73.9973325,17z","place_id": "ChIJxxx...","latitude": 40.7308314,"longitude": -73.9973325,"scraped_at": "2025-11-02T20:30:00"}
Reviews Mode Output (Flattened Format)
One review per row for easy analysis - each dataset item represents a single review with place metadata:
{"place_metadata": {"place_url": "https://www.google.com/maps/place/...","scraped_at": "2025-11-02T20:30:00","business_name": "Joe's Pizza","rating": 4.5,"total_reviews": 1234,"category": "Pizza restaurant","address": "7 Carmine St, New York, NY 10014"},"review_id": "ChZDSUhNMG9nS0VJQ0FnSUQ...","reviewer_name": "John Smith","reviewer_avatar": "https://lh3.googleusercontent.com/...","rating": 5.0,"review_text": "Best pizza in NYC! The crust is perfect and the sauce is amazing...","review_date": "2 months ago","likes": 42}
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
๐ ๏ธ Local Development
Prerequisites
pip install -r requirements.txtplaywright install chromium
Create Input File
Create storage/key_value_stores/default/INPUT.json:
For Search Mode:
{"mode": "search","searchQuery": "coffee shop","location": "San Francisco, CA","maxResults": 10}
For Reviews Mode:
{"mode": "reviews","placeUrl": "https://www.google.com/maps/place/Blue+Bottle+Coffee/@37.7749295,-122.4194155,17z","maxReviews": 50}
Run Locally
cd Google/mcpapify run
Check Results
Results are saved in:
storage/datasets/default/- Individual recordsstorage/key_value_stores/default/OUTPUT.json- Complete output
๐ Deployment
Using Apify CLI
# Login to Apifyapify login# Push to Apify platformapify push
Manual Upload
- Create a new actor on Apify Console
- Upload all files including
Dockerfile,requirements.txt, and.actor/directory - Configure input parameters
- Run the actor
๐ API Integration
JavaScript/Node.js
const { ApifyClient } = require("apify-client");const client = new ApifyClient({ token: "YOUR_API_TOKEN" });// Search for businessesconst searchInput = {mode: "search",searchQuery: "sushi restaurant",location: "Los Angeles, CA",maxResults: 25};const run = await client.actor("YOUR_ACTOR_ID").call(searchInput);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Found ${items.length} businesses`);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')# Scrape reviewsreviews_input = {'mode': 'reviews','placeUrl': 'https://www.google.com/maps/place/...','maxReviews': 100}run = client.actor('YOUR_ACTOR_ID').call(run_input=reviews_input)for item in client.dataset(run['defaultDatasetId']).iterate_items():print(f"Review: {item['review_text']}")print(f"Rating: {item['rating']}")
โก Performance Tips
Optimize Speed
- Start with lower
maxResults/maxReviewsfor testing - Use specific search queries for better results
- Limit location scope for faster searches
- Process fewer businesses per run for faster completion
Best Practices
- Add delays between requests (built-in)
- Don't scrape the same content repeatedly
- Respect Google's servers - use reasonable limits
- Consider batching requests across multiple runs
โ ๏ธ Limitations
- Public Content Only - Cannot access restricted or private data
- No Authentication - Requires public access to content
- Rate Limits - Google may throttle excessive requests
- Browser-Based - Slower than direct API but more reliable
- Dynamic Content - Some features may change if Google updates layout
๐ Troubleshooting
No Results Returned
- Verify search query and location are correct
- Check if the place URL is valid and accessible
- Try with smaller
maxResults/maxReviewsvalues first - Review logs for specific error messages
Timeout Errors
- Content may be loading slowly
- Try with fewer items or smaller limits
- Check if Google Maps is accessible from your location
Missing Data Fields
- Some fields may be null if not available
- Not all businesses have all information
- Reviews may vary in completeness
๐ 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/ - Dedicated business search scraper
- ../google-maps-reviews/ - Dedicated reviews scraper
๐ก Notes
- This MCP server uses browser automation to access Google Maps public interface
- 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
On this page
Share Actor:
