G2 Software Review Feed Scraper avatar

G2 Software Review Feed Scraper

Pricing

Pay per event

Go to Apify Store
G2 Software Review Feed Scraper

G2 Software Review Feed Scraper

Extract public G2 product review RSS feeds into clean review records for SaaS sentiment monitoring and competitive research.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Extract public G2 product-review RSS feeds into clean, analysis-ready review records.

Use it to monitor ratings, review text, pros, cons, reviewer context, and newly published feedback for SaaS products.

This actor is deliberately RSS-only. It does not browse G2 HTML pages or require an account.

What does it do?

It turns public g2.com/products/<slug>/reviews.rss feeds into one dataset row per review.

Each run accepts G2 product URLs or product slugs and derives the canonical RSS URL safely.

Who is it for?

  • SaaS product marketers tracking review sentiment.
  • Competitive-intelligence agencies monitoring several vendors.
  • Product-research teams collecting public customer feedback.
  • Data teams that need a repeatable G2 review extractor.

Why use the RSS feed?

G2 HTML can use anti-bot protection. Public review feeds are a stable, lightweight HTTP source.

The actor never falls back to HTML, so its scope stays predictable and transparent.

What data do I get?

FieldMeaning
productSlugCanonical G2 product slug
ratingNumeric rating when included by the feed
titleReview headline
bodyReview content
pros / consStructured positive and negative feedback
reviewerNamePublic reviewer label
reviewerRoleReviewer role when available
reviewerCompanySizeCompany-size context when available
publishedAtRSS publication date
reviewUrlOriginal public G2 review URL
sourceStatusok or error for feed visibility

Quick start

  1. Enter one or more G2 product URLs or slugs.
  2. Keep the default limit low for a quick first run.
  3. Run the actor.
  4. Export the default dataset to CSV, JSON, or your warehouse.

Product URL examples

Use a product page, review page, or RSS feed URL.

{"productUrls":[{"url":"https://www.g2.com/products/slack/reviews.rss"}],"maxReviewsPerProduct":20}

Slug examples

A slug is the part after /products/ in a G2 product URL.

{"productSlugs":["slack","hubspot-marketing-hub"],"maxReviewsPerProduct":25}

Filter by date

Use sinceDate for recurring monitoring workflows.

{"productSlugs":["slack"],"sinceDate":"2026-01-01","maxReviewsPerProduct":50}

Reviews without a usable feed date are retained so you do not silently miss data.

Input reference

productUrls accepts only G2 product paths. Non-G2 URLs are ignored rather than crawled.

productSlugs is an optional compact alternative to URLs.

maxReviewsPerProduct is capped at 100 because an RSS feed is a recent-review feed, not a full historical archive.

Output example

{"productSlug":"slack","rating":4.5,"reviewerRole":"Consultant","pros":"Fast team communication","cons":"Many notifications","sourceStatus":"ok"}

Missing public fields are returned as null, not invented values.

Source errors

A missing or unavailable feed produces a dataset row with sourceStatus: "error" and an error message.

This makes scheduled monitoring easy to audit without inspecting logs.

Review identity and duplicates

The actor uses the RSS GUID or review URL as reviewId.

Duplicate product inputs and repeated feed entries are de-duplicated within the run.

Pricing: How much does it cost to scrape G2 reviews?

Pricing uses a small run-start fee plus a per-review event.

Volume tiers are applied by Apify automatically. Check the Actor pricing panel for current tier prices.

You are charged for successfully extracted review records, not feed-error status rows.

Integrations

Send exported rows to Google Sheets for a weekly voice-of-customer report.

Use Make, Zapier, or an Apify webhook to alert Slack when new low-rating feedback appears.

Load reviewId into a database and compare it with prior runs for incremental monitoring.

Node.js API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/g2-software-review-feed-scraper').call({ productSlugs: ['slack'], maxReviewsPerProduct: 20 });
console.log(await client.dataset(run.defaultDatasetId).listItems());

Python API

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/g2-software-review-feed-scraper').call(run_input={'productSlugs':['slack'], 'maxReviewsPerProduct':20})
print(list(client.dataset(run['defaultDatasetId']).iterate_items()))

cURL API

$curl -X POST 'https://api.apify.com/v2/acts/automation-lab~g2-software-review-feed-scraper/runs?token=YOUR_APIFY_TOKEN' -H 'content-type: application/json' -d '{"productSlugs":["slack"],"maxReviewsPerProduct":20}'

AI assistant prompts

In Claude Code or Claude Desktop, add the Apify MCP integration with ?tools=automation-lab/g2-software-review-feed-scraper.

Prompt: “Extract the newest public G2 reviews for Slack and summarize recurring cons.”

Prompt: “Monitor these G2 product slugs and return review records published since last month.”

Tips for reliable runs

Use canonical G2 product URLs whenever possible.

Start with 20 reviews per product, then increase only when the RSS feed contains more recent entries.

Schedule one run per day or week for competitor monitoring.

Limits

This actor reads public RSS feeds only. It cannot retrieve reviews that G2 does not expose in the feed.

It does not access private data, user accounts, or browser-only G2 content.

Use public data responsibly and comply with G2 terms, applicable law, and your organization’s policies.

Do not use extracted reviewer context for harassment, discrimination, or prohibited profiling.

Troubleshooting

Why did I get an error row? The product slug may be wrong, the feed may be unavailable, or G2 may have removed the product feed.

Why are there fewer rows than requested? RSS feeds contain a limited set of recent entries; the actor does not invent pagination beyond what the feed exposes.

Why are pros or cons empty? Some review entries do not publish those sections.

FAQ

Do I need G2 credentials? No. The actor accesses only the public RSS endpoint.

Can I pass a category URL? No. Use a G2 product URL or a product slug.

Does it scrape G2 HTML? No. That is intentionally out of scope for reliability.

For G2 category discovery, use G2 Software Categories Scraper.

For broader review workflows, combine this actor with your CRM or sentiment-analysis pipeline.

Changelog

See .actor/CHANGELOG.md for user-visible release notes.

MCP setup

Connect this actor directly over Apify's hosted MCP endpoint. In Claude Code, add the actor-scoped HTTP tool:

$claude mcp add --transport http apify-g2-reviews "https://mcp.apify.com?tools=automation-lab/g2-software-review-feed-scraper"

For Claude Desktop, Cursor, or VS Code, add this HTTP server configuration and restart the client:

{
"mcpServers": {
"apify-g2-reviews": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/g2-software-review-feed-scraper"
}
}
}

Example prompts

  • “Use the G2 Software Review Feed Scraper to collect the 20 newest Slack reviews and group the cons by theme.”
  • “Run the G2 review-feed tool for slack, zoom, and notion; return new low ratings with reviewer role and review URL.”
  • “Monitor the G2 review feeds for these competitor slugs and summarize changes since last month.”

API Usage

The Node.js, Python, and cURL examples above start a run and retrieve its default dataset through the Apify API.

Legality

Only collect public RSS review data for legitimate research and monitoring. Follow G2 terms, applicable privacy law, and your organization’s policies.

Support

Include the product URL or slug and the sourceStatus field when reporting a feed problem.