Google Maps Reviews
PythonMapsPOST api.upapi.io/google-maps-reviews.getRead the reviews on any Google Maps place by place id, CID, feature id or a pasted Maps link. Returns each review's rating, full text, author, photos, timestamp and the owner's reply, sorted by relevance, date or rating, with cursor pagination through the whole feed.
Request schema
| Field | Type | Description |
|---|---|---|
cid | Google customer id, the decimal identifier (e.g. "1868053941146338963").· default: null | |
url | A Google Maps link to the place, pasted as-is from the browser or the share sheet.· default: null | |
sort | string | Order Google returns the reviews in: relevance (Google's own "most relevant" ranking, the default), newest, highest_rating or lowest_rating.· default: "relevance" |
region | string | Two-letter country code biasing the response (e.g. "ca").· default: "us" |
placeId | Google place id, as returned by Google Maps Business Search (e.g. "ChIJj61dQgK6j4AR4GeTYWZsKWw").· default: null | |
language | string | Language for the reviews, as an ISO code (e.g. "en", "fr"). Google uses this to pick and rank which reviews it surfaces, so different languages genuinely return different reviews rather than translations of one set.· default: "en" |
proxyUrl | Route the request through your own proxy (e.g. http://user:pass@host:port). Omit to use upAPI's pool.· default: null | |
featureId | Google feature id (e.g. "0x4cce05120f81812b:0x19eca9297f4bc693").· default: null | |
pageToken | Continue a previous call: pass the nextPageToken it returned. Keep sort and the place identifier the same, or the token will not line up.· default: null | |
maxResults | integer | How many reviews to return, up to 200 (e.g. 100). Google serves at most 60 per page, so higher values cost proportionally more time.· default: 20 |
Response schema
| Field | Type | Description |
|---|---|---|
sortreq | string | |
countreq | integer | |
reviewsreq | array | |
featureIdreq | string | The Google feature id these reviews were read from |
truncatedreq | boolean | True when Google still had more reviews than maxResults allowed |
resolvedFromreq | string | Which input identifier this lookup was resolved from: placeId, cid, featureId or url |
nextPageToken | Pass back as pageToken to read the next page. Null when Google has no more reviews to give.· default: null |
Try it
Try it
Google customer id, the decimal identifier (e.g. "1868053941146338963").
A Google Maps link to the place, pasted as-is from the browser or the share sheet.
Order Google returns the reviews in: relevance (Google's own "most relevant" ranking, the default), newest, highest_rating or lowest_rating.
Two-letter country code biasing the response (e.g. "ca").
Google place id, as returned by Google Maps Business Search (e.g. "ChIJj61dQgK6j4AR4GeTYWZsKWw").
Language for the reviews, as an ISO code (e.g. "en", "fr"). Google uses this to pick and rank which reviews it surfaces, so different languages genuinely return different reviews rather than translations of one set.
Route the request through your own proxy (e.g. http://user:pass@host:port). Omit to use upAPI's pool.
Google feature id (e.g. "0x4cce05120f81812b:0x19eca9297f4bc693").
Continue a previous call: pass the nextPageToken it returned. Keep sort and the place identifier the same, or the token will not line up.
How many reviews to return, up to 200 (e.g. 100). Google serves at most 60 per page, so higher values cost proportionally more time.
Run this endpoint live
Jump in as a guest — no signup — and run google-maps-reviews.get with your own inputs. Create a free account anytime to get your own API key.
Code examples
curl -X POST https://api.upapi.io/google-maps-reviews.get \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{ "cid": "1868053941146338963", "sort": "relevance", "region": "us", "language": "en", "maxResults": 20 }'