Google Maps Reviews API

Our Google Maps Reviews API allows you to scrape reviews from Google Maps. The API is accessed through the following endpoint: /search?engine=google_maps_reviews.

A user may query the following: https://serpapi.com/search?engine=google_maps_reviews utilizing a GET request. Head to the playground for a live and interactive demo.

API Parameters

Search Query

data_id

Optional

Parameter defines the Google Maps data ID. Find the data ID by using our Google Maps API.

Either data_id or place_id should be set.

Localization

hl

Optional

Parameter defines the language to use for the Google Maps Reviews search. It's a two-letter language code, for example, en for English (default), es for Spanish, or fr for French). Head to the Google languages page for a full list of supported Google languages.

Advanced Google Maps Reviews Parameters

place_id

Optional

Parameter defines the unique reference to a place on a Google Map. Place IDs are available for most locations, including businesses, landmarks, parks, and intersections. You can find the place_id using our Google Maps API.

You can read more about Place IDs here.

Either data_id or place_id should be set.

sort_by

Optional

Parameter is used for sorting and refining results. Available options:

qualityScore - the most relevant reviews (default).
newestFirst - the most recent reviews.
ratingHigh - the highest rating reviews.
ratingLow - the lowest rating reviews.

topic_id

Optional

Parameter defines the ID of the topic you want to use for filtering reviews. You can access IDs inside our structured JSON response.

Pagination

next_page_token

Optional

Parameter defines the next page token. It is used for retrieving the next page results.
Usage of start parameter (results offset) has been deprecated by Google.

Serpapi Parameters

engine

Required

Set parameter to google_maps_reviews to use the Google Maps Reviews API engine.

no_cache

Optional

Parameter will force SerpApi to fetch the Google Maps Reviews results even if a cached version is already present. A cache is served only if the query and all parameters are exactly the same. Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month. It can be set to false (default) to allow results from the cache, or true to disallow results from the cache. no_cache and async parameters should not be used together.

async

Optional

Parameter defines the way you want to submit your search to SerpApi. It can be set to false (default) to open an HTTP connection and keep it open until you got your search results, or true to just submit your search to SerpApi and retrieve them later. In this case, you'll need to use our Searches Archive API to retrieve your results. async and no_cache parameters should not be used together. async should not be used on accounts with Ludicrous Speed enabled.

api_key

Required

Parameter defines the SerpApi private key to use.

output

Optional

Parameter defines the final output you want. It can be set to json (default) to get a structured JSON of the results, or html to get the raw html retrieved.

API Results

JSON Results

JSON output includes structured data for place information, topics, and reviews results.

A search status is accessible through search_metadata.status. It flows this way: Processing -> Success || Error. If a search has failed, the error will contain an error message. search_metadata.id is the search ID inside SerpApi.

HTML Results

This API does not have html response, just a text. search_metadata.prettify_html_file contains prettified version of result. It is displayed in playground.

API Examples

JSON structure overview

{
  ...
  "place_info": {
    "title": "String - Title of the place",
    "address": "String - Address of the place",
    "rating": "Float - Rating of the place",
    "reviews": "Integer - Number of reviews the place has"
  },
  "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",
      "summary": "String - Summary of the review",
      "visited": "String - Date the user visited the place",
      "likes": "Integer - Number of likes the review has",
      "rating": "Float - Rating of the review",
      "date": "String - Date of the review",
      "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"
      },
      "extensions": "Array - Extensions of the review",
      "images": "Array - Images of the review",
      "response": {
        "date": "String - Date of the response",
        "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"
        },
      }
    },
  ],
  "topics": [
    {
      "keyword": "String - Keyword of the topic",
      "mentions": "Integer - Number of mentions of the topic",
      "id": "String - ID of the topic"
    },
  ]
  ...
}

Results for: Stumptown Coffee Roasters

Results for: Stumptown Coffee Roasters

JSON Example

{
  "search_metadata": {
    "id": "64a6409315afff51c012608f",
    "status": "Success",
    "json_endpoint": "https://serpapi.com/searches/a5dfacd5a3d038ee/64a6409315afff51c012608f.json",
    "created_at": "2023-07-06 04:18:27 UTC",
    "processed_at": "2023-07-06 04:18:28 UTC",
    "google_maps_reviews_url": "https://www.google.com/async/reviewDialog?hl=en&async=feature_id:0x54950a03a1987c13:0xad04b0a54fd20dc8,sort_by:,next_page_token:,associated_topic:,_fmt:json",
    "raw_html_file": "https://serpapi.com/searches/a5dfacd5a3d038ee/64a6409315afff51c012608f.html",
    "prettify_html_file": "https://serpapi.com/searches/a5dfacd5a3d038ee/64a6409315afff51c012608f.prettify",
    "total_time_taken": 1.07
  },
  "search_parameters": {
    "engine": "google_maps_reviews",
    "data_id": "0x54950a03a1987c13:0xad04b0a54fd20dc8",
    "hl": "en"
  },
  "place_info": {
    "title": "Stumptown Coffee Roasters",
    "address": "1026 SW Harvey Milk St, Portland, OR",
    "rating": 4.4,
    "reviews": 821
  },
  "topics": [
    {
      "keyword": "ace hotel",
      "mentions": 39,
      "id": "/m/05p7scf"
    },
    {
      "keyword": "latte",
      "mentions": 38,
      "id": "/m/01nr56"
    },
    {
      "keyword": "baristas",
      "mentions": 31,
      "id": "/m/01f1n4"
    },
    ...
  ],
  "reviews": [
    {
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChZDSUhNMG9nS0VJQ0FnSURoOU1LdVhBEAE!2m1!1s0x0:0xad04b0a54fd20dc8!3m1!1s2@1:CIHM0ogKEICAgIDh9MKuXA%7CCgsI-tODoAYQyIncMQ%7C?hl=en-US",
      "rating": 4.0,
      "date": "4 months ago",
      "images": [
        "https://lh5.googleusercontent.com/p/AF1QipOiVdc-pjEGRpcokwhL0wGT-MCWlKnnY2gZ21gt=w100-h100-p-n-k-no",
        "https://lh5.googleusercontent.com/p/AF1QipNK7nj5LvejCRYJxvJQkW_siP-gPr9tBY1xXPCR=w100-h100-p-n-k-no",
        "https://lh5.googleusercontent.com/p/AF1QipOdLG33ZgCZWLeSyweMQNntuNVn5-amEJOcPYyb=w100-h100-p-n-k-no",
        ...
      ],
      "source": "Google",
      "review_id": "ChZDSUhNMG9nS0VJQ0FnSURoOU1LdVhBEAE",
      "user": {
        "name": "K.M.A.",
        "link": "https://www.google.com/maps/contrib/109736708296406538146?hl=en-US",
        "contributor_id": "109736708296406538146",
        "thumbnail": "https://lh3.googleusercontent.com/a-/AD_cMMQlLeqQ9IdnOyRuidXy3sXec5qgTPPb-9thatnOLwTGMAM=s40-c-rp-mo-ba5-br100",
        "local_guide": true,
        "reviews": 197,
        "photos": 918
      },
      "snippet": "I visited here because apparently it's an iconic establishment in Portland. I'm not much of a coffee drinker, unless I'm absolutely exhausted, but it was chill just crossing it off my list. I don't know if it is worth the drive from out of town tho. Maybe make it a part of your day if you're exploring Portland instead because it definitely is hard to find parking. I parked near a hydrant, thank goodness I didn't get a ticket, just for this opportunity. I purchased the decaf ice latte based upon the recommendation of the worker there.\n\nChill atmosphere!\n\nVegetarian options: Oat milk.\n\nParking: Hard to find parking. I recommend traveling here on foot.\n\nDietary restrictions: Oat milk is the default. But I'm pretty sure they can accommodate to a point.",
      "extensions": [
        "Take out",
        "Breakfast",
        "$1–10"
      ],
      "details": {
        "vegetarian_options": "Oat milk.",
        "parking": "Hard to find parking. I recommend traveling here on foot.",
        "dietary_restrictions": "Oat milk is the default. But I'm pretty sure they can accommodate to a point.",
        "mode": "Take out",
        "meal_type": "Breakfast",
        "price_range": "$1–10",
        "food": "4/5",
        "service": "5/5",
        "atmosphere": "5/5",
        "parking_space": "Somewhat difficult to find parking",
        "parking_options": "Paid street parking"
      }
    },
    {
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChdDSUhNMG9nS0VJQ0FnSUR1cmNDYjdBRRAB!2m1!1s0x0:0xad04b0a54fd20dc8!3m1!1s2@1:CIHM0ogKEICAgIDurcCb7AE%7CCgwI9pekmAYQoPaZ5QI%7C?hl=en-US",
      "rating": 4.0,
      "date": "10 months ago",
      "images": [
        "https://lh5.googleusercontent.com/p/AF1QipPztf3K7Wy4sYPnzwqRGpeNd9VLsiyyI4S4PDcv=w100-h100-p-n-k-no",
        "https://lh5.googleusercontent.com/p/AF1QipPaszHn2KKOeV0w6A6AN5JIvLQNVZ6rUjkazpyO=w100-h100-p-n-k-no",
        "https://lh5.googleusercontent.com/p/AF1QipPWr3rT8feXGmT74QAJYb2ySC1W8u2OKGzxVv5k=w100-h100-p-n-k-no",
        "https://lh5.googleusercontent.com/p/AF1QipOGSaUt9iU9u4XrLaoupyvVtbUR2XAg4KUazWOv=w100-h100-p-n-k-no"
      ],
      "source": "Google",
      "review_id": "ChdDSUhNMG9nS0VJQ0FnSUR1cmNDYjdBRRAB",
      "user": {
        "name": "DK",
        "link": "https://www.google.com/maps/contrib/107227344732875804685?hl=en-US",
        "contributor_id": "107227344732875804685",
        "thumbnail": "https://lh3.googleusercontent.com/a-/AD_cMMRWUXUyqBFuTqWwR766iIl2a0nyB8ypiGZNXX8SgNie5wQ=s40-c-rp-mo-ba5-br100",
        "local_guide": true,
        "reviews": 176,
        "photos": 600
      },
      "snippet": "Always a joy to swing by this location. Right coffee to start the morning, and you can take a sip at the lobby of Ace Hotel - which is a beautiful space to be in on its own.",
      "extensions": [
        "Take out",
        "Other",
        "$1–10"
      ],
      "details": {
        "mode": "Take out",
        "meal_type": "Other",
        "price_range": "$1–10"
      }
    },
    {
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChdDSUhNMG9nS0VJQ0FnSURSNktIcTd3RRAB!2m1!1s0x0:0xad04b0a54fd20dc8!3m1!1s2@1:CIHM0ogKEICAgIDR6KHq7wE%7CCgsIt4ryoQYQqJfAXw%7C?hl=en-US",
      "rating": 5.0,
      "date": "2 months ago",
      "images": [
        "https://lh5.googleusercontent.com/p/AF1QipODBIKpOPDwGk07p2IwHetnGhDK9EOfgaT9KtwB=w100-h100-p-n-k-no",
        "https://lh5.googleusercontent.com/p/AF1QipMvs5OxLA70krEsrF7I9rmoeVnuUI3ir9kQt8Ga=w100-h100-p-n-k-no",
        "https://lh5.googleusercontent.com/p/AF1QipOzpFm1YPF6KhgQkuf1eXVrOYMZ-iwuXCaOSLVn=w100-h100-p-n-k-no",
        "https://lh5.googleusercontent.com/p/AF1QipOj87UZ89rFxw1ShEwro_UVzlmDVHssle_2jBxM=w100-h100-p-n-k-no",
        "https://lh5.googleusercontent.com/p/AF1QipMmsPWPFxzJcCP2ua58GfBx1OD1VOjmxXyHKYQY=w100-h100-p-n-k-no"
      ],
      "source": "Google",
      "review_id": "ChdDSUhNMG9nS0VJQ0FnSURSNktIcTd3RRAB",
      "user": {
        "name": "Brian Svedin",
        "link": "https://www.google.com/maps/contrib/116347020182324778916?hl=en-US",
        "contributor_id": "116347020182324778916",
        "thumbnail": "https://lh3.googleusercontent.com/a/AAcHTtdf7Wx51Z57q3RLPdq6ZkUVRv_Zs7Mg1CB_tVyGCxl3=s40-c-rp-mo-ba5-br100",
        "local_guide": true,
        "reviews": 85,
        "photos": 316
      },
      "snippet": "A small coffee shop attached to the Ace Hotel. You like fast service, knowledgeable baristas, and great coffee? Well look no further because this is your place. The seating is limited, but there’s more in the hotel lobby, with deep couches and a cozy loft."
    },
    ...
  ],
  "serpapi_pagination": {
    "next": "https://serpapi.com/search.json?data_id=0x54950a03a1987c13%3A0xad04b0a54fd20dc8&engine=google_maps_reviews&hl=en&next_page_token=CAESBkVnSUlDZw%3D%3D",
    "next_page_token": "CAESBkVnSUlDZw=="
  }
}

Results for: Courtland Grand Hotel

For some searches, Google will return aggregated reviews from multiple sources. source can be used to identify review from Google and others.

Results for: Courtland Grand Hotel

JSON Example

{
  ...
  "place_info": {
    "title": "Courtland Grand Hotel, Trademark Collection by Wyndham",
    "address": "165 Courtland St NE, Atlanta, GA",
    "rating": 3.8,
    "reviews": 5577
  },
  "reviews": [
    {
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChdDSUhNMG9nS0VJQ0FnSURKNFAzLTVnRRAB!2m1!1s0x0:0xff59cb0e6f64a2b3!3m1!1s2@1:CIHM0ogKEICAgIDJ4P3-5gE%7CCgwIl5WopQYQyKj2jgM%7C?hl=en-US",
      "rating": 5.0,
      "date": "a week ago",
      "source": "Google",
      "review_id": "ChdDSUhNMG9nS0VJQ0FnSURKNFAzLTVnRRAB",
      "user": {
        "name": "Joanne Williams",
        "link": "https://www.google.com/maps/contrib/104755839379271771218?hl=en-US",
        "contributor_id": "104755839379271771218",
        "thumbnail": "https://lh3.googleusercontent.com/a-/AD_cMMQRugsbUyHCZ2iS6J5cuUhu8Fc7vKsSi9WYT6qt-mZHOSY=s40-c-rp-mo-br100",
        "reviews": 14
      },
      "snippet": "I went to an event in the ballroom. The staff was very welcoming and polite. The room was clean and organized. The event went as planned with no distractions. The lobby was beautiful as well.",
      "extensions": [
        "Solo"
      ],
      "details": {
        "travel_group_type": "Solo"
      }
    },
    {
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChdDSUhNMG9nS0VJQ0FnSUNoazU3eHNRRRAB!2m1!1s0x0:0xff59cb0e6f64a2b3!3m1!1s2@1:CIHM0ogKEICAgIChk57xsQE%7CCgwIhcrSnwYQwNjJvQM%7C?hl=en-US",
      "rating": 5.0,
      "date": "4 months ago",
      "source": "Google",
      "review_id": "ChdDSUhNMG9nS0VJQ0FnSUNoazU3eHNRRRAB",
      "user": {
        "name": "matthew Barton",
        "link": "https://www.google.com/maps/contrib/113383446636357314771?hl=en-US",
        "contributor_id": "113383446636357314771",
        "thumbnail": "https://lh3.googleusercontent.com/a-/AD_cMMRxBleTA0fyiNLZ84W0dAIXFUF5hfNJ3h-we_PTDSttP-EB=s40-c-rp-mo-br100",
        "reviews": 35,
        "photos": 15
      },
      "snippet": "After reading the reviews I was a bit nervous but I was really pleased with my stay. Valet was awesome! The restaurant was super nice and the food was good. Room was clean and tidied up every day. Nice gift shop with anything you would need. Little Starbuck with breakfast options. Super nice pool area, my only complaint would be the indoor pool was freezing so we didn't get to enjoy it much.",
      "details": {
        "rooms": "5/5",
        "service": "5/5",
        "location": "5/5"
      }
    },
    {
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChdDSUhNMG9nS0VJQ0FnSUN4MElEX3ZBRRAB!2m1!1s0x0:0xff59cb0e6f64a2b3!3m1!1s2@1:CIHM0ogKEICAgICx0ID_vAE%7CCgsIstvkogYQ8PuJLA%7C?hl=en-US",
      "rating": 5.0,
      "date": "2 months ago",
      "source": "Google",
      "review_id": "ChdDSUhNMG9nS0VJQ0FnSUN4MElEX3ZBRRAB",
      "user": {
        "name": "Y T",
        "link": "https://www.google.com/maps/contrib/104342031404751743164?hl=en-US",
        "contributor_id": "104342031404751743164",
        "thumbnail": "https://lh3.googleusercontent.com/a/AAcHTtdkha-Xf2kd083a3ErEr85OXd3Mm-v4eySH9y5AR37Y=s40-c-rp-mo-br100",
        "reviews": 12,
        "photos": 2
      },
      "snippet": "The staff is very reactionary and quick to solve any issue. Devon was a big help when I had parking issues related to my disability. Then later we had an issue with a non-hotel goer the hotel security showed up and handled it within just a few minutes.",
      "details": {
        "service": "5/5"
      }
    },
    {
      "date": "5 months ago",
      "source": "Priceline",
      "user": {
        "name": "Debbie",
        "link": "http://www.priceline.com/r/?channel=meta&product=hotel&theme=reviews&refid=PLGOOGLEHARV&refclickid=HARV_56671&hotel_id=56671",
        "thumbnail": "https://lh3.googleusercontent.com/local-reviews/ALLSkjcA0vs1U_zSclIDb9HEZ5TEjUoTneuMx3wNL2UUJ3xYutrIqScMWwDTvE-j3Pg8=s40-c-br100"
      },
      "snippet": "Positive: Clean bar and food was good. Staff very friendly Negative: Was told when I checked in that parking would be $35 so I took that as for the whole stay but was charged $35 a day when I checked out. Was not happy about that. Bathroom small and rooms old"
    },
    ...
  ],
  ...
}