# Google Reviews Scraper API — $0.0005/Review

> Google reviews scraper API: a place id, or a name and a city, returns reviews with rating, date, text, author, photos and owner reply. $0.0005 each.

[Home](https://quanticdata.io/)/[Collectors](https://quanticdata.io/collectors/)/*Google reviews scraper API*

# Google reviews scraper API

The Google reviews scraper API returns the reviews of one place as rows: rating, date, full text, author, attached photos and the owner’s reply. Address it with a `data_id`, a `place_id`, or just a business name and city, and pay $0.0005 per review delivered.

[Get my free API key](https://app.quanticdata.io/register) [See the request](/collectors/google-reviews-scraper-api/#integration)

$0.0005 per delivered review · $2 free every month · Failed runs never billed

POST /v1/scraper/collectors/place_reviews/run

```
$ curl $QD/place_reviews/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{ "query": "Dellarocco’s Brick Oven Pizza",
          "location": "Brooklyn, NY",
          "sort_by": "newest", "max_results": 50 }'
{ "status": "done", "count": 50,
  "results": [
    { "rating": 5, "date": "2 weeks ago",
      "author": "M. Ruiz", "text": "Best crust in…",
      "images": ["https://…"],
      "owner_response_text": "Thank you!" } ],
  "cost": 0.025 }
# 50 reviews × $0.0005 · nothing delivered, nothing charged
```

**$0.0005 / review**4,000 reviews on the free $2 every month

**Id or name + city**no place id? we resolve the name for you

**Up to 100 reviews**per run, paginated through the feed

**Owner replies included**plus photos, author and ISO date when exposed

On this page: [What it is](/collectors/google-reviews-scraper-api/#what) [Output fields](/collectors/google-reviews-scraper-api/#output) [Inputs](/collectors/google-reviews-scraper-api/#input) [Pricing](/collectors/google-reviews-scraper-api/#pricing) [Integration](/collectors/google-reviews-scraper-api/#integration) [Use cases](/collectors/google-reviews-scraper-api/#use-cases) [Versus the alternatives](/collectors/google-reviews-scraper-api/#compare) [FAQ](/collectors/google-reviews-scraper-api/#faq)

## What a Google reviews scraper API does

**A Google reviews scraper API returns the review feed of a single place as structured rows, without you loading Maps or clicking "more reviews".** You identify the place — by id, or by name and city — and each review arrives with its rating, date, text, author, photos and the business owner’s response.

Google’s Places API returns a handful of reviews per place and nothing that resembles a full feed, which is why "google reviews api" and "scrape google reviews" are searched together. The `place_reviews` collector paginates the public feed through our residential network until it reaches your `max_results`, so a place with hundreds of reviews comes back in one run.

The cleanest way to use it is in two steps: run the [Google Maps scraper API](https://quanticdata.io/collectors/google-maps-scraper-api/) once for a keyword and a city, keep the `data_id` on each row, then schedule this collector per place. Same key, same wallet, and the ids never expire on you.

Address a place, not a URL *data_id* *place_id* *query* *location* *sort_by* *max_results*

## What comes back for every review

Published output schema, versioned. Fields that Google does not show on a given review come back as null rather than disappearing.

| Field | Type | What it holds |
| --- | --- | --- |
| `rating` | number | Stars, 1–5. |
| `text` | string | The review body as written. |
| `date` · `iso_date` | string | Relative date as shown ("2 months ago") and the ISO timestamp when exposed. |
| `author` · `author_url` | string | Reviewer display name and their Maps contributor page. |
| `author_thumbnail` | string | Reviewer photo URL. |
| `images` | string[] | Photos attached to the review. |
| `owner_response_text` | string | The business owner’s reply, when there is one. |
| `owner_response_date` | string | When that reply was posted. |
| `review_id` · `link` | string | Google’s review id and a direct link to it. |
| `source` | string | Where the review comes from (Google, Tripadvisor…). |
| `data_id` · `place_name` | string | The place the review belongs to, echoed on every row. |

## Inputs: three ways to name the place

Give a `data_id`, a `place_id`, or a `query` (with an optional location) that we resolve to the first matching place.

| Input | Type | Required | What it does |
| --- | --- | --- | --- |
| `data_id` | string | preferred | Feature id "0x…:0x…" as returned by the Google Maps collector. |
| `place_id` | string | alt | Google place id (ChIJ…), if that is what you already store. |
| `query` + `location` | string | alt | Business name and where to look it up — resolved to the first match. |
| `sort_by` | enum | no | `relevance` (default), `newest`, `highest_rating`, `lowest_rating`. |
| `country` · `lang` | string | no | Exit geo and interface language — reviews are shown in the locale you ask for. |
| `max_results` | integer | no | 1–100, default 20. You pay for what is delivered, not for what exists. |

Pricing

## What scraping Google reviews costs here

Reviews are the cheapest unit on the platform: $0.0005 each, delivered. A monitoring job that pulls the 20 newest reviews of 30 locations every day costs about $9 a month — and a day when a place is blocked or has no new reviews costs nothing.

**$0.0005**per delivered review*$0.50 per 1,000 delivered reviews*

**4,000 reviews**on the free allowance*$2 every month, no card*

**Zero rows**zero charge*blocks, captchas and retries are on us*

**−30%**on volume tiers*the catalog returns your key's price*

### Pay as you go

$0/mo

- $2 free credit / month

- 60 requests / min

- List unit prices

### Starter

$19/mo

- $15 free credit / month

- 300 requests / min

- 10% off unit prices

Most popular

### Growth

$79/mo

- $50 free credit / month

- 600 requests / min

- 20% off unit prices

### Scale

$299/mo

- $250 free credit / month

- 1,200 requests / min

- 30% off unit prices

Same wallet, same key and same $2 monthly allowance as every other [Data API](https://quanticdata.io/web-data-api-for-ai/). Prices are launch pricing read live from the billing config — `GET /v1/scraper/collectors` returns the price your key actually pays.

Integration

## One POST, typed rows

Base URL `https://api.quanticdata.io/v1`, Bearer auth, the same key as every other Data API. Endpoint: `POST /v1/scraper/collectors/place_reviews/run`.

```
# newest 50 reviews of one place, by data_id
curl https://api.quanticdata.io/v1/scraper/collectors/place_reviews/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "data_id": "0x89c25a4634938a45:0x229fa22c7b1623b9",
        "sort_by": "newest", "max_results": 50 }'
```

```
import requests

BASE = "https://api.quanticdata.io/v1/scraper/collectors"
H = {"Authorization": f"Bearer {KEY}"}

# no id yet? name + city is enough
r = requests.post(f"{BASE}/place_reviews/run", headers=H,
    json={"query": "Dellarocco's Brick Oven Pizza",
          "location": "Brooklyn, NY",
          "sort_by": "newest", "max_results": 50})

for rev in r.json()["data"]["results"]:
    print(rev["rating"], rev["date"], rev["text"][:80])
```

```
const BASE = "https://api.quanticdata.io/v1/scraper/collectors";
const h = { Authorization: `Bearer ${process.env.QD_API_KEY}`,
            "Content-Type": "application/json" };

// one place per location, on a schedule
for (const dataId of placeIds) {
  const res = await fetch(`${BASE}/place_reviews/run`, {
    method: "POST", headers: h,
    body: JSON.stringify({ data_id: dataId, sort_by: "newest",
                           max_results: 20 })
  });
  const { data } = await res.json();
  console.log(dataId, data.count, "reviews ·", data.cost, "USD");
}
```

```
claude mcp add quantumproxies \
  -e QUANTUMPROXIES_API_KEY=qd_live_your_key_here \
  -- npx -y quantumproxies-mcp

# then, from the agent:
run_collector  slug="place_reviews"
               input={ "query": "Blue Bottle Coffee",
                       "location": "San Francisco, CA",
                       "sort_by": "lowest_rating",
                       "max_results": 40 }
```

## What people run it for

Reviews are the cheapest signal about a business that exists in public — these are the four uses that come back in the searches.

### Multi-location reputation

Pull the newest reviews per location every night and track rating drift branch by branch, instead of watching one brand-level average that hides the problem.

### Competitor sentiment

Run the [Maps collector](https://quanticdata.io/collectors/google-maps-scraper-api/) for a category in a city, then pull the lowest-rated reviews of every competitor: the complaints are the positioning brief.

### Grounding an LLM

Reviews with dates, ratings and owner replies make a compact corpus for summarisation or a support assistant — the same reason the rest of our [web data API for AI](https://quanticdata.io/web-data-api-for-ai/) returns typed rows.

### Response monitoring

The owner-reply fields make it obvious which negative reviews were never answered — for your own locations or for an agency’s clients.

## Collector vs Places API vs a scraping script

Why "google reviews api" and "google reviews scraper" are searched by the same people.

|  | Official Places API | DIY script | This collector |
| --- | --- | --- | --- |
| Reviews per place | a small fixed sample | as many as your scraper survives | up to 300 per run, paginated |
| Addressing | place id only | a Maps URL you must build | data_id, place_id *or* name + city |
| Owner replies & photos | not exposed | if you parse them | fields on every row |
| Sorting | not controllable | whatever the page gives | relevance, newest, highest, lowest |
| Billing | per request, billing account | proxy and compute burn | $0.0005 per delivered review |

## Five reviews is not a dataset

The Places API returns five reviews per place. That is documented behaviour rather than a quota you can raise, and it is the single reason most review-analysis projects end up here. Five reviews cannot carry a sentiment model, cannot show a trend and cannot tell you what changed after a bad quarter.

Its caching terms compound the problem: keeping a review history to analyse over time sits awkwardly with limits on how long Places content may be retained. This returns the feed with sorting applied at the source, ISO dates alongside Google's relative ones, and the owner-response fields most tools drop entirely.

## Limits, sorting and the legal bit

Up to 100 reviews per run, one place per run. `sort_by` is applied by Google before collection, so a lowest-rating run collects and bills the complaints rather than gathering a hundred five-star reviews you discard. Pick the sort that matches the question. Throughput is your plan's rate limit rather than anything about the collector: 60 requests/minute on pay-as-you-go, up to 1,200 on the top tier.

Use `iso_date` for anything time-series and keep `date` only for display: resolving "2 months ago" inconsistently against collection time is the standard way a review dataset acquires a fake trend.

This is a personal-data collector. Reviews are written by identifiable people, so author names and profile links are personal data under GDPR, CCPA and equivalents however public the page is; the text is the author's copyrighted expression, which makes aggregate analysis and republication very different propositions. Google's terms restrict automated collection. None of this is legal advice — get some for your actual use case.

## FAQ

What people ask before scraping Google reviews — free options, limits and what the API actually returns.

[Something else? Ask us →](mailto:hello@quanticdata.io)

### How do you scrape Google reviews for free?

The $2 monthly allowance covers about 4,000 delivered reviews at $0.0005 each, with no card, which is enough for a small monitoring job to run indefinitely for nothing. Beyond that you keep the same unit price — there is no plan to unlock first.

### Can I get all reviews of a place?

One run delivers up to 100 reviews, ordered as you asked — newest, oldest by rating, or Google’s relevance order. For places with more history, run it repeatedly with different `sort_by` values, or schedule a daily "newest" pull and accumulate them on your side.

### Do I need a place id to scrape reviews?

No. A `data_id` is the precise way and the [Maps collector](https://quanticdata.io/collectors/google-maps-scraper-api/) hands you one on every row, but a business name plus a city works too — we resolve it to the first matching place and echo the resolved `place_name` on each review.

### Does the Google Places API return all reviews?

No. Google’s own API exposes only a small sample of reviews per place and does not let you page through the feed, which is exactly why review scrapers exist. This collector reads the public feed instead and pages until your `max_results`.

### Is scraping Google reviews legal?

Reviews are published publicly, and collecting public data is generally lawful in most jurisdictions — but Google’s terms restrict automated access and reviews name real people, so privacy rules apply to what you store and publish. Get advice for your specific case.

### How much does it cost to monitor 30 locations?

Twenty fresh reviews per location per day is 600 reviews, about $0.30 a day or roughly $9 a month at list price — less on a volume tier. Days when a location has no new reviews deliver nothing and cost nothing.

### Can I run sentiment analysis on the output?

That is the usual reason people need more than five reviews. The full text comes back rather than a truncated preview, so a corpus across hundreds of places is realistic — bearing in mind the text is authored by identifiable individuals and carries their rights with it.

### What are the owner-response fields for?

Measuring whether a business replies to criticism and how fast. It is a strong competitive signal and most review tools discard it, because the response is nested inside the review node and easy to miss.

## Start with the Google reviews scraper API

$0.0005 per delivered review, $0.50 per 1,000 delivered reviews. $2 of free credit every month, no card — and a run that delivers nothing is never billed.

[Get my free API key](https://app.quanticdata.io/register)

Related: [All 32 collectors](https://quanticdata.io/collectors/) [Google Maps Scraper API](https://quanticdata.io/collectors/google-maps-scraper-api/) [Lead Scraper API](https://quanticdata.io/collectors/lead-scraper-api/) [Web Data API for AI](https://quanticdata.io/web-data-api-for-ai/) [SERP API](https://quanticdata.io/serp-api/) [Documentation](https://quanticdata.io/docs/)

---

Source: https://quanticdata.io/collectors/google-reviews-scraper-api/ · Site index for AI: https://quanticdata.io/llms.txt
