List place reviews
Returns a page of reviews, newest first, up to 20 per page via next_cursor paging. Complete corpus verified at 5,950 of 5,950, zero duplicate review ids. NO sort parameter — other orders reach as few as 143. Warm-up of roughly 35 seconds after idle; 503s are retryable with backoff.
1 credit / requestBilled only on success
Authorization
ApiKeyAuth x-api-key<token>
In: header
Query Parameters
cid*string
Google place identifier from a search result's cid field. A Google Maps URL containing the ID is also accepted. Use the same cid with every cursor in a review walk.
Length
length <= 500cursor?string
Cursor from the previous response. Omit for the first page, reuse the same cid, and stop when has_more is false rather than when a page contains fewer reviews than requested.
Length
length <= 400count?integer
Reviews per page, up to 20. Higher values are rejected.
Range
1 <= value <= 20Default
20curl -X GET "https://example.com/v1/google-maps/reviews?cid=0x808587fb77f5f64d%3A0x25d564f177f99946" \ -H "x-api-key: YOUR_API_KEY"{ "data": { "reviews": [ { "review_id": "ChZDSUhNMG9nS0VJQ0FnSURfeGV5RVh3EAE", "place_ref": "0x0:0x25d564f177f99946", "rating": 5, "text": "Best espresso in the neighbourhood. Tiny room, huge care.", "language": "en", "created_at_us": 1747224000000000, "updated_at_us": 1747224000000000, "relative_time": "3 months ago", "author": { "name": "Alex Rivera", "id": "112233445566778899000", "avatar": "https://lh3.googleusercontent.com/a/example=s120-c-rp-mo-br100", "profile_url": "https://www.google.com/maps/contrib/112233445566778899000", "review_count": 87, "photo_count": 412, "local_guide_level": 7 }, "photos": [ { "url": "https://lh5.googleusercontent.com/p/AF1QipExample", "width": 4032, "height": 3024 } ], "owner_response": { "text": "Thank you for the kind words — see you next time!", "created_at_us": 1755212345678901, "updated_at_us": 1755212345678901, "relative_time": "2 months ago", "language": "en" } } ], "count": 20, "next_cursor": "0x808587fb77f5f64d:0x25d564f177f99946|CAESY0NBRVFBUm9VUTJoa1p...", "has_more": true, "requested_cid": "0x808587fb77f5f64d:0x25d564f177f99946", "usage_note": "Newest first, and walking every `next_cursor` returns the COMPLETE corpus — measured against Maps' own displayed count on four places: 338/338, 1722/1723, 1782/1782 and 5950/5950, zero duplicate review ids across 492 pages. Pages hold at most 20 reviews. Reviews with a null `text` are star-only ratings, not broken rows: they are ~25-40% of the corpus and Maps counts them too. `next_cursor` is bound to this `cid` and cannot be used with another place. Stop when `has_more` is false, not when a page comes back short — the last page is usually both full-ish and final." }}