Skip to content

Google Maps Reviews Scraper tool to scrape maps reviews results with simple API. Get reviewer information alongside the review text and response.

Notifications You must be signed in to change notification settings

serpapi/google-maps-reviews-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Google Maps Reviews Scraper

Google Maps Reviews Scraper tool

Google Maps Reviews Scraper - A tool to scrape reviews from Google Maps with a simple API. Get reviews information like reviewer details and the review text itself.

We provide the results in a structured JSON format, eliminating the need for parsing, coding, proxies, or any other web scraping headaches for developers.

Here is the response example: Sample results from Google Maps reviews scraper

You can also check out the full documentation here: Google Maps Reviews API

How to scrape Google Maps Reviews?

Using a simple GET request, you can retrieve Google Maps Reviews search results:

https://serpapi.com/search.json?engine=google_maps_reviews&data_id={PLACE_DATA_ID}&api_key=YOUR_API_KEY

Code examples

Here are some code examples based on your favorite programming languages.

cURL Integration

curl --get https://serpapi.com/search \
 -d api_key="YOUR_API_KEY" \
 -d engine="google_maps_reviews" \
 -d hl="en" \
 -d data_id="0x89c259af336b3341:0xa4969e07ce3108de"

Ensure to replace the data_id value with the place data_id you want.

Python Integration

Preparation for accessing the SerpApi API in Python

Step 1:
Create a new main.py file. (You can name it whatever you want)

Step 2:
Install requests package with:

pip install requests

Step 3:
Add this code to your file:

import requests
SERPAPI_API_KEY = "YOUR_SERPAPI_API_KEY"

params = {
    "api_key": SERPAPI_API_KEY, 
    "engine": "google_maps_reviews",
    "data_id": "0x89c259af336b3341:0xa4969e07ce3108de"
}

search = requests.get("https://serpapi.com/search", params=params)
response = search.json()
print(response)

If you're only interested in the reviews, you can print them from the response directly. It's an array of reviews:

print(response["reviews"])

JavaScript Integration

Step 1:
Install the SerpApi JavaScript package:

npm install serpapi

Step 2:
Create a new index.js file. (You can name it whatever you want)

Step 3:
Add this to your file for basic search:

const { getJson } = require("serpapi");
getJson({
  api_key: API_KEY, // Put your API Key
  engine: "google_maps_reviews",
  hl: "en",
  data_id: "0x89c259af336b3341:0xa4969e07ce3108de"
}, (json) => {
  console.log(json["reviews"]);
});

We're printing the reviews from Google Maps in this case.

Other Programming Languages

While you can use our APIs using a simple GET request with any programming language, you can also see our ready-to-use libraries here: SerpApi Integrations.

Google Maps Reviews Scraper Parameter

Please find the parameters for the Google Maps Reviews API below:

Name Description Requirement
data_id Parameter defines the Google Maps data ID. Required
hl Parameter defines the language to use for the Google Maps search. It's a two-letter language code. (e.g.,en for English, es for Spanish, or fr for French). Optional
sort_by Parameter is used for sorting and refining results. Available options: qualityScore, newestFirst, ratingHigh, or ratingLow Optional
topic_id Parameter defines the ID of the topic you want to use for filtering reviews. You can access IDs inside our structured JSON response. topic_id and query parameters can't be used together. Optional
query Parameter defines a text query you want to use for filtering reviews. Optional
Pagination
num Parameter defines the maximum number of results to return. It ranges from 1 to 20. It defaults to 10. Parameter cannot be used on the initial page when neither next_page_token, topic_id, nor query is set. It always returns 8 results. Optional

You can also use place_id instead of data_id. It can also be found using our Google Maps API

Available data on Google Maps Reviews (JSON Response)

Google Maps Reviews can return different information from time to time, depending on what information is available on their side. Here is what the reviews array may contain:

"reviews": [
    {
      "link": "String - Link to the review",
      "user": {
        "name": "String - Name of the user",
        "link": "String - Link to the user profile",
        "contributor_id": "String - The contributor id of the user, can be used in SerpApi's Google Maps Contributor Reviews API",
        "thumbnail": "String - Link to the user profile picture",
        "local_guide": "Boolean - Whether the user is a local guide",
        "reviews": "Integer - Number of reviews the user has made",
        "photos": "Integer - Number of photos the user has uploaded"
      },
      "source": "String - Source of the review",
      "review_id": "String - ID of the review",
      "likes": "Integer - Number of likes the review has",
      "rating": "Float - Rating of the review",
      "date": "String - Date of the review",
      "iso_date": "String - ISO 8601 date of the review",
      "iso_date_of_last_edit": "String - Date when the user last edited the review. Shown in ISO 8601 format",
      "snippet": "String - Snippet of the review (can be a mix of original and translated text)",
      "extracted_snippet": {
        "original": "String - Original review snippet",
        "translated": "String - Translated review snippet according to the `hl` parameter"
      },
      "details": {
        "service/criterion e.g. parking, food": "String - Details of the service/criterion"
      },
      "translated_details": {
        "service/criterion e.g. parking, food": "String - Translated details of the service/criterion (partial)"
      },
      "images": "Array - Images of the review",
      "response": {
        "date": "String - Date of the response",
        "iso_date": "String - ISO 8601 date of the response",
        "iso_date_of_last_edit": "String - Date when the user last edited the response. Shown in ISO 8601 format",
        "snippet": "String - Text of the response (can be a mix of original and translated text)",
        "extracted_snippet": {
          "original": "String - Original response snippet",
          "translated": "String - Translated response snippet according to the `hl` parameter"
        },
      }
    },
  ]

Use cases

Here are some use cases, but not limited to, for the Google Maps Reviews API:

  1. Competitor Benchmarking: Quickly compare ratings, sentiment, and customer feedback across competing businesses in any location.
  2. Location & Market Research: Use review volume and sentiment trends to evaluate whether a neighborhood is suitable for opening a new business.
  3. Automated Review Monitoring: Continuously track new reviews and get alerts when ratings drop or complaints spike.
  4. Sentiment & Topic Analysis: Extract insights from customer reviews to understand common praises, complaints, and improvement opportunities.
  5. Local SEO & Reputation Management: Analyze and manage online reputation by tracking rating trends and identifying high-impact positive or negative reviews.

Blog tutorial

No code solution:

Interesting use cases:

Video tutorial

Contacts

Feel free to reach out via [email protected].

Check other Google Scraper from SerpApi.

About

Google Maps Reviews Scraper tool to scrape maps reviews results with simple API. Get reviewer information alongside the review text and response.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published