Chrome Extension Reviews Scraper
Pricing
from $5.00 / 1,000 results
Chrome Extension Reviews Scraper
Extract extension metadata & user reviews from the Chrome Web Store. Scrapes ratings, version, developer info, user count & review text. Supports bulk extension IDs. Residential proxy required. JavaScript rendering via Playwright.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer

Logiover
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Extract reviews, ratings, metadata and developer replies from Chrome Web Store extension pages β no API key required.
π What Is This Actor?
Chrome Extension Reviews Scraper is an Apify Actor that automatically collects structured data from any Chrome Web Store extension page. It scrapes both the extension metadata (ratings, user count, version, category) and the user reviews (text, stars, date, helpful votes, developer replies).
Ideal for:
- π Extension developers monitoring user feedback and sentiment
- π΅οΈ Competitive intelligence β analyze what users love or hate about rival extensions
- π¬ UX researchers identifying pain points and feature requests from real users
- π€ AI/ML training data β build sentiment or NLP datasets from real product reviews
- π Market analysts tracking adoption trends and satisfaction scores over time
β‘ Features
| Feature | Details |
|---|---|
| π¦ Extension metadata | Name, developer, rating, user count, version, size, category, description, icon |
| β Star breakdown | Counts per star rating (5β / 4β / 3β / 2β / 1β ) |
| π¬ User reviews | Reviewer name, star rating, full review text, date, helpful votes |
| π£οΈ Developer replies | Captures developer response text and reply date |
| π Pagination | Automatically scrapes all review pages until your limit is reached |
| π’ Bulk input | Multiple extension URLs or IDs in a single run |
| π½ Sort control | Most Helpful or Most Recent |
| π Star filter | Scrape only 1β , 2β , 3β , 4β or 5β reviews |
| π Proxy support | Residential proxy routing (required β see below) |
π Quick Start
Option 1 β Extension URLs
Paste one or more Chrome Web Store URLs into Start URLs:
https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagmhttps://chromewebstore.google.com/detail/grammarly/kbfnbcaeplbcioakkpcpgfkobkghlhen
Option 2 β Extension IDs
Paste the 32-character extension IDs directly into Extension IDs:
cjpalhdlnbpafiamejdnhcphjbkeiagmkbfnbcaeplbcioakkpcpgfkobkghlhen
Tip: The extension ID is the last segment of the URL after
/detail/extension-name/.
ποΈ Input Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | Array | β | Chrome Web Store extension URLs |
extensionIds | Array | β | Raw extension IDs (32 lowercase chars) |
scrapeReviews | Boolean | true | Whether to scrape user reviews |
maxReviews | Integer | 100 | Max reviews per extension. 0 = unlimited |
reviewSortBy | String | helpful | helpful or recent |
filterByStars | Integer | β | Filter to a specific star rating (1β5) |
proxyConfiguration | Object | RESIDENTIAL | Proxy settings (residential required) |
Example Input JSON
{"startUrls": [{ "url": "https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm" }],"scrapeReviews": true,"maxReviews": 50,"reviewSortBy": "recent","filterByStars": 1,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
π¦ Output Format
The dataset contains two record types distinguished by the type field. Both types are stored in the same dataset.
Extension Record (type: "extension")
One record per extension, containing full metadata.
{"type": "extension","extensionId": "cjpalhdlnbpafiamejdnhcphjbkeiagm","extensionName": "uBlock Origin","extensionUrl": "https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm","developer": "Raymond Hill","developerUrl": "https://chromewebstore.google.com/publisher/...","averageRating": 4.8,"totalRatings": 52341,"userCount": "10,000,000+ users","version": "1.61.2","updatedDate": "January 15, 2025","size": "6.95MiB","category": "Productivity","description": "An efficient blocker. Easy on CPU and memory...","iconUrl": "https://lh3.googleusercontent.com/...","ratingBreakdown": { "5": 44200, "4": 3100, "3": 1200, "2": 800, "1": 2041 },"scrapedAt": "2026-03-13T10:00:00.000Z"}
Review Record (type: "review")
One record per individual user review.
{"type": "review","extensionId": "cjpalhdlnbpafiamejdnhcphjbkeiagm","extensionName": "uBlock Origin","extensionUrl": "https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm","reviewerName": "John D.","reviewerUrl": "https://google.com/maps/contrib/...","rating": 5,"reviewText": "Best ad blocker out there. Lightweight, reliable, and completely open source. My browser feels faster with it.","reviewDate": "January 10, 2025","helpfulCount": 142,"developerReply": null,"developerReplyDate": null,"scrapedAt": "2026-03-13T10:00:00.000Z"}
Output Fields Reference
| Field | Type | Description |
|---|---|---|
type | string | "extension" or "review" |
extensionId | string | 32-char Chrome extension ID |
extensionName | string | Extension display name |
extensionUrl | string | Full Chrome Web Store URL |
developer | string | Publisher name |
developerUrl | string | Developer Store profile URL |
averageRating | number | Average star rating (1.0β5.0) |
totalRatings | integer | Total count of star ratings |
userCount | string | Active users string, e.g. "10,000,000+ users" |
version | string | Current version, e.g. "1.61.2" |
updatedDate | string | Last updated date |
size | string | Package size, e.g. "6.95MiB" |
category | string | Store category |
description | string | Full extension description |
iconUrl | string | Extension icon URL |
ratingBreakdown | object | { "5": N, "4": N, ... } |
reviewerName | string | (review) Reviewer display name |
reviewerUrl | string | (review) Reviewer Google profile URL |
rating | integer | (review) Stars given (1β5) |
reviewText | string | (review) Full review body |
reviewDate | string | (review) Date of the review |
helpfulCount | integer | (review) Helpful vote count |
developerReply | string | (review) Developer reply text, if any |
developerReplyDate | string | (review) Date of developer reply |
scrapedAt | string | ISO 8601 scrape timestamp |
π Proxy Configuration
Residential proxies are required. Chrome Web Store actively blocks requests from datacenter IP ranges. Without a residential proxy, you will receive 403 errors or empty responses.
Configure via the Proxy Configuration input field:
{"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}
Apify Residential proxies rotate automatically and provide global coverage.
π‘ Use Cases & Examples
Monitor your own extension's reviews
Track user feedback in real time. Pipe the output into a Google Sheet, Slack notification, or email digest whenever new 1-star reviews appear.
Competitive analysis
Scrape the top 10 extensions in your category. Compare average ratings, review volume, and recurring complaints. Discover gaps your extension can fill.
Sentiment analysis & NLP training
The structured reviewText + rating fields make this dataset ideal for training sentiment classifiers, fine-tuning LLMs, or benchmarking NLP pipelines on real product data.
Extension market research
Aggregate userCount, averageRating, and ratingBreakdown across hundreds of extensions to map the competitive landscape of any niche.
βοΈ Technical Notes
Rendering
Chrome Web Store requires full JavaScript execution. This Actor uses Playwright with headless Chromium β CheerioCrawler or raw HTTP will not work here.
Selector stability
Google uses obfuscated/generated class names (e.g. nDnNFb, Mqkyhb) that may change without notice. This Actor relies on aria-label attributes, time elements, and semantic HTML which are far more stable across Google UI updates.
If data fields appear empty after a Google update
- Run the Actor with a screenshot enabled (add
await page.screenshot()temporarily) - Inspect the review container in DevTools
- Update the
page.evaluate()selector logic insrc/main.js - Key stable anchors:
[aria-label*="out of 5"],time,[itemprop="description"],a[href*="/category/"]
π Performance & Costs
| Metric | Estimate |
|---|---|
| Speed | ~10β20 records/min (browser overhead) |
| Memory | 1024 MB recommended |
| Cost per result | ~$0.008 |
Cost scales with number of reviews. Extension metadata records are cheap; long review lists on popular extensions may take several minutes.
π License
Apache 2.0 β free to use, modify, and distribute.