Google Maps Reviews Scraper avatar

Google Maps Reviews Scraper

Pricing

$0.50 / 1,000 reviews

Go to Apify Store
Google Maps Reviews Scraper

Google Maps Reviews Scraper

Scrape Google Maps reviews with exact timestamps, date-range filtering, and bulk input. Extract full review text, ratings, author info, owner responses, and photos for any Google Maps place. Export as CSV, JSON, or Excel.

Pricing

$0.50 / 1,000 reviews

Rating

0.0

(0)

Developer

Beat Analytics

Beat Analytics

Maintained by Community

Actor stats

1

Bookmarked

6

Total users

2

Monthly active users

4 days ago

Last modified

Share

Google Maps Reviews Scraper -- Extract Reviews with Exact Timestamps and Date Filtering

Scrape Google Maps reviews for any place at scale -- extract full review text, exact ISO 8601 timestamps, star ratings, author info, review photos, and business owner responses. Unlike other Google Maps review scrapers, this actor gives you exact review dates (not "2 weeks ago") and efficient date-range filtering that actually works. Find places by URL, Place ID, or built-in search, and export your data as JSON, CSV, Excel, XML, or HTML. Use the data for sentiment analysis, reputation monitoring, location intelligence, or competitive research.

Why use this Google Maps review scraper?

  • ๐Ÿ• Exact timestamps, not "2 weeks ago" -- most Google Maps scrapers only give you relative times like "a month ago." This scraper extracts the exact review date and time in ISO 8601 format (e.g. 2026-05-01T12:34:05+00:00), so your data is precise and ready for time-series analysis.
  • ๐Ÿ“… Date-range filtering that works -- filter reviews by start date, end date, or both. The scraper uses efficient newest-first pagination with early stopping, so it only fetches the pages it needs rather than crawling through an entire review history. Other scrapers' date filtering is often broken or inefficient.
  • ๐Ÿ“ Built-in place search -- find places by search query and location (e.g. "pizza" in "New York") without needing URLs first. All combinations of queries and locations are searched automatically.
  • ๐Ÿ”— Bulk multi-location input -- scrape reviews from dozens or hundreds of places in a single run. Provide Google Maps URLs, share links, Place IDs, or Feature IDs -- mix and match input types freely.
  • ๐Ÿ”„ Automatic translation -- reviews in other languages are automatically translated to your chosen language, with the original text preserved in a separate field.
  • โšก Full review history, no API limits -- the Google Places API only returns up to 5 reviews per place with no pagination. This scraper extracts the full review history -- thousands of reviews per place -- with no API key, no billing setup, and no configuration overhead.
  • ๐Ÿ“ฆ Rich place metadata with every review -- each review includes the place name, address, rating, review count, categories, phone, website, and description. No need to run a separate details scraper.
  • ๐Ÿ’ฌ Business owner responses included -- extract owner reply text, original language text, and reply timestamp for every review that has a response.
  • ๐Ÿ–ผ๏ธ Review photos -- extract all photo URLs attached to each review.
  • ๐Ÿ‘ค Author information -- get the reviewer's display name, Google Maps profile URL, and profile photo.
  • ๐Ÿ“Š Flexible sorting -- sort reviews by newest, most relevant, highest rated, or lowest rated.
  • ๐Ÿ’พ Export as JSON, CSV, Excel, XML, or HTML -- download your Google Maps review data in whichever format your workflow requires. All five formats are available out of the box on the Apify platform.

What data can you extract from Google Maps reviews?

Google Maps Reviews Scraper extracts a comprehensive set of fields for every review, along with full place metadata. Here is the complete list of fields in each output item:

Place information:

  • placeName -- name of the Google Maps place (e.g. "Joe's Pizza Broadway")
  • placeAddress -- full address of the place
  • placeFeatureId -- Google Maps internal feature ID (e.g. 0x89c259ab3c1ef289:0x3b67a41175949f55)
  • placePlaceId -- Google Place ID (e.g. ChIJifIePKtZwokRVZ-UdRGkZzs)
  • placeRating -- overall average rating of the place (e.g. 4.5)
  • placeReviewCount -- total number of reviews for the place
  • placeCategories -- list of place categories (e.g. ["Pizza restaurant", "Italian restaurant"])
  • placePhone -- phone number
  • placeWebsite -- website URL
  • placeDescription -- short description of the place from Google Maps

Review data:

  • rating -- star rating (1-5)
  • text -- full review text, translated to your chosen language if applicable
  • originalText -- original review text before translation (null if the review is in the target language)
  • language -- detected language of the review (ISO 639-1 code, e.g. en, es, de)
  • timestamp -- exact review date and time in ISO 8601 format (e.g. 2026-05-01T12:34:05+00:00)

Author information:

  • authorName -- reviewer's display name
  • authorUrl -- link to the reviewer's Google Maps profile
  • authorPhoto -- URL of the reviewer's profile photo

Review media:

  • photos -- URLs of all photos attached to the review

Business owner response (when present):

  • ownerResponseText -- the owner's reply text, translated if applicable
  • ownerResponseOriginalText -- the owner's reply in the original language
  • ownerResponseTimestamp -- when the owner replied (ISO 8601)

How to scrape Google Maps reviews

Getting started with Google Maps review scraping takes less than two minutes. Follow these five steps to extract your first batch of reviews:

Step 1: Create a free Apify account

Sign up at apify.com if you do not have an account yet. Every new account includes $5 in free credits -- enough to scrape 10,000 Google Maps reviews at no cost.

Step 2: Open the Google Maps Reviews Scraper

Navigate to the Google Maps Reviews Scraper actor page on the Apify Store and click "Try for free" to open the actor in your Apify Console.

Step 3: Add your places or search queries

You have three ways to specify which places to scrape reviews for:

  • Place URLs -- paste Google Maps URLs like https://www.google.com/maps/place/Joe's+Pizza+Broadway/... or share links like https://maps.app.goo.gl/...
  • Place IDs -- enter Google Place IDs (e.g. ChIJifIePKtZwokRVZ-UdRGkZzs) or Feature IDs (e.g. 0x89c259ab3c1ef289:0x3b67a41175949f55)
  • Search -- enter search queries (e.g. "pizza", "hotels") and locations (e.g. "New York, NY"). The scraper searches all combinations of queries and locations and finds matching places automatically.

You can combine all three methods in a single run.

Step 4: Configure optional settings

Optionally, adjust these settings:

  • Set a date range to only get reviews from a specific time period
  • Choose a sort order (newest, most relevant, highest rated, lowest rated)
  • Set a maximum number of reviews per place
  • Change the language for review translation

Step 5: Click Start and download your data

Click the "Start" button to begin scraping. Once the run completes, download your Google Maps review data in any format: JSON, CSV, Excel, XML, or HTML. You can also access the data programmatically via the Apify API, or set up automatic exports to Google Sheets, Dropbox, Amazon S3, and other destinations.

Input parameters

ParameterTypeRequiredDefaultDescription
placeUrlsArray of URLsNo*--Google Maps place URLs or share links to scrape reviews for. Supports full URLs (google.com/maps/place/...) and share links (maps.app.goo.gl/...).
placeIdsArray of stringsNo*--Google Place IDs (ChIJ...) or Feature IDs (0x...:0x...). Can be used instead of or in addition to Place URLs.
searchQueriesArray of stringsNo*--Search terms to find places (e.g. "pizza", "hotels", "dentist"). Used together with searchLocations -- all combinations are searched.
searchLocationsArray of stringsNo--Locations to search in (e.g. "New York, NY", "London, UK"). Used together with searchQueries -- all combinations are searched.
maxPlacesPerSearchIntegerNo20Maximum number of places to find per search query + location combination.
maxReviewsPerPlaceIntegerNounlimitedMaximum number of reviews to scrape per place. Leave empty to scrape all reviews.
startDateDate (YYYY-MM-DD)No--Only include reviews on or after this date. When set, reviews are fetched newest-first for efficient filtering.
endDateDate (YYYY-MM-DD)No--Only include reviews on or before this date. When set, reviews are fetched newest-first for efficient filtering.
sortByStringNonewestSort order for reviews: newest, relevant, highest, or lowest. Automatically set to newest when date filtering is active.
languageStringNoenLanguage code for review translation (e.g. en, de, es). Reviews in other languages are translated to this language.
countryStringNousCountry code (e.g. us, de, gb). Affects which Google region is used for results.

*At least one of placeUrls, placeIds, or searchQueries (with searchLocations) must be provided.

Search example: Setting searchQueries to ["pizza", "sushi"] and searchLocations to ["New York, NY", "Chicago, IL"] runs four searches. With maxPlacesPerSearch at 20, this finds up to 80 places and scrapes reviews for each one.

Date filtering example: Setting startDate to 2025-01-01 and endDate to 2025-06-30 returns only reviews from the first half of 2025. The scraper paginates newest-first and stops as soon as it passes the start date, so it does not need to crawl through years of older reviews.

Output example

Each item in the dataset represents a single review. Results are stored in an Apify dataset and can be exported as JSON, CSV, Excel, XML, or HTML directly from the Apify Console, or accessed programmatically via the Apify API. All fields flatten cleanly to tabular formats like CSV and Excel.

{
"placeName": "Joe's Pizza Broadway",
"placeAddress": "1435 Broadway, New York, NY 10018",
"placeFeatureId": "0x89c259ab3c1ef289:0x3b67a41175949f55",
"placePlaceId": "ChIJifIePKtZwokRVZ-UdRGkZzs",
"placeRating": 4.5,
"placeReviewCount": 22117,
"placeCategories": ["Pizza restaurant", "Italian restaurant"],
"placePhone": "+1 212-391-7777",
"placeWebsite": "https://www.joespizzanyc.com",
"placeDescription": "No-frills, counter-serve pizzeria serving classic NYC slices.",
"rating": 5,
"text": "Best pizza in New York, hands down. The cheese slice is perfection -- crispy, foldable, and loaded with flavor. Worth the wait in line.",
"originalText": null,
"language": "en",
"timestamp": "2026-05-01T12:34:05+00:00",
"authorName": "John D.",
"authorUrl": "https://www.google.com/maps/contrib/1234567890/reviews",
"authorPhoto": "https://lh3.googleusercontent.com/a/example=s120-c-rp-mo-br100",
"photos": [
"https://lh5.googleusercontent.com/p/example1",
"https://lh5.googleusercontent.com/p/example2"
],
"ownerResponseText": "Thanks for the kind words, John! Glad you enjoyed the slice. See you next time!",
"ownerResponseOriginalText": null,
"ownerResponseTimestamp": "2026-05-02T09:15:00+00:00"
}

How much does it cost to scrape Google Maps reviews?

Google Maps Reviews Scraper uses simple, transparent per-result pricing -- you only pay for the reviews you get.

$0.50 per 1,000 reviews -- each review extracted counts as one result. If you scrape 500 reviews from a place, you pay for 500 results. No hidden compute fees, no per-run charges.

Free trial: Every new Apify account comes with $5 in free platform credits -- no credit card required. That is enough to scrape 10,000 Google Maps reviews at no cost, so you can fully evaluate the scraper and data quality before committing.

Enterprise plans: If you need to scrape Google Maps reviews at very high volume -- hundreds of thousands of reviews across thousands of locations on a regular basis -- reach out to sales@beatanalytics.org for custom Enterprise pricing with dedicated support and volume discounts.

Use cases for Google Maps review data

Google Maps review data powers a wide range of business, research, and operational workflows. Here are the most common use cases:

Sentiment analysis and NLP

Feed Google Maps review text into natural language processing pipelines to measure customer sentiment at scale. The exact ISO 8601 timestamps enable precise time-series analysis -- track how sentiment changes after a menu update, a renovation, or a management change. Google Maps reviews are among the most widely used datasets in NLP research because of the pairing of structured ratings with free-text reviews.

Reputation monitoring

Monitor your own business reviews across multiple locations to catch negative feedback early. Schedule regular scraping runs with date-range filtering to only fetch new reviews since the last run. Alert your team when low-rated reviews appear so you can respond promptly. Proactive reputation management prevents small issues from escalating.

Competitive benchmarking

Compare your review ratings, volume, and themes against direct competitors. Use the built-in search feature to find all competitors in a category and location (e.g. "dentist" in "Austin, TX"), then scrape all their reviews in one run. Identify what customers praise about competitors and where your business already stands out.

Location intelligence and site selection

Aggregate review data across businesses in a geographic area to evaluate market conditions. Retailers, restaurant chains, and franchises use review data to identify underserved neighborhoods, measure foot traffic sentiment, and evaluate potential new locations. The place metadata (rating, review count, categories) adds quantitative context alongside qualitative reviews.

Multi-location brand monitoring

Franchise and chain businesses can track review performance across all locations in a single run. Compare ratings and common complaints between locations, identify best-performing stores, and spot locations that need operational attention. Date-range filtering makes it easy to run weekly or monthly review digests.

Market research and trend analysis

Track emerging trends by monitoring what customers mention in reviews across an industry vertical. Use keyword analysis or topic modeling on review text to identify rising product demands, recurring service complaints, or seasonal patterns. The search feature lets you cast a wide net across a metro area or category.

Integrations and API access

Google Maps Reviews Scraper integrates with the Apify platform ecosystem, giving you programmatic access to your scraped data and the ability to connect it to thousands of external tools.

Python

Use the Apify Python SDK to run the scraper and retrieve results programmatically:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run_input = {
"placeUrls": [
{"url": "https://www.google.com/maps/place/Joe's+Pizza+Broadway/@40.7546795,-73.9870291,17z/"}
],
"maxReviewsPerPlace": 100,
"language": "en",
}
run = client.actor("beatanalytics/google-maps-reviews-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['placeName']} - {item['rating']}* - {item['text'][:80]}")

JavaScript / Node.js

Use the Apify JavaScript SDK to integrate Google Maps review scraping into your Node.js applications:

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("beatanalytics/google-maps-reviews-scraper").call({
searchQueries: ["pizza"],
searchLocations: ["New York, NY"],
maxPlacesPerSearch: 10,
maxReviewsPerPlace: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
console.log(`${item.placeName} - ${item.rating}* - ${item.timestamp}`);
});

No-code integrations

Connect Google Maps Reviews Scraper to thousands of apps without writing code:

  • Make (formerly Integromat) -- trigger workflows when new Google Maps review data is scraped, or schedule regular runs as part of larger automations
  • Zapier -- connect Google Maps review data to Google Sheets, Slack, email, CRM tools, and 5,000+ other apps
  • Webhooks -- receive HTTP notifications when a scraping run completes, then process the data in your own backend
  • Google Sheets -- export results directly to a Google Sheets spreadsheet for collaborative analysis
  • Amazon S3 / Dropbox -- automatically save scraped data to cloud storage after each run

Scheduled runs

Set up Google Maps Reviews Scraper to run on a schedule (hourly, daily, weekly, or custom cron) to keep your review data fresh. Use date-range filtering with startDate to only fetch reviews since the last run, making scheduled scrapes fast and cost-efficient. This is particularly useful for reputation monitoring, competitive tracking, and brand management workflows.

API endpoints

Every scraper run on Apify exposes RESTful API endpoints for accessing results, checking run status, and managing datasets. See the Apify API documentation for the complete reference.

Frequently asked questions

How to scrape Google Maps reviews without the API?

Google Maps Reviews Scraper is the easiest way to extract Google Maps reviews without the Google Places API. Open the actor on Apify, add your place URLs, Place IDs, or search queries, and click Start. The scraper handles all pagination and data extraction automatically and returns structured results in JSON, CSV, or any other supported format. No API key, no billing setup, no authentication. See How to scrape Google Maps reviews for a step-by-step guide.

Web scraping of publicly available data is generally legal in the United States, as affirmed by the 2022 US Ninth Circuit ruling in hiQ Labs v. LinkedIn, which established that scraping publicly accessible data does not violate the Computer Fraud and Abuse Act. Google Maps reviews are publicly visible without requiring a login or account.

That said, you should always review Google's Terms of Service and consult with legal counsel if you have concerns about your specific use case. The legality of web scraping can vary by jurisdiction and intended use. Apify provides the scraping infrastructure, but users are responsible for ensuring their use of scraped data complies with applicable laws and terms of service.

How many reviews can I scrape?

There is no hard limit on the total number of reviews you can scrape. The scraper extracts all reviews available for each place, paginating through the full review history automatically. You can control the volume per place using the maxReviewsPerPlace parameter.

For places with thousands of reviews, the scraper handles pagination automatically and fetches every page. If you need to scrape reviews from hundreds or thousands of places in a single run, the scraper processes them concurrently for efficient bulk extraction.

How much does it cost to scrape Google Maps reviews?

Google Maps Reviews Scraper costs $0.50 per 1,000 reviews scraped. Every new Apify account includes $5 in free credits -- enough to scrape 10,000 reviews at no cost. Contact sales@beatanalytics.org for Enterprise pricing on large-scale operations. See How much does it cost to scrape Google Maps reviews? for more details.

How is this different from other Google Maps review scrapers?

This scraper is built for users who need precise, analysis-ready data. The key differences:

  • Exact timestamps -- most Google Maps scrapers only capture relative times like "2 weeks ago" or "a month ago." This scraper extracts the exact date and time in ISO 8601 format, which is essential for time-series analysis, trend tracking, and any workflow where you need to know exactly when a review was posted.
  • Date-range filtering that works -- filter reviews by start date, end date, or both. The scraper uses newest-first pagination with early stopping, so it only fetches the pages it needs. Other scrapers either lack date filtering or implement it inefficiently by crawling the entire review history first.
  • Built-in place search -- find places by query and location directly in the scraper, without needing to collect URLs first.
  • Rich place metadata -- every review includes 10 place-level fields (name, address, rating, categories, phone, website, etc.), so you do not need a separate details scraper.

Can I filter reviews by date?

Yes. Set startDate and/or endDate in the input to only get reviews from a specific time period. For example, setting startDate to 2025-01-01 and endDate to 2025-12-31 returns only reviews from 2025.

When date filtering is active, the scraper automatically sorts reviews newest-first and stops paginating as soon as it passes the start date. This makes date-filtered scrapes much faster and cheaper than scraping the full review history, because the scraper does not need to crawl through years of older reviews.

Can I search for places and scrape their reviews in one run?

Yes. Enter search queries (e.g. "dentist", "coffee shop") and locations (e.g. "San Francisco, CA", "London, UK") in the input. The scraper searches all combinations of queries and locations, finds matching places, and scrapes reviews for each one -- all in a single run. Use maxPlacesPerSearch to control how many places are found per search combination.

What export formats are supported?

The scraper outputs data to an Apify dataset. From the Apify Console, you can export the results as JSON, CSV, Excel (XLSX), XML, or HTML with a single click. The data is also accessible via the Apify API for programmatic access in any format.

How often is the data updated?

The scraper fetches live data from Google Maps every time it runs. There is no caching or stale data -- each run makes fresh requests and returns the most current reviews available at that moment. To track new reviews over time, schedule the scraper to run on a recurring basis (hourly, daily, weekly) using Apify's built-in scheduling feature. Combine scheduled runs with startDate filtering to only fetch reviews posted since the last run.

Can I scrape reviews in languages other than English?

Yes. Set the language parameter to any language code (e.g. de for German, es for Spanish, ja for Japanese). Google Maps will translate reviews written in other languages into your chosen language. The original review text is always preserved in the originalText field, so you get both the translation and the original.

Can I scrape reviews from multiple places at once?

Yes. You can add as many Google Maps place URLs, Place IDs, or Feature IDs as you need in a single run. You can also use the search feature to find multiple places by query and location. The scraper processes all places concurrently, making bulk Google Maps review scraping fast and efficient. There is no limit on the number of places per run.

What is the difference between Place IDs and Feature IDs?

Google Maps uses two types of identifiers for places:

  • Place ID -- a stable identifier that starts with ChIJ (e.g. ChIJifIePKtZwokRVZ-UdRGkZzs). This is the identifier used in the Google Places API and is the most commonly referenced ID format.
  • Feature ID -- an internal Google Maps identifier in the format 0x...:0x... (e.g. 0x89c259ab3c1ef289:0x3b67a41175949f55). This can be found in Google Maps URLs.

The scraper accepts both formats. If you provide a Place ID or a Google Maps URL, it is automatically resolved to the correct place.