G2 Reviews Scraper avatar

G2 Reviews Scraper

Pricing

from $2.50 / 1,000 review extracteds

Go to Apify Store
G2 Reviews Scraper

G2 Reviews Scraper

Scrape G2.com reviews at scale with no compute costs. Get 35 fields per review: star ratings, NPS scores, dimension ratings, reviewer company size, industry and country, pros, cons, switching signals, and LLM-ready markdown. Search by product URL, name, or seller.

Pricing

from $2.50 / 1,000 review extracteds

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Turn G2's 5 million reviews into structured, actionable data. Ratings, NPS scores, pros/cons, reviewer demographics, and switching signals for any B2B software product. In seconds, not hours.

How it works

How G2 Reviews Scraper works, 3 steps from G2.com to structured data

✨ Why teams choose this over other G2 scrapers

Spending hours copying reviews from G2 tabs? Running scrapers that fail half the time? Missing the data that actually matters for your analysis?

  • Get 1,000+ reviews per minute. Other G2 scrapers take 30x longer. Paste a URL, get structured data back before your coffee gets cold.
  • 📊 35 fields per review, not 15. Star ratings, NPS scores, dimension ratings (ease of use, setup, support), reviewer country, company size, industry, and switching data. The fields competitors skip are often the ones you need most.
  • 🤖 Ready for your LLM pipeline. Every review includes a markdownContent field you can feed directly into ChatGPT, Claude, or any RAG system. No preprocessing needed.
  • 🔍 Search inside reviews. Filter by keyword like "slow", "integration", or "support" to find exactly the feedback you're looking for across thousands of reviews.
  • 🏢 Scrape an entire vendor in one run. Paste a seller URL like /sellers/salesforce and get reviews across all 72 of their products at once.
  • 💰 Pay per review, nothing else. No compute costs, no proxy setup, no monthly fees. You only pay for data you actually receive.

🎯 What you can do with G2 review data

TeamWhat they build
ProductFind the 3 features your competitor gets praised for that you don't have yet
SalesCreate battle cards with real quotes from verified G2 reviewers
AI / LLMFeed thousands of structured reviews into your RAG pipeline or fine-tuning dataset
ResearchCompare software adoption by company size and region across 220K+ products
Customer SuccessDiscover who switches away from your product and the exact reasons why
VCsRun due diligence on any SaaS product using NPS trends and sentiment data
ContentPull real testimonials and use cases mentioning specific keywords

📥 Input parameters

Product or Seller URLs

ParameterTypeDescription
productUrlsstring[]G2 product or seller URLs (e.g., https://www.g2.com/products/slack/reviews or https://www.g2.com/sellers/salesforce)

Search by Name

ParameterTypeDescription
productNamesstring[]Search for products by name (e.g., Slack, Notion, Salesforce)

Limits

ParameterTypeDefaultDescription
maxReviewsinteger100Maximum reviews to scrape per product (up to 50,000)

Sorting & Filtering

ParameterTypeDefaultDescription
sortselectMost recentSort by: most recent, highest rated, or lowest rated
starRatingsinteger[]AllFilter by star rating (1-5). Leave empty for all ratings
searchQuerystringFilter reviews containing this keyword (e.g., "integration", "slow", "support")

Options

ParameterTypeDefaultDescription
includeSummarybooleantrueAdd an analytics summary with rating distribution, avg NPS, top regions, and company segments

Advanced

ParameterTypeDefaultDescription
debugModebooleanfalseEnable detailed logging for troubleshooting

📊 Output data

Review example

{
"reviewId": "12601006",
"url": "https://www.g2.com/products/slack/reviews/12601006",
"productName": "Slack",
"productSlug": "slack",
"productId": 3437,
"reviewTitle": "Good tool for communication management",
"pros": "Navigation is very easy, and I like having the option to organize different group chats.",
"cons": "The only issue I have had was archiving old chats where there were people who already left.",
"reviewText": "Communication with team Good tool for communication management",
"markdownContent": "# Good tool for communication management\n\n**Rating:** 5/5 | **NPS:** 9/10...",
"starRating": 5,
"npsScore": 9,
"easeOfUse": 10,
"easeOfSetup": 8.5,
"qualityOfSupport": 7.1,
"meetsRequirements": 8.5,
"reviewerName": "Elis L.",
"country": "Estonia",
"region": "EMEA",
"companySegment": "Mid-Market",
"industry": "Information Technology and Services",
"submittedAt": "2026-04-08T06:38:48.161-05:00",
"reviewSource": "g2",
"switchedFrom": false,
"responseType": "text",
"dataType": "review"
}

Analytics summary example

{
"productName": "Slack",
"productSlug": "slack",
"totalReviews": 26954,
"ratingDistribution": {"1": 40, "2": 91, "3": 457, "4": 3504, "5": 15387},
"avgNps": 9.2,
"avgEaseOfUse": 9.3,
"avgEaseOfSetup": 9.3,
"avgQualityOfSupport": 9.0,
"avgMeetsRequirements": 9.3,
"topRegions": {"Americas": 12470, "Asia Pacific": 4537, "EMEA": 2405},
"topCompanySegments": {"Small-Business": 7886, "Mid-Market": 7849, "Enterprise": 3394},
"topSources": {"g2": 13617, "organic": 3981, "vendor": 450},
"dataType": "summary"
}

🗂️ Data fields

CategoryFields
ReviewreviewId, reviewTitle, pros, cons, reviewText, markdownContent, submittedAt
RatingsstarRating (1-5), npsScore (0-10), easeOfUse, easeOfSetup, easeOfAdmin, qualityOfSupport, meetsRequirements
ReviewerreviewerName, companySegment, industry, country, region
ProductproductName, productSlug, productId, url
CompetitiveswitchedFrom, switchedReason, loveTheme, hateTheme
MetadatareviewSource, sourceType, isIncentivized, helpfulCount, responseType
SummarytotalReviews, ratingDistribution, avgNps, avgEaseOfUse, topRegions, topCompanySegments, topSources

🚀 Examples

Get the latest Slack reviews

{
"productUrls": ["https://www.g2.com/products/slack/reviews"],
"maxReviews": 100
}

Find reviews mentioning "integration"

{
"productUrls": ["https://www.g2.com/products/notion/reviews"],
"maxReviews": 500,
"searchQuery": "integration"
}

Pull only negative reviews for competitive analysis

{
"productUrls": ["https://www.g2.com/products/hubspot-sales-hub/reviews"],
"maxReviews": 200,
"sort": "lowest_rated",
"starRatings": [1, 2]
}

Scrape all products from a vendor at once

{
"productUrls": ["https://www.g2.com/sellers/salesforce"],
"maxReviews": 50
}

Compare multiple products by name

{
"productNames": ["Slack", "Notion", "Asana"],
"maxReviews": 1000,
"sort": "most_recent",
"includeSummary": true
}

💻 Integrations

Python: Feed reviews into your LLM

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run_input = {
"productUrls": ["https://www.g2.com/products/slack/reviews"],
"maxReviews": 1000,
"sort": "most_recent",
}
run = client.actor("silentflow/g2-review-intelligence").call(run_input=run_input)
reviews = []
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["dataType"] == "review":
reviews.append(item)
print(f"{item['starRating']}{item['reviewTitle']}")
print(f" Pros: {item['pros'][:100]}...")
print(f" Cons: {item['cons'][:100]}...")
elif item["dataType"] == "summary":
print(f"\nSummary: {item['totalReviews']} reviews, avg NPS: {item['avgNps']}/10")
# Use markdownContent for RAG pipelines
for review in reviews:
# Feed review["markdownContent"] to your LLM
pass

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('silentflow/g2-review-intelligence').call({
productUrls: ['https://www.g2.com/products/slack/reviews'],
maxReviews: 1000,
sort: 'most_recent',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const reviews = items.filter(i => i.dataType === 'review');
const summaries = items.filter(i => i.dataType === 'summary');
reviews.forEach(item => {
console.log(`${item.starRating}${item.reviewTitle}`);
});
summaries.forEach(s => {
console.log(`${s.productName}: ${s.totalReviews} reviews, NPS ${s.avgNps}/10`);
});

📈 Performance

MetricValue
Speed1,000+ reviews per minute
Max reviews per product50,000
Total reviews accessible5,300,000+
Total products224,000+
Memory usage256 MB (minimal)

💡 Tips for best results

  1. Search inside reviews: searchQuery: "slow" finds every review mentioning performance issues across thousands of reviews. Great for competitive analysis.
  2. Scrape entire vendors: Paste a seller URL like /sellers/salesforce to get reviews across all of their products in one run.
  3. Filter by stars for sentiment analysis: starRatings: [1, 2] for negative feedback, [4, 5] for testimonials.
  4. Use the summary: The analytics summary gives you rating distribution, avg NPS, and reviewer demographics without processing individual reviews.
  5. Feed markdownContent to your LLM: Each review includes a pre-formatted markdown version ready for ChatGPT, Claude, or your vector database.

❓ FAQ

Q: Do I need a G2 account? A: No. The scraper extracts publicly available review data. No login, no API key, no cookies.

Q: Why is this so much faster than other G2 scrapers? A: We use a direct data pipeline instead of browser-based scraping. No page rendering, no anti-bot workarounds, no retries.

Q: What is the markdownContent field? A: A pre-formatted markdown version of each review with structured headers (pros, cons, comments) and metadata. Drop it straight into your LLM prompt or vector database.

Q: Can I scrape all products from a single vendor? A: Yes. Paste a seller URL like https://www.g2.com/sellers/salesforce and the scraper finds and scrapes reviews from every product under that vendor.

Q: What are the dimension ratings (easeOfUse, etc.)? A: G2 asks reviewers to rate products on specific dimensions (ease of use, setup, admin, support, meets requirements). We normalize these to a 0-10 scale.

Q: How fresh is the data? A: Live data, every run. New reviews appear within minutes of being published on G2.

📬 Support

Need something this scraper doesn't do yet? We ship features fast.

  • 💡 Feature requests go straight to our backlog
  • ⚙️ Enterprise needs? We do custom integrations and high-volume setups

Response time: usually under 24 hours.

Check out our other scrapers: SilentFlow on Apify