Google Maps Contributor Reviews API

Our Google Maps Contributor Reviews API allows you to scrape all the reviews from a Google Maps user. The API is accessed through the following endpoint: /search?engine=google_maps_contributor_reviews. A user may query the following: https://serpapi.com/search?engine=google_maps_contributor_reviews utilizing a GET request. Head to the playground for a live and interactive demo.

API Parameters

Search Query

contributor_id

Required

Parameter defines the Google Maps Contributor ID. It's a series of digits which can be found in the contributor reviews URL.
For example, the contributor ID for the URL https://www.google.com/maps/contrib/110382514725174877672/reviews is 110382514725174877672.
It can also be found by using our Google Maps Place Results API and Google Maps Reviews API.

Localization

gl

Optional

Parameter defines the country to use for the Google Maps Contributor Reviews search. It's a two-letter country code. (e.g., us for the United States, uk for United Kingdom, or fr for France). Head to the Google countries page for a full list of supported Google countries.

hl

Optional

Parameter defines the language to use for the Google Maps Contributor 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.

Pagination

next_page_token

Optional

Parameter defines the next page token. It is used for retrieving the next page results.

num

Optional

Parameter defines the maximum number of results to return. (e.g., 10 (default) returns 10 results, 40 returns 40 results, and 100 returns 100 results).

Serpapi Parameters

engine

Required

Set parameter to google_maps_contributor_reviews to use the Google Maps Contributor Reviews API engine.

no_cache

Optional

Parameter will force SerpApi to fetch the Google Maps Contributor 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 contributor information, 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

{
  ...
  "contributor": {
    "name": "String - Contributor's name",
    "thumbnail": "String - Link to the contributor's profile picture",
    "points": "Integer - The contributor's contribution points",
    "level": "Integer - The contributor's level",
    "local_guide": "Boolean - Whether the contributor is a local guide",
    "contributions": "Hash - The detailed contribution points"
  },
  "reviews": [
    {
      "place_info": {
        "title": "String - Title of the place",
        "address": "String - Address of the place",
        "gps_coordinates": {
          "latitude": "Float - Latitude of the place",
          "longitude": "Float - Longitude of the place",
        },
        "thumbnail": "String - Link to the place's picture",
        "data_id": "String - The Google Maps data ID of the place, can be used in other SerpApi's Google Maps engines",
      },
      "date": "String - Date of the review",
      "snippet": "String - Full text of the review",
      "translated_snippet": "String - Translated full text of the review according to the `hl` parameter",
      "review_id": "String - ID of the review",
      "rating": "Float - Rating of the review",
      "link": "String - Link to the review",
      "likes": "Integer - Number of likes the review has",
      "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"
      },
      "images": [
        {
          "title": "String - Title of the image",
          "thumbnail": "String - Link to the image or video thumbnail",
          "date": "String - Date of the image",
          "snippet": "String - A short comment of the image",
          "video": "String - Video link if this image is a video",
        }
      ],
      "response": {
        "date": "String - Date of the response",
        "snippet": "String - Full text of the response",
        "translated_snippet": "String - Translated full text of the response according to the `hl` parameter",
      }
    },
  ],
  ...
}

Typical results example

Typical results example

JSON Example

{
  "search_metadata": {
    "id": "64f6c92215afff297238e6b5",
    "status": "Success",
    "json_endpoint": "https://serpapi.com/searches/7648da60005da2fe/64f6c92215afff297238e6b5.json",
    "created_at": "2023-09-05 06:22:26 UTC",
    "processed_at": "2023-09-05 06:22:27 UTC",
    "google_maps_contributor_reviews_url": "https://www.google.com/maps/contrib/110382514725174877672/reviews?gl=us&hl=en",
    "raw_html_file": "https://serpapi.com/searches/7648da60005da2fe/64f6c92215afff297238e6b5.html",
    "prettify_html_file": "https://serpapi.com/searches/7648da60005da2fe/64f6c92215afff297238e6b5.prettify",
    "total_time_taken": 0.95
  },
  "search_parameters": {
    "engine": "google_maps_contributor_reviews",
    "gl": "us",
    "hl": "en",
    "contributor_id": "110382514725174877672"
  },
  "contributor": {
    "name": "Caro & Keith Napier",
    "thumbnail": "https://lh3.googleusercontent.com/a-/AD_cMMR8EZa7LPzXzN6tH5oVD0ZWOoMLc-56E9GvkpCcB7qyyqY=s120-c-rp-mo-ba5-br100",
    "points": 12459,
    "level": 7,
    "local_guide": true,
    "contributions": {
      "reviews": 132,
      "ratings": 25,
      "photos": 1535,
      "videos": 0,
      "answers": 2302,
      "edits": 42,
      "places_added": 0,
      "roads_added": 0,
      "facts_checked": 0,
      "q_a": 1,
      "published_lists": 0
    }
  },
  "reviews": [
    {
      "place_info": {
        "title": "Auburn Botanic Gardens",
        "address": "Chisholm Rd &, Chiswick Rd, Auburn NSW 2144, Australia",
        "gps_coordinates": {
          "latitude": -33.8592683,
          "longitude": 151.01741339999998,
        },
        "type": "Botanical garden",
        "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipMs1xAKrYuMqpO2DelAHSeaF1oKtcM5DAyKsSvH=w266-h200-k-no",
        "data_id": "0x6b12bcc2340e5859:0xf017d68f9f2b2d0"
      },
      "date": "a week ago",
      "snippet": "Went to the Cherry Blossom Festival today. Loved seing the peacocks, Wallabies and wombat. The flowers and cherry blossoms are beautiful, and the food stalls were really nice but it was extremely crowded. Also not a fan of the fake turquoise colour of the ponds and waterfalls..... Not sure if it is dyed on purpose or what causes it.",
      "review_id": "ChZDSUhNMG9nS0VJQ0FnSURwaWR1T0N3EAE",
      "rating": 3,
      "likes": 1,
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChZDSUhNMG9nS0VJQ0FnSURwaWR1T0N3EAE!2m1!1s0x0:0xf017d68f9f2b2d0!3m1!1s2@1:CIHM0ogKEICAgIDpiduOCw%7CCgwIlJKdpwYQ4IvKnwM%7C?hl=en-US",
      "details": {
        "visited_on": "Weekday",
        "wait_time": "Up to 10 min",
        "reservation_recommended": "Yes"
      },
      "images": [
        {
          "title": "Auburn Botanic Gardens",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipPbA180LOcSoGnnfjMEH_GbQGtZta9fe9nIjB8t=s10000-k-no",
          "date": "2023-8-24"
        },
        {
          "title": "Auburn Botanic Gardens",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipNEllfNY0d1HwuZ_zZi9y98jJp_ZNRWkjUEnS60=s10000-k-no",
          "date": "2023-8-24"
        },
        {
          "title": "Auburn Botanic Gardens",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipMw8PW7DvLSYBZmYsnFDK_lU6czG_OBwhCZeLhs=s10000-k-no",
          "date": "2023-8-24"
        },
        ...
      ]
    },
    {
      "place_info": {
        "title": "Costa Rica Marriott Hotel Hacienda Belen",
        "address": "700 Meters West From Bridgestone/Firestone, Heredia Province, Heredia, 40703, Costa Rica",
        "gps_coordinates": {
          "latitude": 9.9872377,
          "longitude": -84.17356439999999,
        },
        "type": "Hotel",
        "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipMoy0bimM_ZgErjMyl-QXXTyw1QIdcnVWea8hsA=w355-h200-k-no",
        "data_id": "0x8fa0fa32f22d8ef5:0xa2e125b9e9634d7c"
      },
      "date": "a week ago",
      "snippet": "Beautiful and Authentic hotel with excellent service, manicured gardens and luxurious rooms. Room didn't have a great view but has a great stay regardless.",
      "review_id": "ChdDSUhNMG9nS0VJQ0FnSURweVpMcnF3RRAB",
      "rating": 4,
      "likes": 0,
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChdDSUhNMG9nS0VJQ0FnSURweVpMcnF3RRAB!2m1!1s0x0:0xa2e125b9e9634d7c!3m1!1s2@1:CIHM0ogKEICAgIDpyZLrqwE%7CCgwIq46dpwYQ4N6LlQE%7C?hl=en-US",
      "details": {
        "trip_type": "Vacation",
        "travel_group": "Couple",
        "rooms": 4,
        "service": 5,
        "location": 5,
        "hotel_highlights": "Luxury"
      },
      "images": [
        {
          "title": "Costa Rica Marriott Hotel Hacienda Belen",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipPBcEdzUrgvRquEMzKzUGdsU9vIpqUROS6v7Aiz=s10000-k-no",
          "date": "2023-6-13"
        },
        {
          "title": "Costa Rica Marriott Hotel Hacienda Belen",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipNtLrYp7QrzI8X5Tb25unRGHv75ZhuGoQ2ebZq9=s10000-k-no",
          "date": "2023-6-13"
        },
        {
          "title": "Costa Rica Marriott Hotel Hacienda Belen",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipNwNe-VsjE-JkWXqiij6FHDxNyZUDF9jRb9Fzkp=s10000-k-no",
          "date": "2023-6-13"
        },
        ...
      ]
    },
    {
      "place_info": {
        "title": "Hilton Los Angeles Airport",
        "address": "5711 W Century Blvd, Los Angeles, CA 90045",
        "gps_coordinates": {
          "latitude": 33.9462252,
          "longitude": -118.3816294,
        },
        "type": "Hotel",
        "thumbnail": "//lh6.googleusercontent.com/proxy/2z27jilWw2Nr3BGVTGBuLjbtU1ydVse0JPGWNwEEQcFcivtydoDtxBk26KWiFbkc7cObaYRxBWCW-8CZq6smw31_vgGNeHKvwDIFxpuR7BySNpCJpY0gotb4y-U5Y0pZVx2uRMNW1FIsfd5Rwx4t0MO4fMt8Bxk=w300-h200-k-no",
        "data_id": "0x80c2b6d0ab867dfd:0x677d718bedcbed3f"
      },
      "date": "a week ago",
      "snippet": "Service was excellent but the rooms are very ordinary and out dated. Beds and pillows were comfortable however the towels were torn and worn through, and the shower has nearly no water pressure. The free airport shuttle and proximity to the airport was very convenient, was also nice that we could store our luggage after check out to go do some sightseeing.",
      "review_id": "ChZDSUhNMG9nS0VJQ0FnSURweWV6TmRREAE",
      "rating": 2,
      "likes": 0,
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChZDSUhNMG9nS0VJQ0FnSURweWV6TmRREAE!2m1!1s0x0:0x677d718bedcbed3f!3m1!1s2@1:CIHM0ogKEICAgIDpyezNdQ%7CCgwI8YedpwYQgNCk8AI%7C?hl=en-US",
      "details": {
        "trip_type": "Vacation",
        "travel_group": "Couple",
        "rooms": 1,
        "service": 5,
        "location": 4
      },
      "images": [
        {
          "title": "Hilton Los Angeles Airport",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipPtnYO8pfy57AxMaHek1LL7EnCrPETdLcVS2jJI=s10000-k-no",
          "date": "2023-6-18"
        },
        {
          "title": "Hilton Los Angeles Airport",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipPM2wSKrtrkFnKiGkQk6tDe2tJ1KqLr5U2E3hOK=s10000-k-no",
          "date": "2023-6-18"
        },
        {
          "title": "Hilton Los Angeles Airport",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipPADqBwWythejB3_1N2y77z5JG61R1qdtb14G0U=s10000-k-no",
          "date": "2023-6-18"
        },
        ...
      ],
      "response": {
        "date": "a week ago",
        "snippet": "Hi Caro and Keith, thank you for sharing your feedback with us. We're glad to hear that you found our service excellent and enjoyed the convenience of our free airport shuttle and proximity to the airport. We apologize for any inconvenience caused by the condition of the rooms, towels, and water pressure in the shower. Your concerns have been noted and will be addressed by our team. If you would like to discuss any further concerns, please reach out to us at https://help.hilton.com/s/contactsupport or (310) 410-4000. We hope to welcome you back for a more enjoyable stay."
      }
    },
    ...
  ],
  "serpapi_pagination": {
    "next": "https://serpapi.com/search.json?contributor_id=110382514725174877672&engine=google_maps_contributor_reviews&gl=us&hl=en&next_page_token=Q0FFU0JrVm5TVWxEWnc9PQ%3D%3D",
    "next_page_token": "Q0FFU0JrVm5TVWxEWnc9PQ=="
  }
}

Images with videos and snippets example

Images with videos and snippets example

JSON Example

{
  ...
  "reviews": [
    {
      "place_info": {
        "title": "Got Flowers JAX",
        "address": "1814 Hendricks Ave, Jacksonville, FL 32207",
        "gps_coordinates": {
          "latitude": 30.306956999999997,
          "longitude": -81.6542983,
        },
        "type": "Florist",
        "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipM_AmXM2ch5WHtNw_0sVQSCYw8bRuluvyDWdN0F=w200-h266-k-no",
        "data_id": "0x88e5cb95ae340131:0x91b175ed4e9371e6"
      },
      "date": "a month ago",
      "snippet": "The arrangements from this shop are absolutely STUNNING! I have gotten some breathtaking arrangements from Got Flowers Jax. I was even able to take one from Jacksonville all the way to Cincinnati, and she made it 🤩 Keith and everyone who works there are lovely. They really work with you to get something that’s beautiful, and they have a lot of different options for different price points. They’ll even deliver locally! If you’re looking for flowers in Jacksonville, you need look no further. Got Flowers Jax has got you covered!",
      "review_id": "ChZDSUhNMG9nS0VJQ0FnSURKaDhQUEdBEAE",
      "rating": 5,
      "likes": 0,
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChZDSUhNMG9nS0VJQ0FnSURKaDhQUEdBEAE!2m1!1s0x0:0x91b175ed4e9371e6!3m1!1s2@1:CIHM0ogKEICAgIDJh8PPGA%7CCgsI4J_3pQYQkOqhYQ%7C?hl=en-US",
      "images": [
        {
          "title": "Got Flowers JAX",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipMTP8qOQdZc5A4Nm1Mlz_gKAp6C3r3G-bv-xb8h=s10000-k-no",
          "date": "2023-7-24",
          "snippet": "Look at this moss wall 😍",
          "video": "https://lh3.googleusercontent.com/ggms/AF1QipMTP8qOQdZc5A4Nm1Mlz_gKAp6C3r3G-bv-xb8h=m37"
        },
        {
          "title": "Got Flowers JAX",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipPMNeFE_S4b5kt79vg69zrvcTgA5xu7T8mLeuer=s10000-k-no",
          "date": "2023-7-24",
          "video": "https://lh3.googleusercontent.com/ggms/AF1QipPMNeFE_S4b5kt79vg69zrvcTgA5xu7T8mLeuer=m37"
        },
        {
          "title": "Got Flowers JAX",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipOl2fnGahPbQZnsOhWYPIWQcGZTwIG9drTkbHzE=s10000-k-no",
          "date": "2023-7-24",
          "video": "https://lh3.googleusercontent.com/ggms/AF1QipOl2fnGahPbQZnsOhWYPIWQcGZTwIG9drTkbHzE=m37"
        },
        ...
      ]
    },
    ...
  ]
  ...

Translated snippet and details example

Translated snippet and details example

JSON Example

{
  ...
  "reviews": [
    {
      "place_info": {
        "title": "Nazy's Guest House",
        "address": "Jokolo village, Pankisi Gorge, Jokolo 0900, Géorgie",
        "gps_coordinates": {
          "latitude": 42.1704137,
          "longitude": 45.3084622
        },
        "type": "Hôtel",
        "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipOQkjtrYwbqGNjrgZtMtUMSJEOKJ1DlLD3GK33b=w266-h200-k-no",
        "data_id": "0x4045af948dc98d17:0xfbc0251c9bf36934"
      },
      "date": "il y a 2 semaines",
      "snippet": "Nazy is by far the most hospitable guest house owner I have ever had the pleasure to meet. Between the food, location, and activities, we couldn't be more pleased with how wonderful this portion of our family vacation turned out to be.",
      "translated_snippet": "Nazy est de loin le propriétaire de maison d'hôtes le plus hospitalier que j'ai jamais eu le plaisir de rencontrer. Entre la nourriture, l'emplacement et les activités, nous ne pourrions être plus satisfaits de la merveilleuse qualité de cette partie de nos vacances en famille.",
      "review_id": "ChdDSUhNMG9nS0VJQ0FnSUNaMFkyZmtnRRAB",
      "rating": 5,
      "likes": 1,
      "link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChdDSUhNMG9nS0VJQ0FnSUNaMFkyZmtnRRAB!2m1!1s0x0:0xfbc0251c9bf36934!3m1!1s2@1:CIHM0ogKEICAgICZ0Y2fkgE%7CCgwI7N6BqAYQuJrgqgM%7C?hl=fr",
      "details": {
        "type_de_voyage": "Vacances",
        "groupe_de_voy": "Famille",
        "chambres": "Super clean, beautiful rooms with mattresses perhaps even more comfortable than my own.",
        "service": 5,
        "emplacement": 5,
        "activités_à_proximité": "Hiking, horseback riding, beekeeping and cultural tours are all available and were great family-friendly activities.",
        "plats_et_boissons": "The food quality and taste is second to none - delicious, local, and a great variety so that you can really get an idea of the local style. I was always so excited to see what would be served for dinner because everything was delicious",
        "points_forts_de_l_hôtel": "Beau panorama, Calme, Adapté aux enfants, Bon rapport qualité-prix"
      },
      "translated_details": {
        "chambres": "Des chambres super propres et belles avec des matelas peut-être encore plus confortables que les miens.",
        "activités_à_proximité": "La randonnée, l'équitation, l'apiculture et les visites culturelles sont toutes disponibles et constituent d'excellentes activités familiales.",
        "plats_et_boissons": "La qualité et le goût de la nourriture sont incomparables - délicieux, locaux et très variés pour que vous puissiez vraiment vous faire une idée du style local. J'étais toujours très impatient de voir ce qui serait servi pour le dîner car tout était délicieux"
      },
      "images": [
        {
          "title": "Nazy's Guest House",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipNIPTee1W_r2_tZKYGixmu4uS1-wc3SVzplfxwr=s10000-k-no",
          "date": "2023-8-24"
        },
        {
          "title": "Nazy's Guest House",
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipNh2xapRYwYVZzizmgT5rNQ2Rw8gJ5tS5JY0mIf=s10000-k-no",
          "date": "2023-8-24"
        },
        ...
      ]
    },
    ...
  ]
  ...