G2 holds roughly two million verified software reviews across tens of thousands of SaaS categories. For anyone doing competitive intelligence, sales prospecting, or product research in the B2B software space, it is one of the single highest-signal public datasets on the internet. The problem is that scraping it has become almost comically painful in 2026.
If you have tried hitting g2.com with requests lately, you already know the story. Cloudflare turnstile, then a Kasada challenge, then a TLS fingerprint check, then a behavioral JavaScript puzzle, then an invisible CAPTCHA. Even well-configured headless browsers with residential proxies get flagged within the first dozen pages. The G2 review data is public, but getting to it at scale has turned into a cat-and-mouse game that burns engineering hours and proxy budget in equal measure.
This article walks through a cleaner path: using the zhorex/g2-reviews-scraper Actor on Apify to pull structured reviews, 29 fields deep, without running a single browser or rotating a single proxy.
Why G2 Data Is Worth the Effort
Before getting into the scraper itself, it helps to articulate what the data is actually good for. G2 reviews are structured, long-form, and written by verified business users. That combination makes them uniquely useful for:
- Sales intelligence. A review that complains about vendor X's integration with Salesforce is a warm lead for vendor Y whose Salesforce integration is its headline feature.
- Win/loss analysis. Reviews of competitors often name the alternatives the reviewer evaluated. This is free narrative market research.
- Feature gap detection. Aggregating thousands of "what do you dislike" fields across a category surfaces the roadmap items customers actually care about.
- Churn signals. Negative sub-ratings on "support" or "ease of setup" for a specific competitor, trended over quarters, predict defection windows.
The value is there. The delivery mechanism is the bottleneck.
The Problem With the Official Path
G2 does offer a paid API, but it is gated behind an enterprise contract, requires a seat license on the G2 side, and typically restricts you to data about your own product and a handful of named competitors. Pulling the full set of reviews for a category like "CRM Software" or "Marketing Automation" across all vendors is not on the menu.
The community workarounds are worse. DIY scrapers hit Kasada within minutes. Proxy bills for rotating residential IPs run $500 to $2,000 a month at modest volumes. Every time G2 rolls a new JS challenge, your Playwright script breaks at 3 AM and you spend a Saturday fingerprinting headers.
"We burned six weeks and about $4,000 in proxies before admitting our in-house G2 scraper was never going to be stable."
— Growth engineer at a mid-market PLG startup
What the Actor Does
The g2-reviews-scraper Actor bypasses all of that by calling G2's public review feed directly. No browser, no proxy rotation, no Kasada bypass hacks. You give it a product URL or slug and it returns structured JSON.
Feature set:
- Scrape reviews for any G2 product URL or slug
- 29 fields per review including sub-ratings, reviewer job title, company size, industry, and verification status
- Pagination handled internally, up to the full review history of a product
- Filters for star rating, date range, and review language
- JSON, CSV, Excel, or JSONL output
- Runs on Apify infrastructure, so no local Node/Python setup required for the scraping itself
Comparison Table
| Capability | G2 Official API | DIY scraper + residential proxies | zhorex/g2-reviews-scraper |
|---|---|---|---|
| Access to competitor reviews | No (own product only) | Yes, if you can keep it running | Yes |
| Kasada / JS challenge handling | N/A | Your problem, breaks weekly | Handled, no browser needed |
| Setup time | Weeks (contract + provisioning) | Days to weeks | Minutes |
| Cost at 10k reviews/month | Custom enterprise quote | ~$300-600 proxies + eng time | $50 |
| Sub-ratings included | Yes | Usually not | Yes (29 fields) |
| Export formats | JSON via API | Whatever you build | JSON, CSV, XLSX, JSONL |
| Maintenance burden | Low | High | None |
Input Example
A realistic starter config for pulling reviews across three CRM competitors:
{
"productUrls": [
"https://www.g2.com/products/salesforce-sales-cloud/reviews",
"https://www.g2.com/products/hubspot-sales-hub/reviews",
"https://www.g2.com/products/pipedrive/reviews"
],
"maxReviewsPerProduct": 500,
"minRating": 1,
"maxRating": 5,
"dateFrom": "2024-01-01",
"language": "en",
"includeSubRatings": true,
"includeReviewerProfile": true
}
Output Example
Here is one review item, trimmed to the fields most people care about. The full object has all 29 fields.
{
"reviewId": "g2-8421930",
"productSlug": "hubspot-sales-hub",
"productName": "HubSpot Sales Hub",
"reviewTitle": "Great for SMB, feels cramped above 50 reps",
"starRating": 3.5,
"subRatings": {
"easeOfUse": 4.5,
"qualityOfSupport": 4.0,
"easeOfSetup": 4.0,
"meetsRequirements": 3.5
},
"reviewLikes": "Pipeline view is clean, sequences are easy to build, and the free tier got us started without procurement.",
"reviewDislikes": "Once we hit 60 reps the reporting module struggled. Forecasting is weaker than Salesforce and custom objects are limited.",
"recommendations": "Fine for teams under 50. Above that, evaluate Salesforce or Dynamics.",
"reviewer": {
"displayName": "Verified User in Software",
"jobTitle": "RevOps Manager",
"industry": "Computer Software",
"companySize": "51-200 employees",
"isVerified": true
},
"publishedAt": "2025-11-08T14:22:10Z",
"language": "en",
"helpfulCount": 12,
"source": "organic",
"reviewUrl": "https://www.g2.com/products/hubspot-sales-hub/reviews/hubspot-sales-hub-review-8421930"
}
Fields include reviewId, productSlug, productName, starRating, five sub-ratings, reviewLikes, reviewDislikes, recommendations, problemsSolved, benefitsRealized, reviewer display name, job title, industry, company size, region, validation status, publishedAt, updatedAt, language, helpfulCount, source, incentive (if the review was incentivized), and the canonical reviewUrl.
Four Real Use Cases
1. SaaS Sales Displacement Plays
A sales team selling a CRM builds a nightly job that pulls all 1- and 2-star reviews for three major competitors. Each review is piped through an LLM that extracts the specific complaint and the reviewer's company. The result is a prioritized outbound list where every lead comes with a documented pain point in their own words. Open rates on personalized sequences built from real G2 complaints routinely run 2-3x generic cold outbound.
2. Category-Level Feature Gap Analysis
A product manager at a marketing automation vendor scrapes every review in the "Marketing Automation" category filed in the last 12 months, roughly 40,000 reviews across 30 products. She clusters the "dislikes" text with embeddings and counts cluster frequency per vendor. The result is a heatmap showing which features are consistent weak spots across the category (great roadmap input) and which are only weak for specific competitors (great competitive collateral).
3. Churn and Renewal Risk Signals
A customer success team at an observability vendor subscribes to a rolling scrape of their own product's reviews plus the top five competitors. Any new 1- or 2-star review mentioning an integration or feature their product covers gets routed to a Slack channel. It acts as an early-warning system for account risk and a real-time queue of switch-ready prospects.
4. Private Equity Due Diligence
A PE analyst evaluating a SaaS acquisition scrapes 5 years of G2 history for the target and three comparable vendors. The trend of monthly average star rating, sub-rating deltas, and review volume growth becomes part of the investment memo. This is one of the few ways to reality-check the seller's narrative about product quality and market position.
Pricing
The Actor is priced at $0.005 per review scraped, billed through Apify. Platform compute usage is negligible because there is no browser.
Worked examples:
- 1,000 reviews: $5
- 10,000 reviews (a large product's full history): $50
- 100,000 reviews (a full category sweep): $500
- 1,000,000 reviews (multi-category enterprise pull): $5,000
Compare that to a DIY build where a single month of residential proxies for the same volume runs $1,500 to $3,000, plus engineering time to keep the Kasada bypass alive. For most teams the break-even point is well under a week.
FAQ
Is scraping G2 reviews legal?
G2 reviews are publicly accessible and the Actor only collects data that any logged-out visitor can see. Public data scraping has been repeatedly upheld in US courts (hiQ v. LinkedIn is the landmark). That said, how you use and redistribute the data is on you. Do not republish full review text as your own content, and respect GDPR if you process reviewer metadata for EU subjects.
Do I need proxies or a Kasada solver?
No. The Actor uses G2's public review feed directly and does not trip Kasada. You do not need to supply proxies, browser fingerprints, or CAPTCHA solver tokens.
How fresh is the data?
Reviews are scraped live at run time. If a review was published five minutes before your run, it will be included. For ongoing monitoring, schedule the Actor hourly or daily via Apify Schedules.
What is the rate limit?
Practically speaking, you are limited by Apify concurrency and the Actor's internal pacing, not by G2 blocking. Expect roughly 500-1,000 reviews per minute per run. Runs can be parallelized across products.
Can I get all 29 fields or is that a premium tier?
All 29 fields are included at the flat $0.005 per review rate. There is no feature-gated premium tier.
How do I export to my warehouse?
Apify exposes datasets as JSON, CSV, XLSX, JSONL, RSS, and HTML table, and has native integrations for S3, Google Drive, and webhooks. A common pattern is JSONL to S3, then COPY into Snowflake or BigQuery.
Pair It With Capterra for Full B2B Coverage
G2 skews toward mid-market and enterprise SaaS. Capterra, owned by Gartner, leans more toward SMB and has broader coverage of vertical software (construction, healthcare, legal). For any serious competitive intel project, you want both. The companion Actor zhorex/capterra-reviews-scraper uses the same schema philosophy and pairs cleanly with this one in a single pipeline. If you are also tracking sentiment on Chinese-language software or consumer platforms, zhorex/weibo-scraper covers the APAC side.
Get Started
The Actor page, full input schema, and a free trial run live at:
https://apify.com/zhorex/g2-reviews-scraper
Drop in a product URL, run it, and you will have a clean JSON dataset in the Apify console in a couple of minutes. No proxy contract, no Kasada cat-and-mouse, no maintenance bill at 3 AM.
Top comments (0)