G2 Reviews Scraper — Ratings, Pros & Cons
Pricing
from $7.00 / 1,000 review scrapeds
G2 Reviews Scraper — Ratings, Pros & Cons
Scrape G2 product reviews and metadata: star ratings, written reviews, pros, cons, sub-ratings, and reviewer firmographics. Paste a product URL or search by name. MCP-ready.
Pricing
from $7.00 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
G2 Reviews Scraper is an Apify Actor for teams and AI agents that need structured G2 review data. It accepts a G2 product reviews URL in startUrls or a free-text searchQuery, and it returns one record per review. In search mode, it can also return product summary rows. Each review record can include the star rating, review title, review body, pros, cons, sub-ratings, reviewer firmographics, review date, review URL, helpful count, vendor response, and scrape timestamp. It is usable through Apify MCP.
Best fit and connected workflows
This Actor fits workflows that start with a product name or a G2 reviews URL and end with structured review rows ready for analysis, enrichment, or automation.
Common routes include:
- Review intelligence for product, marketing, or CX teams that need written feedback and reviewer context in a dataset.
- Search-driven discovery when you want to find matching G2 products first, then optionally pull their reviews.
- AI agent pipelines that need a single Apify tool for grounded G2 review retrieval with source fields.
- Lead generation or account research workflows where reviewer firmographics and product metadata support segmentation.
Practical scenario
Maya is preparing a competitive brief for a product team. She starts with a G2 product reviews URL for a competing app and sets a cap on reviews per product. The dataset returns rating, reviewTitle, reviewBody, pros, cons, reviewer, and reviewDate. Maya uses the reviewer company size and the recurring pros and cons to decide which themes belong in her internal summary, then shares the review URLs with her team for follow-up reading.
Input
Provide either startUrls or searchQuery.
| Field | Type | Purpose | Default |
|---|---|---|---|
startUrls | array | G2 product or reviews URLs. Each should point to a product reviews page like https://www.g2.com/products/{slug}/reviews. The /reviews suffix is optional and added automatically. | none |
searchQuery | string | Search G2 by product name or keyword, then scrape the matching products. | empty |
maxReviewsPerProduct | integer | Upper bound on reviews extracted per product. This is per product. | 50 |
maxProductsPerSearch | integer | In search mode, how many matching products to take from G2 results. | 5 |
includeReviews | boolean | In search mode, scrape reviews for each matched product or return only product summary cards. | true |
sortReviewsBy | string | Review order before the cap is applied: newest or helpful. | newest |
proxyConfiguration | object | Proxy settings used to reach G2. | Apify Proxy |
debug | boolean | Writes diagnostic extraction data to the key-value store. | false |
Focused input example
{"searchQuery": "project management software","maxProductsPerSearch": 3,"maxReviewsPerProduct": 25,"includeReviews": true,"sortReviewsBy": "helpful"}
Output
The dataset contains review rows and, in search mode, product summary rows. Filter by recordType to separate them.
| Field | Type | Meaning |
|---|---|---|
platform | string | Always g2 |
recordType | string | review or product |
productName | string | G2 software product name |
productSlug | string | G2 product slug |
productUrl | string | Canonical G2 reviews URL |
productRating | number | Aggregate product star rating |
productReviewCount | integer | Total reviews reported by G2 |
vendor | string | Product vendor or brand |
category | string | G2 application category |
rating | number | Review star rating |
reviewTitle | string | Review headline |
reviewBody | string | Full review text |
pros | array | Reviewer-listed pros |
cons | array | Reviewer-listed cons |
subRatings | object | Per-aspect ratings |
reviewer | object | Reviewer firmographics |
reviewDate | string | Review publish date in ISO 8601 UTC |
reviewUrl | string | Direct review URL when available |
helpfulCount | integer | Helpful votes |
vendorResponse | string | Public vendor reply when present |
scrapedAt | string | Scrape timestamp in ISO 8601 UTC |
Illustrative output record
{"platform": "g2","recordType": "review","productName": "Slack","productSlug": "slack","productUrl": "https://www.g2.com/products/slack/reviews","productRating": 4.5,"productReviewCount": 23400,"vendor": "Salesforce","category": "Team Communication","rating": 5,"reviewTitle": "Clear team communication in one place","reviewBody": "A review describing collaboration, channel organization, and day-to-day usage.","pros": ["Channels keep conversations organized", "Integrations are easy to find"],"cons": ["Search can feel crowded in busy workspaces"],"subRatings": {"easeOfUse": 9.2,"customerSupport": 8.7},"reviewer": {"name": "Jordan M.","title": "Engineering Manager","companyName": "Example Co.","companySize": "201-500 employees","industry": "Computer Software","verified": true},"reviewDate": "2026-04-18T00:00:00.000Z","reviewUrl": "https://www.g2.com/products/slack/reviews/slack-review-12345678","helpfulCount": 12,"vendorResponse": "Thanks for the thoughtful feedback.","scrapedAt": "2026-06-19T12:00:00.000Z"}
How it works
This Actor uses Firefox-rendered pages and Apify Proxy to reach G2, which runs behind enterprise Cloudflare protection. It supports two input paths:
- URL mode: scrape the reviews for each product URL in
startUrls. - Search mode: search G2 by keyword, take up to
maxProductsPerSearchproducts, and either return summary cards or scrape reviews for each match.
The implementation extracts review data from rendered page content and JSON-LD product metadata. It also splits pros and cons into separate fields and includes reviewer firmographics when G2 exposes them on the page.
Pricing
This Actor uses Apify pay per event pricing on the Apify platform. Charges are event-based, so usage scales with what the execution processes.
The billed event types are:
- Actor start
- Review scraped
- Product found
For example, a run that scrapes fifty reviews from one product pays the start event and fifty review events. If you use search mode and return product summary cards, those product-found events are also billed. For the current rates and any live platform usage details, see the Pricing tab in the Apify Console.
Use with AI agents (MCP)
This Actor is usable through Apify MCP as a structured tool for fetching G2 review data. The exact Actor identity is khadinakbar/g2-product-reviews-scraper.
Tool description: submit a G2 product URL or a search query, then receive review rows or product summary rows from the dataset. The output includes review text, ratings, pros, cons, reviewer details, provenance fields, and timestamps.
Scrape the G2 reviews for https://www.g2.com/products/slack/reviews. Return review rows with title, body, pros, cons, reviewer firmographics, review date, and product summary fields. Keep the response scoped to the dataset output and include the source URLs.
When an agent reads the output, recordType identifies whether a row is a review or a product summary card. productUrl, reviewUrl, and scrapedAt provide provenance. In search mode, maxProductsPerSearch controls how many matched products are processed, and maxReviewsPerProduct sets the per-product review cap that drives the event count and cost. When the output is paginated by G2 review volume, the per-product cap determines how far the Actor goes for each product.
Use from the Apify API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const run = await client.actor('khadinakbar/g2-product-reviews-scraper').call({startUrls: [{ url: 'https://www.g2.com/products/slack/reviews' }],maxReviewsPerProduct: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Best results and outcome guidance
Use a G2 product reviews URL when you already know the exact product. Use searchQuery when you want G2 to surface matching products first. Set sortReviewsBy to newest for recent feedback or helpful when you want the most endorsed reviews first. Keep maxReviewsPerProduct aligned with the dataset size you need, since it applies per product. If you use search mode for discovery, includeReviews: false returns only product cards and keeps the output focused on product matching.
Focused standalone workflow
This Actor is designed as a focused standalone workflow.
Design note
I found that the output schema includes both recordType: "review" and recordType: "product", which makes it straightforward to separate full review rows from search-mode summary cards in downstream processing.
FAQ
Can I use a product name instead of a URL?
Yes. Use searchQuery to search by product name or keyword, then let the Actor process the matching G2 products.
What comes back in URL mode?
URL mode returns review rows for the product URLs you provide. The dataset includes review text, pros, cons, ratings, reviewer firmographics, and related product metadata.
What comes back in search mode?
Search mode can return product summary cards, review rows, or both. Use includeReviews to choose whether matching products are expanded into reviews.
How should I read the dataset?
Use recordType first. Then use productName, rating, reviewTitle, reviewBody, pros, cons, and reviewer for review analysis. Use productRating and productReviewCount for product-level context.
Can this Actor be used in agent workflows?
Yes. It is MCP-ready, and the dataset output is structured for agent consumption.
Responsible use
This Actor collects publicly available review and product information from G2 pages. Use the output in a way that respects G2's terms, reviewer rights, and applicable law. When you build on the data, keep the provenance fields such as productUrl, reviewUrl, and scrapedAt so downstream users can trace each record back to its source.