B2B software decisions get argued out in public on G2, in tens of thousands of structured reviews with ratings, roles, and company sizes attached. For anyone doing competitive intelligence or tracking customer sentiment, that corpus is gold, and it only exists as web pages. This post covers the manual route, why scripting it yourself hurts, and the shortcut: the G2 Reviews API on Apify, which turns product URLs into one JSON row per review.
Disclosure: the Apify links in this post are affiliate links. If you run the Actor, I may earn a referral commission at no extra cost to you.
Does G2 have an API?
Not one you can just sign up for. G2's official data access is aimed at vendors and partners under commercial agreements, so an independent developer or analyst who wants review data has no self-serve endpoint. The practical alternative is a scraper you call like an API: send G2 product review URLs, get the public reviews back as structured JSON, capped and sorted the way you asked.
What the G2 Reviews API returns
The G2 Reviews API returns each public review as a JSON row with rating, title, full text, pros and cons, reviewer role, company size, date, and a verified flag.
| Field | Example | Notes |
|---|---|---|
productName |
Asana |
The product reviewed |
rating |
4.5 |
0 to 5 |
pros / cons
|
"The interface is simple enough to learn quickly." |
Best-effort split from the review body |
reviewerRole |
Program Manager |
When disclosed |
companySize |
Small-Business (50 or fewer emp.) |
G2's size band |
verified |
true |
Derived from tags like "Validated Reviewer" |
Flip includeProductMetadata on and each product adds a metadata row with category, overall star rating, review count, vendor, and named competitors.
Who this is for
Product marketers doing competitor analysis who want rivals' cons as a spreadsheet column. Product and CS teams measuring customer sentiment by role and company size instead of vibes. And buyers or analysts comparing tools on evidence, with the incentivized-review tags visible instead of hidden.
The manual way, and where it breaks
Reading G2 reviews in a browser is fine until you need counts. Copy-paste dies within a page. Scripting against the site directly means JavaScript rendering, aggressive anti-bot friction, and review bodies scattered across question-and-answer fragments you have to reassemble per review. G2 also updates its markup often enough that a homemade parser needs regular surgery. I gave my version two rewrites before concluding the maintenance was the product.
The faster way: run the G2 reviews scraper
Apify Console
- Open the G2 Reviews API and click Try for free.
- Paste one or more
productUrlslikehttps://www.g2.com/products/asana/reviews, setmaxReviewsPerProductandsortBy. - Run it and export the reviews as JSON, CSV, or Excel.
REST
curl -X POST "https://api.apify.com/v2/acts/johnvc~g2-reviews-api/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "productUrls": ["https://www.g2.com/products/asana/reviews"], "maxReviewsPerProduct": 100, "sortBy": "recent" }'
Run mechanics are in the Apify API docs.
Analyze reviews in Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("johnvc/g2-reviews-api").call(
run_input={
"productUrls": ["https://www.g2.com/products/asana/reviews"],
"maxReviewsPerProduct": 50,
"sortBy": "recent",
}
)
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
print(review["rating"], review.get("reviewerRole"), review.get("cons"))
Filter on companySize and you have sentiment segmented by market tier in a dozen lines.
Use case: benchmark a competitor's cons
Run your product and two rivals in one productUrls list, sorted by recent, and pull only the cons column. The result is a live list of what users dislike about each tool, in their words, segmented by reviewer role. Feed it to an LLM for theme clustering and you have a competitive brief that updates whenever you rerun the input, which beats quarterly analyst decks on both freshness and price.
Use case: watch customer sentiment move after a launch
Sort by recent, cap at the last hundred reviews, and score rating over datePublished weekly. A pricing change or a rough release shows up in the trend line within weeks, with verified and the incentivized tags letting you weight reviews honestly. Because the input is just a saved task, the whole pipeline is a schedule plus a chart.
Read G2 from Claude over MCP
Exposed through the Model Context Protocol, the Actor becomes a callable tool in Claude, Claude Code, and Cursor, so "summarize the recent cons for Asana from small-business reviewers" runs a live pull instead of quoting stale training data. You can read more about Claude at claude.ai.
FAQ about scraping G2 reviews
Is there an official G2 API, or is a scraper the only route?
Official access exists for vendors and partners under agreements, not as a public developer API. For everyone else, a scraper against the public review pages is the workable path, and this one packages it with API ergonomics.
What does the G2 reviews scraper cost to run?
Billing is per review returned, with no per-run setup fee, plus an optional $0.003 per product when includeProductMetadata is on. The current per-review price sits on the Store card, and maxReviewsPerProduct caps spend before you start.
How do I do competitor analysis with this scraper?
Put your competitors' review URLs in one run, sort by recent, and compare pros, cons, and rating trends side by side. The optional metadata row even lists each product's named competitors, which is a handy expansion seed.
Can Claude or another agent drive the scraper over MCP?
Yes. Connect the Apify MCP server and the Actor appears as a tool in any MCP client, which makes live review pulls available inside agent workflows.
Can I schedule the scraper to monitor reviews?
Review monitoring is the intended recurring use: save your product list as a task, attach an Apify schedule, and each run appends the newest reviews for diffing. Start from the G2 Reviews API.
What are the scraper's honest limits?
It returns what the public pages show: products with few reviews yield few rows, reviewer names and roles appear only when disclosed, and the pros and cons split is best-effort parsing of G2's Q&A format. Incentivized reviews are labeled, not laundered.
More from Truffle Pig Data
Vendor intelligence has more than one axis: the Glassdoor Reviews API shows how the same companies treat employees, and the Crunchbase Company API adds funding and firmographics behind the products.
Wrapping up
The software market reviews itself in public; the only missing piece was machine-readable access. Point the G2 Reviews API at a product page and start counting what people actually say.
Top comments (0)