G2 Products Reviews Scraper avatar

G2 Products Reviews Scraper

Pricing

from $0.52 / 1,000 review saveds

Go to Apify Store
G2 Products Reviews Scraper

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

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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 slack and figma.
  • 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 startUrls with a G2 review URL and productSlugs with one or more slugs.
  • Monitoring run: Set lookbackDays to keep only reviews published in the last N days.

What data can you extract?

FieldDescription
productSlugG2 product slug used for the RSS feed.
productNameProduct name from the RSS channel when available.
reviewIdStable review identifier parsed from the review URL or GUID.
reviewUrlPublic G2 review URL.
rssUrlSource RSS feed URL.
titleReview title.
rating / ratingTextNumeric rating and original rating phrase when available.
reviewerNameReviewer name/snippet when exposed by the feed.
reviewerRoleReviewer role when exposed by the feed.
reviewerIndustryReviewer industry when exposed by the feed.
reviewerCompanySizeCompany size when exposed by the feed.
likesAnswer to what the reviewer likes.
dislikesAnswer to what the reviewer dislikes.
problemsSolvedAnswer describing problems solved / benefits.
publishedAtReview publication date in ISO format.
guidRSS GUID.
sourceSource marker, currently g2_rss.

Input configuration

SettingJSON keyUse it forExample
ModemodeChoose product_reviews, product_search, or category_browse.product_reviews
G2 product URLsstartUrlsPaste G2 product review URLs or feed URLs.https://www.g2.com/products/slack/reviews
Product slugsproductSlugsEnter bare G2 product slugs.slack
Search queriessearchQueriesFind matching G2 products in product search mode.crm
Category namescategoryNamesBrowse products in matching G2 categories.CRM
Maximum recordsmaxItemsCap saved rows and control spend.50
Lookback dayslookbackDaysKeep only recent reviews by publish date.30
Skip failed productsskipFailedProductsContinue when one product is invalid, missing, or blocked.true
Use fallback sourceuseRssFallbackTry 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

EventFreeBronzeSilverGoldPlatinumDiamondCharged when
Run start$0.005$0.005$0.005$0.005$0.005$0.005Once when the Actor starts.
Review saved$0.001$0.00087$0.00068$0.00052$0.00035$0.00024Each 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: 10 until output quality and pricing are verified.
  • Handle misses cleanly: Keep skipFailedProducts enabled 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 ApifyClient
client = 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.

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.