G2 Reviews Scraper - Software Reviews, Ratings & Profiles avatar

G2 Reviews Scraper - Software Reviews, Ratings & Profiles

Pricing

from $1.50 / 1,000 results

Go to Apify Store
G2 Reviews Scraper - Software Reviews, Ratings & Profiles

G2 Reviews Scraper - Software Reviews, Ratings & Profiles

Scrape software product reviews from G2.com via its public RSS feeds: star rating, pros/cons, use case, reviewer type, role, industry & company size. HTTP-only, no Cloudflare, no login, no residential proxy. Up to 125 reviews per product (star-filtered feeds).

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

8 days ago

Last modified

Security

Limited permissions

Share

G2 Reviews Scraper — Ratings, Pros/Cons & Reviewer Profiles as JSON

Scrape software product reviews from G2.com, the largest B2B software review platform, without fighting its anti-bot stack. This G2 reviews scraper pulls the star rating, review title, the full "what do you like best / dislike / problems it solves" answers, and the reviewer profile (role, industry, company size) for any product — no login, no coding, no browser farm. Point it at a product slug or URL and get clean, structured G2 review data back in seconds.

Export every review to JSON, CSV, Excel, or API.

Built for competitive-intelligence teams, product managers, UX researchers, SaaS marketers, sales teams, VCs doing diligence, and anyone who needs to scrape G2 reviews at scale for voice-of-customer analysis.


🔎 Why scrape G2?

G2 is the single richest public source of B2B software reviews on the internet — millions of verified reviews across tens of thousands of products, each one a structured mini-case-study: what the user loves, what frustrates them, the problem the tool solves, and exactly who the reviewer is (role, industry, company size). For anyone building, selling, or investing in software, that is gold.

The problem is that this data is trapped. G2's HTML review pages are protected by Cloudflare + DataDome, so a normal HTTP request or a cheap datacenter scraper just gets a 403. Copy-pasting reviews by hand is slow, error-prone, and impossible to keep fresh — a popular product collects dozens of new reviews a week. You need a reliable, repeatable way to turn G2 review pages into a spreadsheet or a feed.

This G2 scraper solves that cleanly. Instead of battling the anti-bot wall, it reads G2's public RSS review feeds — a legitimate, openly published endpoint — over plain HTTP, and parses the rich review content into flat, analysis-ready rows. No Cloudflare fight, no residential proxy, no headless browser.

Common reasons people scrape G2:

  • Competitive intelligence — track how competitors' products are rated and what their customers complain about.
  • Voice-of-customer analysis — mine pros, cons and use cases to find recurring themes, feature gaps and churn signals.
  • Product & UX research — prioritize your roadmap from real user pain points and feature requests.
  • Sales enablement — arm reps with competitor weaknesses pulled straight from 1-2 star negative reviews.
  • Marketing & messaging — discover the exact language customers use to describe value, then reuse it.
  • Review monitoring — watch new reviews land on your own or a rival's listing and get alerted to sentiment shifts.
  • Market research & diligence — benchmark a whole software category by rating, reviewer industry and company size.

✨ What this G2 scraper does

  • ✅ Scrapes reviews for any G2 product — just give it the product slug (slack) or any G2 product URL (https://www.g2.com/products/zoom/reviews). Add as many products as you like, one per line; redirected/renamed slugs (e.g. zoom → zoom-workplace) are followed automatically.
  • ✅ No Cloudflare fight, no login, no residential proxy — it reads G2's public RSS feeds over plain HTTP, so it stays fast and cheap. The optional Apify datacenter proxy only spreads requests across IPs to avoid rate-limiting on large runs.
  • ✅ Star-level targeting — G2 serves one RSS feed per star rating (1-5). Pull all five for maximum coverage (up to ~125 unique reviews per product, deduplicated by review id), or narrow to e.g. ["1","2"] to grab only the harshest negative reviews.
  • ✅ Rich, structured fields per review — rating (including genuine 0-star and half-star reviews), title, pros ("what do you like best?"), cons ("what do you dislike?"), useCase ("what problems is it solving?"), plus the reviewer profile: reviewerType, role, industry and companySize — along with date, url and reviewId.
  • ✅ Automatic de-duplication — reviews that appear in more than one star feed are merged by reviewId, so every exported row is unique (a recent run produced 0 duplicates across 451 reviews).
  • ✅ Parallel processing — scrape many products at once with configurable concurrency; built-in retries with IP rotation keep runs resilient.
  • ✅ Any export format — download results as JSON, CSV, or Excel, or pull them straight from the Apify API / integrate with Make, Zapier, Google Sheets or a webhook.

Only what the code actually does: this actor reads the public per-product RSS feeds and parses them. It does not click through G2's gated full-history pages, so coverage per product is the most recent ~125 reviews across the five star levels.

🎯 Use cases

  • SaaS competitive analysts benchmarking their product against rivals on G2.
  • Product managers turning real pros/cons into a prioritized roadmap.
  • UX & customer-research teams running thematic analysis on voice-of-customer text.
  • Sales & revenue teams pulling competitor pain points from low-star reviews for battlecards.
  • Content & SEO marketers harvesting authentic customer language for landing pages and ads.
  • Growth & demand-gen teams tracking sentiment and rating trends over time.
  • Investors & corp-dev running due diligence across an entire software category.
  • Data teams feeding G2 review data into a warehouse, BI dashboard or an LLM sentiment pipeline.

📥 Input

Configure the actor from the Apify Console UI or pass a JSON input via the API. The only thing you really need is one or more G2 products.

FieldTypeDescription
productUrlsarray of stringsSoftware products to scrape. Paste the G2 product slug (e.g. slack) or any G2 product URL (e.g. https://www.g2.com/products/zoom/reviews), one per line. The slug is the part after /products/.
starFiltersarray of stringsWhich star ratings to pull. G2 serves one RSS feed per star level (1-5), 25 reviews each → up to 125 unique reviews per product. Keep all five for maximum coverage, or narrow (e.g. ["1","2"]) for only negative reviews. Default: all five.
maxReviewsPerProductintegerCap the number of reviews collected per product. 0 = all available from the feeds (up to ~125). Default 0.
maxItemsintegerMaximum number of reviews to save across all products combined. 0 = no limit. Default 0.
maxConcurrencyintegerHow many products to process in parallel (1-12). Default 5.
proxyConfigurationobjectOptional. The RSS feed is not behind Cloudflare, so no residential proxy is needed — Apify datacenter proxy (default) just spreads requests to avoid rate-limiting.

Example input

{
"productUrls": [
"slack",
"https://www.g2.com/products/zoom/reviews",
"salesforce-sales-cloud"
],
"starFilters": ["1", "2", "3", "4", "5"],
"maxReviewsPerProduct": 0,
"maxItems": 0,
"maxConcurrency": 5,
"proxyConfiguration": { "useApifyProxy": true }
}

To collect only negative feedback for a single product:

{
"productUrls": ["slack"],
"starFilters": ["1", "2"]
}

📤 Output

Each review is saved as one dataset item. Here is a real item from a fresh verification run (scraping slack, notion, asana, monday-com and hubspot-marketing-hub):

{
"product": "monday-com",
"reviewId": "8887379",
"title": "Monday is a great place to track changes and updates, like to see the automation improvements",
"rating": 1,
"pros": "Its simple and straightforward interface. Its customizability and info features to explain how to work it.",
"cons": "I think some creativity around the automation features would help users.",
"useCase": "-sharing updates with many people -centralizing info -tracking tasks and project completion",
"reviewerType": "Verified User",
"role": "User",
"industry": "Computer Software",
"companySize": "1,001-5,000 employees",
"date": "2023-11-16T21:18:12.000Z",
"url": "https://www.g2.com/products/monday-com/reviews/monday-ai-work-platform-review-8887379",
"scrapedAt": "2026-11-02T02:01:23.693Z"
}

Output field reference

FieldDescription
productThe G2 product slug the review belongs to.
reviewIdG2's numeric review id (used for de-duplication).
titleThe review headline.
ratingStar rating on G2's scale — includes half stars (4.5, 0.5) and genuine 0-star reviews (kept, not dropped).
prosThe "What do you like best?" answer, full text.
consThe "What do you dislike?" answer, full text.
useCaseThe "What problems is it solving and how is that benefiting you?" answer.
reviewerTypeEither Verified User or a named reviewer (e.g. Nishant J.).
roleThe reviewer's job role (e.g. User, G2 User, Administrator, Consultant).
industryThe reviewer's industry (e.g. Computer Software) — present when G2 exposes it in the feed.
companySizeThe reviewer's company-size band (e.g. 51-200 employees) — present when available.
dateReview publish date, ISO 8601.
urlDirect link to the review on G2.
scrapedAtISO timestamp of when the actor captured the review.

Field coverage (verified). In the fresh 451-review run, the core fields were effectively complete — product, reviewId, title, rating, pros, useCase, date and url all at 100%, and cons at 99.8% (a single review left the "dislike" box empty). The reviewer-disclosure fields depend on what each person chose to reveal on G2: companySize populated on ~62% of reviews and industry on ~36% — these are genuinely optional on the source and are captured when available, never fabricated.

🔁 Pagination & scale

G2 publishes one RSS feed per product per star level (?filters[nps_score][]=1 … =5), and each feed returns its most recent 25 reviews. This actor requests every star level you select, parses all items, and de-duplicates by reviewId — so a full five-star run yields up to ~125 unique reviews per product. In the verification run, monday-com and notion each returned the full 125, while products with more review overlap across star feeds returned ~95-105 after de-duplication.

Use the maxReviewsPerProduct input to cap reviews per product and maxItems to cap the total across all products; the actor stops cleanly once a cap is hit. To scale across many products, add more slugs/URLs to productUrls and raise maxConcurrency — the actor processes products in parallel. This is a bounded public source: the RSS feeds expose the latest ~125 reviews per product by design; G2's deeper review history sits behind its Cloudflare/DataDome wall and is not served through the public feed.

⚙️ How to use

  1. Open the actor on the Apify Console and click Start (the default input already scrapes Slack as a demo).
  2. Add your own G2 products to productUrls (slugs or full URLs, one per line) and pick which starFilters you want.
  3. Optionally set maxReviewsPerProduct / maxItems to cap volume, and maxConcurrency to control speed.
  4. Run it, then download the dataset as JSON, CSV, or Excel, or fetch it from the Apify API.
  5. Automate it: schedule the actor to run daily/weekly for review monitoring, or trigger it from Make, Zapier, Google Sheets or a webhook and pipe results into your warehouse or dashboard.

💡 Tips

  • Want only negative reviews? Set starFilters to ["1", "2"] — perfect for sales battlecards and churn research.
  • Want only glowing reviews? Use ["5"] to mine your best testimonials and marketing quotes.
  • Scraping a whole category? Drop a long list of slugs into productUrls and raise maxConcurrency (up to 12) for faster runs — 5 products returned 451 reviews in about 33 seconds.
  • Keeping data fresh? Schedule a recurring run — the feeds always surface the newest reviews first, so you catch new feedback quickly.
  • Finding the slug: it's the part of the URL right after /products/ — e.g. https://www.g2.com/products/salesforce-sales-cloud/reviews → salesforce-sales-cloud.
  • Proxy: leave the default Apify proxy on for large multi-product runs; a single IP can get rate-limited.

❓ FAQ

Is scraping G2 legal? This actor only reads G2's publicly published RSS feeds — the same openly available data anyone can view in a browser or feed reader. As with any scraping, use the data responsibly, respect G2's terms, and don't collect personal data beyond what you need. You are responsible for your own compliance.

How many reviews can I get per product? Up to about 125 unique reviews per product — G2 serves 25 reviews per star level across five levels, and this scraper merges and de-duplicates them by review id.

How fast is it? Very fast. A single product takes seconds; a fresh verification run collected 451 unique reviews across five products in about 33 seconds with zero duplicates. Add more products and raise concurrency to scale.

Do I need a proxy or a login? No. There is no login and no residential proxy required — the RSS feed is not behind Cloudflare. The optional Apify datacenter proxy just rotates IPs to avoid rate-limiting on big runs.

Does it bypass G2's Cloudflare / DataDome? It doesn't need to. Rather than fighting the anti-bot wall on the HTML review pages, it uses G2's public RSS feed, which is served over plain HTTP.

What export formats are supported? JSON, CSV, and Excel downloads, plus the Apify API and dataset endpoints for programmatic access and integrations.

Is there an API? Yes — every Apify actor can be run and its dataset fetched via the Apify API, so you can trigger this G2 API scraper and stream results into your own systems.

How fresh is the data? As fresh as G2's feed — the RSS feeds surface the most recent reviews first. Schedule the actor to re-run and you'll always capture the newest reviews.

Can I filter by star rating? Yes. Use starFilters to pick exactly which star levels (1-5) to pull — one feed per level — so you can isolate negative or positive reviews.

Why is industry or companySize sometimes empty? Those fields come from what each reviewer chose to disclose. When G2 includes them in the feed they're captured (roughly 36% and 62% of reviews respectively in our test); otherwise they're left blank. The core review fields — rating, title, pros, cons, use case, url, date — are present on essentially every review.

Can I scrape more than the latest ~125 reviews? Not through the public feed — older history is gated behind G2's anti-bot wall and isn't served via RSS. For ongoing coverage, run the actor on a schedule so you continuously capture new reviews as they appear.

Building a review-intelligence pipeline? Combine this G2 reviews scraper with other review and ratings scrapers:


Ready to mine G2? Hit Start, drop in your product slugs, and export thousands of structured G2 reviews to JSON, CSV or Excel in minutes.