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
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., 0x80c8c430cb5147bd:0x82f2c7c5d9d10d84) |
| 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": "0x80c8c430cb5147bd:0x82f2c7c5d9d10d84",
"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 = '0x80c8c430cb5147bd:0x82f2c7c5d9d10d84'
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