G2 Reviews Scraper PRO (Bypass Cloudflare & Filter by Stars)
Pricing
from $0.0099 / result
G2 Reviews Scraper PRO (Bypass Cloudflare & Filter by Stars)
Under maintenanceThe ultimate G2.com review extractor. Instantly bypass Enterprise Cloudflare protection. Filter reviews precisely by any Star Rating (1 to 5 stars) and sort by Newest. Built for SaaS SDRs, Product Managers, and Data Analysts. Get 100% clean, structured data with zero setup.
Pricing
from $0.0099 / result
Rating
0.0
(0)
Developer
Aether
Actor stats
1
Bookmarked
3
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
G2 Review Scraper (Apify Actor)
Commercial G2 review scraper built with Crawlee (Node.js) + PlaywrightCrawler.
Core selling points:
star_rating_max: precise inclusive filter (e.g. 2 keeps only 1–2 star reviews)sort_by: request-time sorting (e.g.newest)
Project structure (Apify Store standard)
actor.json: Actor metadataDockerfile: Apify runtime image + build/run commands.actor/input_schema.json: Store UI input schemasrc/main.ts: Actor entry (Crawlee + PlaywrightCrawler)src/routes/reviews.ts: G2 review extraction + filteringsrc/utils/g2.ts: URL normalization + parsers
Inputs
Example input:
{"startUrls": [{ "url": "https://www.g2.com/products/slack/reviews" }],"sort_by": "newest","star_rating_max": 2,"maxReviews": 1000,"maxPagesPerUrl": 50,"proxyConfiguration": { "useApifyProxy": true }}
Stealth mode + Apify Proxy (Cloudflare)
This Actor uses:
- Stealth:
playwright-extra+playwright-extra-plugin-stealth - Apify Proxy:
Actor.createProxyConfiguration(input.proxyConfiguration) - Session pool: enabled (
useSessionPool,persistCookiesPerSession) so failed sessions get rotated
Recommended for Cloudflare:
- Use Apify Proxy Residential (and optionally
countryCode) - Keep concurrency low (default is
maxConcurrency: 3)
Star rating & date parsing
- Star rating is extracted from
aria-label/ text patterns such as:"4.0 out of 5","4 stars","Rated 4 out of 5"
- Date is extracted from
<time datetime="...">when available and stored as ISO string.
Filtering rule:
- Reviews are kept only when
starRating <= star_rating_max - If star rating is missing, the review is dropped (commercial correctness over recall).
Notes on sort_by
G2 may change query parameter names/values. Sorting is centralized in:
src/utils/g2.ts→normalizeG2ReviewsUrl()
If you notice sorting isn’t applied, adjust the mapping there to match current G2 behavior.