Skip to content
ScrapeField

Get the reviews of a Google Maps place

Fetch Google reviews for one place: rating, text, language, publish_time, the author (with their Local Guide badge and review count), photos and the owner_response where there is one. The first page has up to 8 reviews, and each page after it up to 20. Use this for review monitoring and sentiment work.

6 credits
GEThttps://api.scrapefield.com/v1/google-maps/reviews
Try itno key needed6 credits on a real call · 0 here
https://api.scrapefield.com/v1/google-maps/reviews?place_id=ChIJN1t_tDeuEmsRUsoyG83frY4

In your code

const params = new URLSearchParams({
  "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4"
});

const res = await fetch(`https://api.scrapefield.com/v1/google-maps/reviews?${params}`, {
  headers: { Authorization: `Bearer ${process.env.SCRAPEFIELD_KEY}` },
});

const { data, meta } = await res.json();
console.log(data, meta.credits_charged);

Parameters

Parameters
ParameterWhat it does
place_id
string · one of the place ids
Google's place ID.
url
string · one of the place ids
The full URL of the place on Google Maps, which carries its id. A short maps.app.goo.gl link does not, so open it and copy the address it leads to.
sort
string
Order of the reviews.
relevance · newest · highest · lowest, default relevance
limit
integer
At most this many results, 1–20. A page can hold fewer while next_cursor is set: read until it is null.
1–20, default 20
cursor
string
The meta.next_cursor from the previous page. Omit for the first page.
fresh
boolean
Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.
default false

Response

Returns an array of google_maps_review. This is the demo’s answer, the one the playground above returns, in full rather than abbreviated — including the fields that come back null, because a field is null when the platform does not show it and you should know which ones those are before you build on them. A call with your key returns the account you ask for.

{
  "data": [
    {
      "review_id": "ChZDSUhNMG9nS0VJQ0FnSUGNEw2YrTzvsaWn",
      "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
      "author": {
        "name": "Jonas Ibarra",
        "url": "https://www.google.com/maps/contrib/111478498097400184005",
        "profile_photo_url": "https://cdn.example/maps/a/peh_n197qa4Q.jpg",
        "is_local_guide": false,
        "review_count": 10,
        "photo_count": 4
      },
      "rating": 3,
      "text": null,
      "language": "en",
      "publish_time": "2025-10-27T17:50:54.000Z",
      "like_count": 6,
      "photos": [],
      "owner_response": {
        "text": "Sorry to hear this — we have spoken to the team about the wait.",
        "publish_time": "2026-09-08T14:57:01.000Z"
      }
    },
    {
      "review_id": "ChZDSUhNMG9nS0VJQ0FnSUF_qv6XTY4cltsa",
      "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
      "author": {
        "name": "Sofia Aydin",
        "url": "https://www.google.com/maps/contrib/173599325867380465475",
        "profile_photo_url": "https://cdn.example/maps/a/qoeJGybOfm0k.jpg",
        "is_local_guide": true,
        "review_count": 85,
        "photo_count": 313
      },
      "rating": 4,
      "text": null,
      "language": "en",
      "publish_time": "2026-06-14T01:08:19.000Z",
      "like_count": 6,
      "photos": [],
      "owner_response": null
    }
  ],
  "meta": {
    "request_id": "req_7f3ac1e94b2d40f8a1c6e5d2",
    "credits_charged": 6,
    "credits_remaining": 74218,
    "cached": false,
    "fetched_at": "2026-09-20T09:12:03Z",
    "next_cursor": "eyJwIjoxLCJzIjoiYTNmOSJ9"
  }
}

Fields of google_maps_review

One Google review of a place. Named after Google's Places API.

Fields
FieldWhat it is
review_id
string
Google's id for the review.
place_id
string
The place it is about.
author
object
Who wrote the review.
author.name
string · or null
As shown on the review. null where the source gives none.
author.url
URL · or null
Their Google Maps contributor page.
author.profile_photo_url
URL · or null
Their profile photo.
author.is_local_guide
boolean
Whether they carry the Local Guide badge.
author.review_count
integer · or null
How many reviews they have written, as the review shows.
author.photo_count
integer · or null
How many photos they have posted.
rating
integer · or null
1 to 5. null when the source gives no rating.
text
string · or null
null for a rating with no words.
language
string · or null
Two-letter code of the language it was written in.
publish_time
time, ISO 8601 UTC · or null
When it was posted. null when the source does not say.
like_count
integer · or null
How many people marked it helpful.
photos
array of objects
Photos attached to the review.
photos[].url
URL
The image on Google's CDN. We do not rehost images.
photos[].width
integer · or null
Pixels.
photos[].height
integer · or null
Pixels.
photos[].author_name
string · or null
Who uploaded it, as the listing credits them. null for the owner's own photos.
photos[].author_url
URL · or null
Their Google Maps contributor page.
owner_response
object · or null
The "Response from the owner", where there is one.
owner_response.text
string
The owner's reply.
owner_response.publish_time
time, ISO 8601 UTC · or null
When the owner replied. null when the source does not say.

What it costs

6 credits per successful call, whether we fetch it or serve it from cache — you pay for the answer, not for how we produced it. Responses are cached for 6 hours and a cached one tells you when the data was actually fetched. A call we fail costs 0 and is refunded automatically.

On the smallest pack that is $4.68 per 1,000 calls; on the largest, $2.64. The full table.

What people build with it

Questions

How much does the Google Maps reviews scraper API cost?

6 credits a call: $4.68 per 1,000 calls on the smallest pack and $2.64 on the largest. A call that fails costs nothing, and the refund is automatic. A cached answer costs the same as a fresh one. Credits are bought in packs and never expire; there is no plan.

Do I need a Google Maps account, a login or cookies?

No. You need a key from us and nothing from Google Maps. We never take a customer's login, cookies or session, at any price, and no account of yours is ever at risk.

Can I try it without signing up?

Yes. Add demo=true and leave the key out, or press Send request in the playground on this page. The demo answers with a real answer about Ferrari, captured once a week, in exactly the shape a live call returns, whatever you ask, and charges nothing.

How fresh is the data?

An answer is kept for up to 6 hours, and a cached one says when it was fetched, in meta.fetched_at. Add fresh=true to fetch it again now, at the same price; it needs any purchase, not the trial.

What does it return?

A list of google_maps_review objects. Its fields are named after Google's Places API. A field is null when Google Maps does not show it, never missing. Every field is described on this page.

How do I get more than one page?

Pass meta.next_cursor back as cursor, and stop when it is null. Each page is a call, priced the same. A cursor lasts as long as the answer it belongs to is cached.

Can an AI agent call it?

Yes: it is the MCP tool get_place_reviews on our MCP server, with the same parameters, answer and price. Without a key, the tool answers from the demo.