Google Shopping Reviews Scraper - Ratings & Star Breakdown
Under maintenancePricing
$10.00 / 1,000 product reviews fetcheds
Google Shopping Reviews Scraper - Ratings & Star Breakdown
Under maintenanceGet 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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
5 days ago
Last modified
Categories
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.nlormacys.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.
| Field | Type | Default | Description |
|---|---|---|---|
products | array | one Guerlain product in nl | Objects with sku (Google Shopping catalog ID) or gpcid (product cluster ID), plus an optional country |
default_country | string | us | Country used when a product object has no country |
max_pages_per_product | integer | 3 | Review pages per product, 1 to 10; each page holds at most ten reviews |
concurrency | integer | 5 | Products 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
sourcefield of each review.
Google Shopping reviews scraper compared with other options
| Option | What you get | Notes |
|---|---|---|
| This actor | Rating summary, star breakdown and up to 100 reviews per product, any country | Pay per product, no subscription |
| Google Merchant API | Reviews for products in your own Merchant Center account | Not for competitor products |
| General Google Shopping scrapers on Apify | Product offers, prices and merchants | Usually 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 account | Separate billing and credits outside Apify |
| Google Maps review scrapers | Reviews of places and businesses | Not 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.