GET

Google Reviews API

Get Google Maps reviews for any business using their data_id with token-based pagination.

Overview

Token-Based Pagination

Each response includes a next_page_token for fetching additional reviews. Continue requesting until has_more is false.

The Google Reviews endpoint provides access to customer reviews from Google Maps. Each request returns ~8-10 reviews along with a pagination token for fetching more. Use the data_id parameter (Google's internal identifier) to specify which business to get reviews for.

Endpoint URL

GET https://api.stayapi.com/v1/google_reviews/reviews

Finding data_id

Use the /search-and-review endpoint to find the data_id for any business. It searches by name and returns the data_id you can use for subsequent requests.

Parameters

Parameter Type Required Description
data_id string Required Google Maps data_id for the place (e.g., 0x89c259af98ec7cbd:0x654b31dc1f9816db)
next_page_token string Optional Token for fetching the next page of reviews. Obtained from the previous response's next_page_token field.
sort_by string Optional Sort order for reviews. Options: most_relevant (default), newest, highest_rating, lowest_rating
hl string Optional Language code for reviews (e.g., en, es, fr). Default: en

Response Structure

Success Response (200 OK)

{
  "success": true,
  "data_id": "0x89c259af98ec7cbd:0x654b31dc1f9816db",
  "place_name": "Bellagio Hotel & Casino",
  "place_address": "3600 Las Vegas Blvd S, Las Vegas, NV 89109",
  "total_reviews": 139601,
  "average_rating": 4.7,
  "reviews": [
    {
      "review_id": "ChdDSUhNMG9nS0VJQ0FnSURiOTlySm1RRRAB",
      "rating": 5,
      "text": "Amazing hotel with fantastic fountains and excellent service...",
      "date": "a week ago",
      "iso_date": "2025-12-03T14:30:00Z",
      "photos": [],
      "reviewer": {
        "name": "John Smith",
        "profile_picture": "https://lh3.googleusercontent.com/...",
        "reviews_count": 25,
        "local_guide": false
      },
      "likes": 3,
      "owner_response": "Thank you for your wonderful review...",
      "owner_response_date": "3 days ago"
    }
    // ... ~8-10 reviews per page
  ],
  "next_page_token": "CAESBkVnSUlDZw==",
  "has_more": true,
  "search_metadata": {
    "datetime": "2025-12-10T10:30:00Z"
  }
}

Response Fields

  • data_id: Google Maps data_id for the place
  • place_name: Name of the business
  • place_address: Address of the business
  • total_reviews: Total number of reviews for the place on Google
  • average_rating: Overall rating of the business (1-5)
  • reviews: Array of review objects (~8-10 per page)
  • next_page_token: Pagination token - Use this to fetch the next page of reviews
  • has_more: Whether more reviews are available (continue pagination if true)

Pagination

Each request returns ~8-10 reviews along with a next_page_token. To get more reviews, include this token in your next request. Continue until has_more is false or next_page_token is null.

# Fetch all reviews using pagination
import requests

data_id = '0x89c259af98ec7cbd:0x654b31dc1f9816db'
all_reviews = []
next_token = None

while True:
    params = {'data_id': data_id, 'sort_by': 'newest'}
    if next_token:
        params['next_page_token'] = next_token

    response = requests.get(
        'https://api.stayapi.com/v1/google_reviews/reviews',
        params=params,
        headers={'X-API-Key': 'YOUR_API_KEY'}
    )

    data = response.json()
    all_reviews.extend(data['reviews'])

    if not data.get('has_more') or not data.get('next_page_token'):
        break

    next_token = data['next_page_token']

print(f"Fetched {len(all_reviews)} total reviews")

Pagination Tips:

  • Each page returns ~8-10 reviews
  • Sort order is applied once at the start, not per-page
  • Tokens are valid for a limited time - don't store them long-term

Common Use Cases

📊 Reputation Management

Monitor and analyze customer feedback across your hotel portfolio. Track sentiment trends, identify common complaints, and respond to reviews promptly.

# Get recent reviews to monitor feedback
reviews = get_google_reviews(data_id, sort='newest')
negative_reviews = [r for r in reviews if r['rating'] <= 2]
# Alert management about negative reviews requiring response

🔍 Competitive Analysis

Compare review ratings and feedback between competing hotels. Identify strengths and weaknesses to improve your service offering.

💬 Content Enhancement

Display authentic Google Reviews on your website to build trust with potential customers and improve conversion rates.

Error Handling

Code Type Description
400 INVALID_PARAMETERS Missing or invalid data_id parameter
404 NO_RESULTS No reviews found for the provided data_id
429 RATE_LIMITED Too many requests. Please retry after the specified time
500 INTERNAL_ERROR Server error. Please try again later
502 UPSTREAM_ERROR Error fetching data from Google Reviews

Rate Limits

This endpoint is subject to the standard API rate limits based on your subscription tier.

  • Free tier: 10 requests/day
  • Basic: 1,000 requests/day
  • Pro: 10,000 requests/day
  • Enterprise: Custom limits

Related Endpoints

Request
curl -X GET "https://api.stayapi.com/v1/google_reviews/reviews?data_id=0x89c259af98ec7cbd:0x654b31dc1f9816db&sort_by=newest" \
  -H "X-API-Key: YOUR_API_KEY"

# To get the next page, use the next_page_token:
curl -X GET "https://api.stayapi.com/v1/google_reviews/reviews?data_id=0x89c259af98ec7cbd:0x654b31dc1f9816db&next_page_token=CAESBkVnSUlDZw==" \
  -H "X-API-Key: YOUR_API_KEY"
Response
{
  "success": true,
  "data_id": "0x89c259af98ec7cbd:0x654b31dc1f9816db",
  "place_name": "Bellagio Hotel & Casino",
  "place_address": "3600 Las Vegas Blvd S, Las Vegas, NV 89109",
  "total_reviews": 139601,
  "average_rating": 4.7,
  "reviews": [
    {
      "review_id": "ChdDSUhNMG9nS0VJQ0FnSURiOTlySm1RRRAB",
      "rating": 5,
      "text": "Amazing hotel with fantastic fountains. The rooms are beautiful and the staff is incredibly friendly...",
      "date": "a week ago",
      "iso_date": "2025-12-03T14:30:00Z",
      "photos": [],
      "reviewer": {
        "name": "John Smith",
        "profile_picture": "https://lh3.googleusercontent.com/...",
        "reviews_count": 25,
        "local_guide": false
      },
      "likes": 3,
      "owner_response": "Thank you for your wonderful review!",
      "owner_response_date": "3 days ago"
    }
  ],
  "next_page_token": "CAESBkVnSUlDZw==",
  "has_more": true,
  "search_metadata": {
    "datetime": "2025-12-10T10:30:00Z"
  }
}