Google reviews
A Google place's rating, review count and reviews, newest first, with exact times, original text, owner replies and edits.
A Google place's rating, review count and reviews, newest first, with exact times, original
text, owner replies and edits. Name the place by one of place_id, data_id, data_cid,
or a profile_url this path returned before.
In the document form. $1 request $2 sort_by, num, next_page_token, topic_id, hl or
gl (or api_version: "v2") is the document-form Google Maps Reviews call, answered as the document:
search_metadata, search_parameters, search_information, place_result, topics, reviews
(review_id, user, link, source, text, rating, date, iso_date, likes, images,
response) and pagination. num is 1 to 20 (default 10). sort_by is most_relevant or
newest (newest sorts only when Google shows the full page); highest_rating,
lowest_rating and topic_id are a 400 (they work on a list Google does not show a signed-out
visitor), and so is any next_page_token this API did not issue: tokens are this API's (a window of the same
place and sort, re-read from the start). A bare place_id is the older call above, with since and max_reviews.
X-API-Key<token>Your API key.
cancel_token?stringA name you make up for this request (a UUID is fine), so you can later GET /v1/cancel
with it. Only you know it, so only you can cancel. Use a new one for every request, retries included: a cancelled token stays cancelled for a few minutes.
1 <= length <= 128since?stringOnly reviews posted or edited after this are returned, and paging stops there. No
zone means UTC. Leave out for a first check. A review dated only by day or month
counts as the end of that day or month, so the newest day's reviews come back again
on the next check: drop them by id.
date-timemax_reviews?integerThe most reviews to return; a larger number is held to 500. 0 asks for the profile alone.
0 <= value <= 500100country?stringThe country the page is loaded from, default us, when it is one of the countries below.
Countries a request can be made from: us, ca, mx, br, ar, au, nz, in, sg, jp, ph, ae, za, gb, ie, de, fr, es, it, nl, be, pt, at, ch, se, no, dk, fi, pl, cz, gr, ro, hu.
^[A-Za-z]{2}$place_id?stringA Google place id, ChIJ….
^[A-Za-z0-9_-]{16,300}$data_id?stringThe hex feature id.
^0x[0-9a-fA-F]{1,16}:0x[0-9a-fA-F]{1,16}$data_cid?stringThe decimal customer id, as a string (it overflows a 53-bit number).
^\d{1,20}$profile_url?stringA google.com/maps… URL this path returned before.
num?integer1 <= value <= 2010sort_by?stringmost_relevant: the reviews the place's record carries (5 reduced, 8 full). newest: the
list sorted newest first when Google shows the full page, else the same few. highest_rating
and lowest_rating are a 400 (they sort a list Google does not show a signed-out visitor).
"most_relevant""most_relevant""newest"topic_id?stringAlways a 400: topics filter a list that is not shown.
next_page_token?stringThis API's own token (pagination.next_page_token of an answer); any other token is a 400.
hl?stringEchoed; the interface stays English and the reviews are in the language written.
gl?stringEchoed; sets the country the request is made from where one is available.
api_version?stringThe profile and its reviews; with the document-form parameters, the document.
application/json- response
mode: "reviews". Site-specific fields are in profile.extra
and reviews[].extra; see each engine's document.
search_metadata*search_parameters*The request's own fields as sent, engine first, without cancel_token.
search_information*The parser's own, e.g. yelp_search's; otherwise {}.
profile*reviews*array<>Newest first.
has_more*booleanOlder reviews exist that were not returned (max_reviews, or the site shows no more).
reached_since*booleanPaging stopped at since.
reviews_status?stringPresent only when the list could not be read. blocked: reviews is [].
"blocked""limited"reviews_order?stringPresent only with reviews_status limited.
curl -X GET 'https://api.justserp.com/v1/google/maps/reviews?since=2026-09-01T00%3A00%3A00Z&max_reviews=100&place_id=ChIJifIePKtZwokRVZ-UdRGkZzs'{ "search_metadata": { "id": "string", "status": "Success", "created_at": "string", "request_url": "string", "html_url": "string" }, "search_parameters": {}, "search_information": {}, "profile": { "url": "string", "site_id": "string", "name": "string", "address": "string", "phone": "string", "website": "string", "rating": 0, "rating_scale": 5, "review_count": 0, "claimed": true, "extra": {} }, "reviews": [ { "id": "string", "url": "string", "rating": 0, "recommended": true, "title": "string", "text": "string", "language": "string", "posted_at": "2019-08-24T14:15:22Z", "date_precision": "day", "updated_at": "2019-08-24T14:15:22Z", "author": { "name": "string", "id": "string", "url": "string", "review_count": 0, "location": "string" }, "owner_reply": { "text": "string", "posted_at": "2019-08-24T14:15:22Z" }, "photos": 0, "extra": {} } ], "has_more": true, "reached_since": true, "reviews_status": "blocked", "reviews_order": "most_relevant"}Google place details GET
One Google place by its id, opened from the id (never through a search): name, categories, address, phone, website, status, hours, attributes, rating.
Google Place (knowledge panel) GET
A business' or place's knowledge panel by its Knowledge Graph id, under the Google Place parameters (`kgmid`, `hl`, `gl`) and answered as the document: `search_metadata`, `search_parameters`, `search_information` `{}`, `place_result`.