· 12 min read
Google Maps MCP: 16 Data Fields, Up to 1,000 Free Results/Month (2026)
Extracting Google Maps data costs $5.00 per 1,000 results on the free plan across two primary modes for business listings and public place reviews. The actor provides structured output across 11 supported languages without requiring Google logins or API keys. This tool fits teams feeding structured location records and customer feedback into AI models or analytical databases. It is not suitable for users seeking verified owner email addresses, as the returned business records only include publicly listed websites and phone numbers.
Try it: open Google Maps MCP on Apify, sign in on the free plan and run the prefilled example.
Can you try Google Maps MCP before paying?
Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of Google Maps MCP a month, before run-start charges and platform usage.
The example request further down caps maxResults at 5, so a first run returns at most 5 results and costs at most $0.025 in result charges. That is enough to see the real shape of the data before deciding anything.
Google Maps MCP was last updated on 2026-09-27. It is one of 1,725 Actors CrawlerBros publishes on Apify, which together have 686,268 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.
What does it cost to run Google Maps MCP?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.01 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
Result charges are driven directly by the count of items written to the dataset via maxResults in search mode or maxReviews in reviews mode. The cheapest way to test your query configuration is running with maxResults set to 5, which caps result charges at $0.025. Adding nested details or changing the language parameter does not increase the unit price per result.
How do you run Google Maps MCP from the API?
The schema marks 1 of its 9 controls as required: mode. The payload below uses the schema's own prefilled values, so it runs as written once you substitute your API token.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~google-maps-mcp/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"search","searchQuery":"coffee shop in New York","location":"","maxResults":5,"language":"en","maxReviews":50}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search",
"searchQuery": "coffee shop in New York",
"location": "",
"maxResults": 5,
"language": "en",
"maxReviews": 50
}
run = client.actor("crawlerbros~google-maps-mcp").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"mode": "search",
"searchQuery": "coffee shop in New York",
"location": "",
"maxResults": 5,
"language": "en",
"maxReviews": 50
}
const run = await client.actor('crawlerbros~google-maps-mcp').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
The synchronous endpoint holds the connection open until the run finishes, which is convenient for small batches and wrong for large ones. For anything long running, start the run asynchronously and poll, or attach a webhook, so a dropped connection does not cost you the results.
Which Google Maps MCP inputs matter, and which can you skip?
The primary control is mode, which toggles between search and reviews and dictates which additional parameters are active. For search operations, searchQuery and location dictate the dataset scope, while placeUrl or placeId control review extraction. Most workflows can safely leave proxyConfiguration at its defaults, as the Actor manages public recovery automatically.
mode(string): Choose the scraping mode: search for businesses, or scrape reviews from a specific place. Default:"search".searchQuery(string): What to search for (e.g., 'restaurant', 'hotel', 'coffee shop'). Required for 'search' mode.location(string): Location to search in (e.g., 'New York, NY', 'London, UK'). Required for 'search' mode. Default:"".maxResults(integer): Maximum number of business results to scrape. Only used in 'search' mode. Default:20.language(string): Language code for results (e.g., 'en', 'de', 'fr'). Default:"en".placeUrl(string): Google Maps place URL to scrape reviews from. Required for 'reviews' mode.placeId(string): Canonical Google Place ID beginning with ChIJ. Use this instead of placeUrl in reviews mode.maxReviews(integer): Maximum number of reviews to scrape. Only used in 'reviews' mode. Default:50.proxyConfiguration(object): Select proxies to be used by this actor. Recommended for avoiding rate limits.
Fixed-choice controls: mode accepts search (Search Businesses), reviews (Scrape Reviews); language accepts 11 values (default en), including en (English), es (Spanish), fr (French), de (German).
What does Google Maps MCP return?
Returned records provide structured place details including coordinates, category, price level, phone, and flattened individual reviews. The dataset conspicuously omits internal private metrics, owner contact emails, and social media handles that are not directly published on the Google Maps listing.
recordType(e.g.business)index(e.g.1)name(e.g.Joe's Pizza)category(e.g.Pizza restaurant)rating(e.g.4.5)reviewsCount(e.g.1234)priceLevel(e.g.$)address(e.g.7 Carmine St, New York, NY 10014)phone(e.g.+1 212-366-1182)website(e.g.https://www.joespizzanyc.com)googleMapsUrl(e.g.https://www.google.com/maps/place/Joe's+Pizza...)placeIdfeatureIdlocationscrapedAt(e.g.2025-11-02T20:30:00+00:00)sourceUrl(e.g.https://www.google.com/maps/place/Joe's+Pizza...)
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open Google Maps MCP and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Select the operation type by setting mode to either search or reviews.
- For business discovery, provide searchQuery and location while capping maxResults to 5 for an initial trial.
- For review extraction, supply either placeUrl or placeId alongside a modest maxReviews value.
- Set language to your preferred interface code (such as en, es, or fr) to match target localizations.
- Execute the run and inspect the returned dataset items for expected identifiers like placeId and recordType.
- Review the populated fields in the output, checking that phone, website, or reviewText meet your ingestion requirements before increasing dataset limits.
How do you apply it? Three worked playbooks
These are Google Maps MCP's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Market Research
Outcome: Analyze competitor locations and ratings
Configure: Set mode to search, searchQuery to your industry vertical (e.g., 'coffee shop'), location to the target metro area, and maxResults to 50.
Working method: Run a search over the target city, inspect the returned business rows, and aggregate the rating and reviewsCount metrics across distinct competitor names.
Deliverable: A structured dataset of competitor businesses containing names, addresses, coordinates, categories, and average ratings.
Stop condition: The returned results contain entirely irrelevant business categories or fail to return coordinates.
Use case 2: Location Planning
Outcome: Find optimal areas for new business locations
Configure: Set mode to search, searchQuery to your complementary or rival category, location to candidate neighborhoods, and maxResults to 100.
Working method: Run separate searches across planned zip codes or sub-districts, plot the returned location lat and lng coordinates, and calculate local business density.
Deliverable: A geographic inventory of existing venues with location coordinates, priceLevel indicators, and review counts.
Stop condition: Output coordinates cluster outside the designated location boundaries.
Use case 3: Competitive Analysis
Outcome: Track competitor reviews and ratings
Configure: Set mode to reviews, placeId to the target competitor canonical ID, and maxReviews to 200.
Working method: Trigger the review extraction run for the specific place, ingest flattened review items, and parse reviewText and rating to evaluate recurring feedback patterns.
Deliverable: A tabular collection of individual customer reviews containing reviewer names, raw dates, star ratings, and full text feedback.
Stop condition: The run returns zero review items or placeMetadata fails to match the expected competitor name.
What breaks, and how do you design around it?
Google Maps caps standard public search visibility, so large query bounds should be split across narrower local terms rather than relying on high result ceilings in one run. If review scraping encounters throttle limits, break high review targets across sequential scheduled tasks using placeId.
When should you not use Google Maps MCP?
Do not use this Actor if your project requires direct email address enrichment and social profiles from business websites. For comprehensive lead generation with contact enrichment, use Google Maps Email Extractor instead. If your use case requires mapping large geographic bounding boxes that exceed normal list pagination limits, use Google Maps Area Scanner to run automated grid scans.
What should you check before trusting the output?
- Verify that recordType matches the requested execution mode, returning business for searches or review for place comments.
- Check that placeId is present and formatted with a canonical identifier beginning with ChIJ.
- Ensure rating contains a valid numeric value rather than null when evaluating aggregate scores or user ratings.
- Confirm that reviewDateOriginal is populated as a non-empty string on review records.
- Stop execution or flag a batch if a search run yields zero dataset items despite a valid searchQuery.
None of this proves a record is correct. It gives a scheduled Google Maps MCP run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
How much does running this Actor cost on Apify?
Results are priced at $0.005 per result, which equals $5.00 per 1,000 results on the free plan. Apify includes $5.00 of monthly usage on the free tier, allowing up to 1,000 results at no cost before standard platform usage and memory fees apply.
Does this Actor require Google API credentials or browser cookies?
No. The Actor accesses public Google Maps interfaces without requiring an API key, Google account login, or session cookies.
How do I choose between placeUrl and placeId in reviews mode?
You can provide either parameter. Supplying a canonical Google Place ID starting with ChIJ is preferred for consistency, but standard public Google Maps URLs are automatically normalized.
Can I search for businesses in non-English languages?
Yes. The language parameter supports 11 interface languages including Spanish, French, German, Japanese, and Russian to retrieve localized category strings and place metadata.
What format are reviews returned in?
Reviews are output in a flattened format with one review per row. Each row contains the individual review text, author details, and rating alongside embedded placeMetadata for straightforward tabular export.
Where to go next
When you are ready to run it, open Google Maps MCP on Apify; the free plan covers up to 1,000 results a month.
Start with the Google Maps MCP Actor page for the current input schema, pricing tier, and run history.
It is part of the Google Maps Scraping Suite, which puts every related Actor on one page with its price and run history.
Other Actors we maintain for related data:
- Google Maps Nearby Places: Find places near a coordinate.
- Google Maps Email Extractor: Extract business emails, phone numbers, and social media links from Google Maps.
- Google Maps Similar Places Scraper: Extract 'People also search for' / similar / related places from any Google Maps business page - name, place ID, rating, reviews, category, image, and coordinates.
- Google Maps Area Scanner: Comprehensive geographic area scanner that bypasses Google Maps' 120-place limit using grid-based systematic coverage.
- Google Maps Photos Scraper: Extract photos from any Google Maps place - carousel scraping with max-resolution URLs, contributor info, and category metadata.
- Google Maps Directions Scraper: Extract driving, walking, bicycling, and transit directions between any two locations from Google Maps - distance, duration, traffic, route alternatives, and turn-by-turn steps.
- Google Maps Timezone & Local Time Lookup: Resolve the IANA timezone, current local time, UTC offset, and daylight-saving information for any coordinate.
- Reddit MCP Scraper: Unified Reddit scraper supporting 3 modes: (1) Subreddit posts with content extraction, (2) Post comments with threading, (3) User profiles with metadata.
Related guides:
- Google Maps Email Extractor: 3 Practical Use Cases
- Google Maps Area Scanner: Practical Use Cases and Implementation Guide
- Building a B2B Lead Pipeline with Google Maps and Lead Finder
- Google Maps Scraper: 49 Data Fields, Up to 1,000 Free Results/Month
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-27.
Actor last updated by its maintainers on 2026-09-27.
Run outcome figures cover the 30 day public window ending 2026-09-27.
Featured actors
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.
Run on Apify ↗