Google Shopping Reviews Scraper - Ratings & Star Breakdown avatar

Google Shopping Reviews Scraper - Ratings & Star Breakdown

Under maintenance

Pricing

$10.00 / 1,000 product reviews fetcheds

Go to Apify Store
Google Shopping Reviews Scraper - Ratings & Star Breakdown

Google Shopping Reviews Scraper - Ratings & Star Breakdown

Under maintenance

Get Google Shopping product reviews by catalog ID or product cluster ID: average rating, total review count, star breakdown and up to 100 reviews with title, store, author, rating, date and text. For brands, retailers and review analysis. $0.01 per product.

Pricing

$10.00 / 1,000 product reviews fetcheds

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

5 days ago

Last modified

Share

Google Shopping Reviews Scraper

This Google Shopping reviews scraper returns the product reviews Google Shopping shows for a catalog ID (sku) or product cluster ID (gpcid): the average rating, total review count, star breakdown and the individual reviews with title, store, author, rating, date and text. Use it to monitor the reputation of your own products, benchmark competitors, feed review analysis or sentiment models, or enrich a product catalog with ratings, in any country where Google Shopping is available.

What does the Google Shopping Reviews Scraper do?

Google Shopping collects reviews for one product from many web shops and shows them on a single product page. This actor reads that page for every product you supply and turns it into one structured JSON row per product. You get:

  • Rating summary: the rounded average rating, the exact average and the total number of reviews Google counts for the product.
  • Star breakdown: the share of 1- to 5-star reviews as percentages.
  • Individual reviews: up to ten reviews per page and up to ten pages per product (so up to 100 reviews), each with its title, the store it came from (for example douglas.nl or macys.com), the author, the star rating, the date as Google shows it and the review text.
  • Product context: the product title and merchant ID when you start from a catalog ID.

Results are available as JSON, CSV, Excel or through the Apify API, so they fit straight into a spreadsheet, a BI tool or your own pipeline.

Input

Provide a products array. Each object needs sku or gpcid, with an optional country. The default input retrieves the Dutch Google Shopping listing for Guerlain Aqua Allegoria Florabloom Forte, catalog ID 8062340666125262933. This product was retrieved in the recorded example run. A direct cluster ID skips the product lookup; its product title and merchant ID are then null. If both identifiers are supplied, gpcid takes precedence.

FieldTypeDefaultDescription
productsarrayone Guerlain product in nlObjects with sku (Google Shopping catalog ID) or gpcid (product cluster ID), plus an optional country
default_countrystringusCountry used when a product object has no country
max_pages_per_productinteger3Review pages per product, 1 to 10; each page holds at most ten reviews
concurrencyinteger5Products fetched at the same time, up to 20

default_country defaults to us. Country values are case insensitive. The original max_pages_per_product option defaults to 3 and accepts up to 10 pages. Each source page contains at most ten reviews. concurrency keeps its original default of 5. Empty or invalid product objects produce errors in the key-value store; non-object array entries are skipped.

Example input:

{
"products": [
{ "sku": "8062340666125262933", "country": "nl" },
{ "gpcid": "158194847738236757", "country": "us" }
],
"max_pages_per_product": 3
}

Where do you find the IDs? The catalog ID is Google Shopping's catalogid for a product, the same ID our Google Shopping offers and variants scrapers use as sku. The product cluster ID is Google's gpcid; every row returns it, so you can reuse it in later runs.

Output

The dataset contains one row per successfully retrieved product, in input order. Rows keep sku, gpcid, country, title, mid, review_summary, review_breakdown, user_reviews and pages_fetched. sku, title and mid can be null. A valid product with no reviews still returns a product row with zero review counts and an empty review list.

review_summary contains average_rating, exact_average and total_reviews. review_breakdown uses string percentages under the keys 1 through 5, or null when no star counts are available. Each user_reviews entry contains title, source, author, rating and date, plus text when present. Ratings inside this original list remain strings. Dates remain the source's relative descriptions; the scraper does not invent an absolute publication date.

Additional fields include source, the UTC retrieval time fetched_at and uppercase country_code. The REVIEWS key-value record provides a flat review list with the actual review identifiers, numeric ratings and a gpcid link to the delivered product rows. The source store is called site in that record. These reviews are additional information and are not additional dataset rows.

Google Shopping reviews scraper output example

A real row from the default input (Dutch listing, three pages, 30 reviews), shortened here to two of its 30 reviews:

{
"source": "google-shopping-reviews",
"fetched_at": "2026-10-05T08:55:37.178Z",
"sku": "8062340666125262933",
"gpcid": "158194847738236757",
"country": "nl",
"country_code": "NL",
"title": "Guerlain Aqua Allegoria Florabloom Forte",
"mid": "576462774695805640",
"review_summary": {
"average_rating": 4.7,
"exact_average": 4.7385206,
"total_reviews": 2853
},
"review_breakdown": {
"1": "3%",
"2": "1%",
"3": "2%",
"4": "7%",
"5": "87%"
},
"user_reviews": [
{
"title": "Heerlijke geur",
"source": "deloox.nl",
"author": "Desy",
"rating": "5",
"date": "8 maanden geleden",
"text": "Ik vind dit echt een topvier. Ben sowieso erg blij met de geuren uit deze lijn van Guerlain maar deze en de Rosa pallisandro zijn wel favoriet. Krijg ook veel complimenten! Geur is bloemig maar er zit zoveel meer in, vooral ook hele aardse geur door mos. En daar hou ik wel van. Blijft ook lang hangen !"
},
{
"title": "",
"source": "bol.com",
"author": "",
"rating": "1",
"date": "5 maanden geleden",
"text": "Binnen een week fors afgeprijst BOL doet hier niets mee ja je kan het terug sturen en een nieuwe bestellen is de oplossing”lekker duurzaam toch” product is verder prima maar had wel een betere oplossing verwacht van BOL . Product 5sterrenreactie van BOL 0 sterren"
}
],
"pages_fetched": 3
}

The matching entry in the REVIEWS record for the first of those two reviews:

{
"source": "google-shopping-reviews",
"fetched_at": "2026-10-05T08:55:37.178Z",
"review_id": "PR_3P_cccc6bb0f3d9c6eb6ad9eb1863ca084b",
"product_id": "8062340666125262933",
"country": "NL",
"rating": 5,
"title": "Heerlijke geur",
"text": "Ik vind dit echt een topvier. Ben sowieso erg blij met de geuren uit deze lijn van Guerlain maar deze en de Rosa pallisandro zijn wel favoriet. Krijg ook veel complimenten! Geur is bloemig maar er zit zoveel meer in, vooral ook hele aardse geur door mos. En daar hou ik wel van. Blijft ook lang hangen !",
"author_name": "Desy",
"gpcid": "158194847738236757",
"site": "deloox.nl",
"date": "8 maanden geleden",
"position": 3
}

Errors and pagination

Failed products appear in the errors key-value record and are omitted from the dataset. The run summary keeps product and error counts. OUTPUT reports delivery, completeness and charging information. A run with no successful products finishes successfully with an empty dataset and no product charges.

Review pagination now follows the current continuation format. If a later review page fails, earlier reviews and the successful product remain available, with an incomplete result warning. Repeated source pages are detected to prevent duplicated reviews. The configured page limit applies separately to each product.

Use cases

  • Brand and reputation monitoring: track the average rating and star breakdown of your own products per country and spot a drop in 1-star reviews early.
  • Competitor research: compare the ratings and review volume of competing products, and read what buyers praise or criticise.
  • Review and sentiment analysis: feed the review texts into a sentiment model or an LLM to find recurring complaints about quality, size or delivery.
  • Retail and catalog enrichment: add Google Shopping ratings and review counts to your own product feed or comparison site.
  • Store insight: see which web shops supply the reviews for a product through the source field of each review.

Google Shopping reviews scraper compared with other options

OptionWhat you getNotes
This actorRating summary, star breakdown and up to 100 reviews per product, any countryPay per product, no subscription
Google Merchant APIReviews for products in your own Merchant Center accountNot for competitor products
General Google Shopping scrapers on ApifyProduct offers, prices and merchantsUsually only a rating number, no review text; to scrape Google Shopping offers by EAN or SKU use our Google Shopping Scraper
Hosted review APIs (for example DataForSEO or Outscraper)Google Shopping reviews through a separate API accountSeparate billing and credits outside Apify
Google Maps review scrapersReviews of places and businessesNot product reviews

Pricing

The price remains $0.01 per delivered product using the product_reviews event. The event covers the product summary, breakdown and all retrieved review pages. Individual reviews do not incur extra events. A successfully retrieved product with zero reviews still counts as one product. Failed products incur no product charge, and there is no start fee. In practice, 1,000 products cost $10, whether they have 3 or 100 reviews each.

Users without a paid Apify plan receive at most ten successful product rows per run. Failed inputs do not take a place in this allowance. Only delivered products are charged; flat reviews are limited to those same delivered products. Split a larger batch across runs or use a paid Apify plan to remove the free-plan delivery cap.

FAQ

Can I supply a product cluster ID directly?

Yes. Use gpcid instead of sku. The product lookup is skipped, so the title and merchant ID remain null while review information is retrieved normally.

Does a product without reviews count as a result?

Yes. A valid product is returned with zero review counts and an empty list. An unknown or failed product is omitted and reported in the errors record instead.

Are individual reviews billed separately?

No. Charging is per delivered product. The number of reviews and the number of retrieved pages do not add separate review charges.

How many reviews can I get per product?

Up to 100: ten pages of at most ten reviews. The default is three pages. The rating summary and star breakdown always cover all reviews Google counts, also when you fetch fewer pages.

Which countries are supported?

Any country code Google Shopping serves, such as us, nl, de, fr or uk. Set it per product or once with default_country. Reviews come in the language of that country's listing, so the same product can return different reviews per country.

Can I use this Google Shopping reviews scraper through an API?

Yes. Start the actor through the Apify API or one of the Apify client libraries, and read the dataset and the REVIEWS record from the run. That makes it usable as a Google Shopping reviews API from Python, JavaScript or any HTTP client.

Why is the review date not an exact date?

Google Shopping shows relative dates such as "8 months ago". The actor returns that text as it appears, so you can see the listing exactly as a shopper sees it.