G2 Scraper avatar

G2 Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
G2 Scraper

G2 Scraper

Scrape the ranked software landscape of any G2 category: rating, review count, the top pros and cons with how many reviews mention each, G2's own review summary, and which placements are paid.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Juan ignacio Veltri

Juan ignacio Veltri

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrapes the ranked software landscape of any G2 category — every product in the list with its rating, how many reviews back it, the attributes reviewers keep praising and complaining about, and which slots G2 sold.

One request returns the whole competitive picture of a software market. Point it at https://www.g2.com/categories/crm and you get the top 15 CRMs ranked, each with its score, its review volume, and the five things users love and the five they don't — the conclusions, not the raw reviews.

What makes this different

Most G2 scrapers hand you reviews: thousands of rows of free text that you then have to read, cluster, and count yourself to learn anything. This one starts from what G2 has already computed across all of them.

Reviewers' verdict, already counted. HubSpot Sales Hub has 13,919 reviews. This Actor returns:

"pros": [
{ "name": "Ease of Use", "mentions": 1215 },
{ "name": "Features", "mentions": 701 },
{ "name": "Helpful", "mentions": 672 },
{ "name": "Lead Management", "mentions": 570 },
{ "name": "Intuitive", "mentions": 538 }
],
"cons": [
{ "name": "Missing Features", "mentions": 435 },
{ "name": "Limited Features", "mentions": 409 },
{ "name": "Learning Curve", "mentions": 383 },
{ "name": "Expensive", "mentions": 318 },
{ "name": "Limited Customization", "mentions": 288 }
]

That is the answer you would otherwise scrape 13,919 reviews to compute.

Paid placements, flagged. G2 sells slots inside its category listings and does not mark them apart from the ranking in any machine-readable way. Every row carries isSponsored, and paid slots get rank: null because they hold no ranked position. Without that field a G2 export reads as a merit ranking when part of it is sold inventory.

The ranking is a real ranking. rank counts ranked products only. Ads are not interleaved into the numbering, so rank: 5 means fifth best by G2 Score, not fifth row on the page.

Input

{
"startUrls": ["https://www.g2.com/categories/crm"],
"maxPagesPerListing": 3,
"minReviews": 50,
"includeSponsored": true
}

Product URLs work too, on their own or mixed in:

{
"startUrls": [
"https://www.g2.com/categories/project-management",
"https://www.g2.com/products/hubspot-sales-hub/reviews"
],
"scrapeProductDetails": true
}
ParameterTypeDefaultWhat it does
startUrlsarray["https://www.g2.com/categories/crm"]Category URLs, product URLs, or both. ?order=highest_rated and ?order=popular are respected and kept across pages.
maxPagesPerListinginteger3Pages per category. 15 ranked products per page, so 3 pages is the top 45. Big categories run past 100 pages.
scrapeProductDetailsbooleanfalseOpens each product page to fill in all ten mention counts, every category the product is listed in, and the vendor's description. Costs one extra request per product.
minRatingstringKeep products at or above this, 0–5. Unrated products are dropped rather than assumed to pass.
minReviewsintegerKeep products with at least this many reviews. Drops the 5.0-from-four-reviewers noise.
includeSponsoredbooleantrueSet to false for a listing with no advertising in it.
prosKeywordsarrayKeep only products praised for one of these.
consKeywordsarrayKeep only products criticized for one of these — how you find competitors whose users are unhappy about the thing you do well.
vendorKeywordsarrayKeep only products whose vendor or name matches.
maxItemsinteger100Hard cap on rows saved and charged. 0 means no cap.
includeSeenbooleantrueSet to false to only save products never returned before, for tracking a category over time.
maxConcurrencyinteger2Parallel requests.
maxRequestsPerMinuteinteger20Rate limit for the run.

Output

One row per product.

{
"id": "g2:hubspot-sales-hub",
"url": "https://www.g2.com/products/hubspot-sales-hub/reviews",
"source": "g2",
"scrapedAt": "2026-08-24T20:08:11.485Z",
"productId": "hubspot-sales-hub",
"name": "HubSpot Sales Hub",
"vendor": "HubSpot",
"vendorUrl": "https://www.g2.com/sellers/hubspot",
"rating": 4.4,
"reviewsCount": 13919,
"rank": 2,
"category": "CRM",
"categories": ["Sales Engagement", "Email Tracking", "CRM", "..."],
"reviewSummary": "Users consistently praise the ease of use and intuitive interface of HubSpot Sales Hub, which simplifies managing sales processes and enhances productivity...",
"pros": [{ "name": "Ease of Use", "mentions": 1215 }],
"cons": [{ "name": "Missing Features", "mentions": 435 }],
"isSponsored": false,
"logo": "https://images.g2crowd.com/uploads/product/image/large_detail/..."
}
FieldNotes
rankPosition among ranked products, continuing across pages. null for a paid slot.
categoryThe category the row was read from. null when the product was requested directly.
categoriesEvery category G2 lists the product in — 13 for HubSpot Sales Hub. Needs a product page, so it fills in with scrapeProductDetails or when you pass a product URL.
reviewSummaryG2's own summary of all its reviews for the product. Only category listings publish it.
pros / consFive each, ordered by weight. mentions is how many reviews say it — the listing publishes the top one of each, the product page publishes all ten.
ratingAlways on a 0–5 scale. G2 publishes the same score both out of 5 and out of 10 on the same page; this normalizes it.
isSponsoredtrue for a paid slot, and also true for a product that ranks organically and bought a slot on the same page.

Ratings you can trust

A 5.0 rating from four reviewers outranks a 4.4 from 13,919 unless you look at reviewsCount. Set minReviews and the ranking becomes readable.

What this Actor does not do

It does not scrape individual reviews. If you need the review text itself — per-reviewer job title, company size, the full write-up — this is the wrong tool and there are Actors on the Store built for exactly that. This one is for the market-level view.

Notes

G2 sits behind DataDome, which filters on TLS fingerprint and a JavaScript challenge rather than on IP, so rotating addresses alone does not get through. The Actor runs behind Apify's Unblocker, verified against category pages, deep pagination, alternate sort orders and product pages.

Each row is charged once. Empty and duplicate rows are never charged.