G2 Products Reviews Scraper
Pricing
from $0.52 / 1,000 review saveds
G2 Products Reviews Scraper
Extract recent public G2 product reviews by product URL, RSS URL, or slug.
Pricing
from $0.52 / 1,000 review saveds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract recent public G2 product reviews from G2's RSS feeds by product URL, RSS URL, or bare product slug.
Use this Actor to monitor buyer feedback, collect public review text for market research, and export structured G2 review rows to CSV, JSON, Excel, API, or automation workflows.
At a glance
- Primary job: Collect recent public reviews for known G2 products.
- Input: G2 product review URLs, RSS URLs, or product slugs such as
slackandfigma. - Output: One dataset row per review with product, reviewer, rating, pros, cons, problems solved, date, and review URL fields when available in the RSS feed.
- Best for: Review monitoring, competitive research, voice-of-customer analysis, and workflow automation.
Important scope note
This V1 is focused on known G2 products and recent public reviews. It is intentionally not a full G2 product search, category browser, product metadata, or full-history scraper.
Common workflows
- Review monitoring: Schedule repeat runs for your product slugs and compare new review IDs over time.
- Competitive research: Collect recent reviews for several competitors and analyze likes, dislikes, and problems solved.
- Voice of customer: Export pros/cons/problem fields into spreadsheets, BI tools, or LLM analysis pipelines.
- Automation: Trigger webhooks or API workflows when new reviews appear in the dataset.
Input recipes
- Small smoke test:
productSlugs: ["slack"],maxItems: 10. - Mixed URL and slug run: Use
startUrlswith a G2 review URL andproductSlugswith one or more slugs. - Monitoring run: Set
lookbackDaysto keep only reviews published in the last N days.
What data can you extract?
| Field | Description |
|---|---|
productSlug | G2 product slug used for the RSS feed. |
productName | Product name from the RSS channel when available. |
reviewId | Stable review identifier parsed from the review URL or GUID. |
reviewUrl | Public G2 review URL. |
rssUrl | Source RSS feed URL. |
title | Review title. |
rating / ratingText | Numeric rating and original rating phrase when available. |
reviewerName | Reviewer name/snippet when exposed by the feed. |
reviewerRole | Reviewer role when exposed by the feed. |
reviewerIndustry | Reviewer industry when exposed by the feed. |
reviewerCompanySize | Company size when exposed by the feed. |
likes | Answer to what the reviewer likes. |
dislikes | Answer to what the reviewer dislikes. |
problemsSolved | Answer describing problems solved / benefits. |
publishedAt | Review publication date in ISO format. |
guid | RSS GUID. |
source | Source marker, currently g2_rss. |
Input configuration
| Setting | JSON key | Use it for | Example |
|---|---|---|---|
| Mode | mode | Choose product_reviews, product_search, or category_browse. | product_reviews |
| G2 product URLs | startUrls | Paste G2 product review URLs or feed URLs. | https://www.g2.com/products/slack/reviews |
| Product slugs | productSlugs | Enter bare G2 product slugs. | slack |
| Search queries | searchQueries | Find matching G2 products in product search mode. | crm |
| Category names | categoryNames | Browse products in matching G2 categories. | CRM |
| Maximum records | maxItems | Cap saved rows and control spend. | 50 |
| Lookback days | lookbackDays | Keep only recent reviews by publish date. | 30 |
| Skip failed products | skipFailedProducts | Continue when one product is invalid, missing, or blocked. | true |
| Use fallback source | useRssFallback | Try a simpler public review feed when richer review records are unavailable. | true |
Example input
{"productSlugs": ["slack", "figma"],"maxItems": 25,"skipFailedProducts": true}
Example output
{"productSlug": "slack","productName": "Slack","reviewId": "abc123","reviewUrl": "https://www.g2.com/products/slack/reviews/...","rssUrl": "https://www.g2.com/products/slack/reviews/feed","title": "Slack keeps our team aligned","rating": 4.5,"ratingText": "4.5 out of 5 stars","reviewerName": "Validated Reviewer","reviewerRole": "Marketing Manager","reviewerIndustry": "Computer Software","reviewerCompanySize": "51-1000 employees","likes": "Channels and searchable message history help our team collaborate.","dislikes": "Notification settings can take time to tune.","problemsSolved": "Centralizes team communication and reduces email threads.","publishedAt": "2026-07-01T12:00:00.000Z","guid": "https://www.g2.com/products/slack/reviews/...","source": "g2_rss"}
Pricing
| Event | Free | Bronze | Silver | Gold | Platinum | Diamond | Charged when |
|---|---|---|---|---|---|---|---|
| Run start | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | Once when the Actor starts. |
| Review saved | $0.001 | $0.00087 | $0.00068 | $0.00052 | $0.00035 | $0.00024 | Each review row saved to the dataset. |
Tips for best results
- Use known product slugs: This Actor does not search G2 for product names.
- Expect recent-feed coverage: RSS feeds are for recent reviews and may not contain full historical review archives.
- Start small: Use
maxItems: 10until output quality and pricing are verified. - Handle misses cleanly: Keep
skipFailedProductsenabled for multi-product runs.
API usage
Node.js:
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor("fetch_cat/g2-products-reviews-scraper").call({productSlugs: ["slack", "figma"],maxItems: 25});console.log(run.defaultDatasetId);
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("fetch_cat/g2-products-reviews-scraper").call(run_input={"productSlugs": ["slack", "figma"],"maxItems": 25,})print(run["defaultDatasetId"])
cURL:
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~g2-products-reviews-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"productSlugs":["slack","figma"],"maxItems":25}'
MCP and AI agents
Use this Actor from MCP-compatible tools through the official Apify MCP Server.
$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/g2-products-reviews-scraper"
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/g2-products-reviews-scraper"}}}
Example prompt: "Run G2 Products Reviews Scraper for slack and figma, then summarize the top repeated likes and dislikes."
Limits and caveats
- Recent RSS only: The Actor does not promise full G2 review history.
- No product discovery: Provide exact G2 product slugs or product URLs.
- Public data only: The Actor does not accept G2 logins, cookies, or private credentials.
- Source variability: G2 can change RSS content, fields, or availability.
Legality and responsible use
Process only data that you are allowed to access. Follow website terms, Apify's terms, and applicable laws.
Related actors
FAQ
Can this scrape every historical G2 review?
No. This Actor is best suited for recent public review monitoring.
Why are some reviewer fields empty?
RSS items do not expose every field for every review. The Actor leaves unavailable fields empty instead of guessing.
Can I export results?
Yes. Apify datasets support JSON, CSV, Excel, XML, RSS, and API access.
Support
Open an issue from the Actor page if a run fails or output looks wrong. Include the run ID or run URL, input JSON, expected output, actual output, and one reproducible public URL such as https://www.g2.com/products/slack/reviews.