G2 Reviews Scraper: Ratings, Pros, Cons & Roles avatar

G2 Reviews Scraper: Ratings, Pros, Cons & Roles

Pricing

from $2.00 / 1,000 reviews

Go to Apify Store
G2 Reviews Scraper: Ratings, Pros, Cons & Roles

G2 Reviews Scraper: Ratings, Pros, Cons & Roles

Scrape G2 product reviews: star rating, review title, what reviewers like and dislike, job title, company size band and review date. No login, no API key. Optional deterministic insights per product. Works in Claude, ChatGPT & any MCP agent.

Pricing

from $2.00 / 1,000 reviews

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Categories

Share

10 G2 reviews in 60 seconds, each with rating, pros, cons, reviewer role and company size

From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors.

Why choose this actor?

  • Real G2 reviews, not an empty page. G2 sits behind two bot protection layers and builds its review list in the browser, so an ordinary request gets a page with no reviews in it. This actor reads the review pages through Apify's unblocking proxy and returned 10 reviews in 60 seconds in our test run on 1 October 2026, and 30 reviews from three pages in a local test after the paging fix the same day. No G2 account, no API key, no proxy to set up.
  • The reviewer's context in every row. Each review comes with its star rating (half stars kept), title, what the reviewer liked, what they disliked, the reviewer's job title and the size band of their company (Small-Business, Mid-Market or Enterprise), so you can compare what small teams and large companies say about the same tool.
  • You pay only for reviews delivered. Each review is charged after it is saved to your dataset. A product G2 refuses, a page that repeats reviews you already have and every summary row cost nothing. There is no start fee.

Run it on Apify

Part of The Mine Works Marketing, SEO and reviews family: Facebook Ad Library Scraper, Similarweb Scraper, Google Ads Transparency Scraper, Google News Scraper, Trustpilot Reviews Scraper, Google Trends Scraper.

Try it in one minute

Paste this into the JSON tab of the input page. It returns the first page of G2 reviews for the product, 10 reviews, in about a minute.

{
"productUrls": ["salesforce-customer-success"],
"maxReviewsPerProduct": 10
}

You can name a product in two ways, in any mix: the full product link copied from G2 (https://www.g2.com/products/hubspot-marketing-hub/reviews, or any other page under /products/<name>/), or just the product's slug, the part after /products/ (hubspot-marketing-hub). Up to 10 products per run.

Apify's free plan includes $5 of credit every month, which covers about 2,000 reviews at this actor's Free plan price of $0.0025 per review, since there is no start fee.

Copy to your AI assistant

themineworks/g2-reviews-scraper on Apify. Scrapes public G2 software reviews for up to 10 products per run, with no login, and returns one row per review with review id, title, star rating out of 5, pros (what the reviewer likes best), cons (what they dislike), reviewer name as G2 shows it, job title, company size band, review date and video flag; up to 200 reviews per product (20 pages of 10). Call ApifyClient("TOKEN").actor("themineworks/g2-reviews-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: productUrls (array of G2 product URLs or slugs such as "hubspot-marketing-hub"). Optional: maxReviewsPerProduct (default 20, 1 to 400; values above 200 are treated as 200), includeReviewInsights (default false; adds one rating breakdown row per product). Skip rows that have a _type field (summary, review_insights, run_summary, info); review rows have none. Full spec: GET https://api.apify.com/v2/acts/themineworks~g2-reviews-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations

Key features

  • 18 fields per review: review_id, review_title, rating and rating_out_of, pros, cons, reviewer_name, reviewer_job_title, reviewer_id, company_size_band, review_date, is_video_review, plus the product's slug, name, G2 product id and vendor id, the review page link and the time it was read.
  • Up to 10 products per run: paste a list of competitors or a whole shortlist. A product listed twice (as a link and as a slug, say) is read once.
  • G2's own review count per product: a summary row per product carries g2_reported_total, the number of reviews G2 says the product has (568 for Salesforce Customer Success and 15,952 for HubSpot Marketing Hub on 1 October 2026), next to how many reviews this run delivered.
  • Optional insights row, no AI: switch on includeReviewInsights for one extra row per product with a five bucket star breakdown, the words that recur in reviews rated 2 or lower, and a month by month average rating when the reviews span two months or more. It is worked out from the reviews already collected, with no extra page loads, for $0.02 per product.
  • Light and steady: plain HTTP through Apify's unblocking proxy at 512 MB, no browser. Each page gets one retry, and a run stops on its own after 3 failed pages in a row so a bad day at G2 does not keep running.
  • Up to 200 reviews per product. The actor reads G2's review pages, 10 reviews a page, until it has maxReviewsPerProduct reviews or has read 20 pages. A page that fails twice is made up from the next page, and a review already delivered in the run is dropped, never charged. In our local test on 1 October 2026, asking for 30 reviews of Salesforce Customer Success returned 30 reviews with 30 different review ids from three pages.

How to use it

Basic: one product

{
"productUrls": ["https://www.g2.com/products/hubspot-marketing-hub/reviews"],
"maxReviewsPerProduct": 10
}

Several products at once

Put up to 10 products in one run. They are read one after another, each with its own maxReviewsPerProduct.

{
"productUrls": [
"hubspot-marketing-hub",
"salesforce-customer-success",
"https://www.g2.com/products/zoho-crm/reviews"
],
"maxReviewsPerProduct": 10
}

Competitor review watch, every week

Read the newest reviews of your competitors each Monday and see what their customers complain about. Schedule it in Apify (Console, this actor, Schedules, weekly). The actor has no memory between runs, so a review that is still on G2's first page next week comes back again and is charged again; keep review_id as the key in your sheet or database to drop repeats.

{
"productUrls": ["hubspot-marketing-hub", "pipedrive", "zoho-crm"],
"maxReviewsPerProduct": 10
}

Category snapshot with star breakdowns

Before a buying decision or a market report, pull the latest reviews for a whole shortlist and get one insights row per product with the star split. These five products cost at most 50 reviews plus $0.10 of insights; a full run of 10 products, at most 100 reviews plus $0.20.

{
"productUrls": ["hubspot-sales-hub", "pipedrive", "zoho-crm", "salesforce-customer-success", "hubspot-marketing-hub"],
"maxReviewsPerProduct": 10,
"includeReviewInsights": true
}

Win and loss notes by company size

Feed cons and company_size_band into a sheet or a summarising model to see whether Enterprise reviewers and Small-Business reviewers dislike the same things. The pros and cons are already split, so no text parsing is needed on your side.

{
"productUrls": ["salesforce-customer-success", "hubspot-sales-hub"],
"maxReviewsPerProduct": 10
}

Input parameters

ParameterTypeDefaultWhat it does
productUrlsarray of stringsnone (prefilled with salesforce-customer-success)G2 products: a link such as https://www.g2.com/products/salesforce-customer-success/reviews, or just the slug salesforce-customer-success. At most 10 per run; extra products are skipped with a warning in the log, so split long lists across runs.
maxReviewsPerProductinteger20Most reviews per product, not per run (1 to 400). The actor reads at most 20 pages of 10 per product, so values above 200 are treated as 200. Every 10 reviews is one more page through the unblocking proxy, so higher values make the run longer.
includeReviewInsightsbooleanfalseAdds one review_insights row per product: star breakdown, recurring terms in low rated reviews and a monthly rating trend, computed from the reviews in this run. $0.02 per product, charged only for a product that returned reviews.

If no usable product is given, the run ends at once with a summary row saying no valid product was given, and nothing is charged.

What data do you get?

One row per review. A field G2 does not show for a review is left out of that row rather than filled with null or a guess; the reviewer's job title is the one most often missing.

The review: review_id (G2's number for the review), review_title, rating (for example 4.5) and rating_out_of (always 5), pros (the answer to G2's "What do you like best" question), cons (the answer to "What do you dislike"), review_date (the publish date, YYYY-MM-DD) and is_video_review.

The reviewer: reviewer_name (as G2 shows it: first name and the initial of the last name), reviewer_job_title, reviewer_id and company_size_band (Small-Business (50 or fewer emp.), Mid-Market (51-1000 emp.) or Enterprise (> 1000 emp.), in G2's own wording).

The product: product_slug, product_name, product_id and vendor_id (G2's ids, useful to join with other G2 data), review_url (the product's review page on G2, the same for every review of that product) and scraped_at.

Other rows carry a _type field, so you can filter them out in one step:

  • summary, one per product: reviews_scraped, charged_for and g2_reported_total, the review count G2 shows for the product.
  • review_insights, one per product when includeReviewInsights is on: rating_distribution (count and percent for 1 to 5 stars; half stars are rounded, so 4.5 counts as 5), top_complaint_terms (words and two word phrases that occur at least twice in reviews rated 2 or lower; empty when there are none, which is common), a month by month average rating (only when the reviews span two months or more), based_on_reviews and based_on_negative_reviews. When a review rated 2 or lower is present the row also has a negative review reply rate; it is always 0 because the actor does not read vendor replies on G2, so ignore it.
  • run_summary, one per run: products requested and delivered, reviews, charged_for, page_requests and page_failures.
  • info, one per run: how many reviews were delivered, never charged.

Stable fields for automations

These fields were present in every review row of our test runs on 1 October 2026:

FieldWhat it holds
review_idG2's id for the review; use it as your key
product_slugThe product as in the G2 link
product_nameThe product's name on G2
review_titleThe review's headline
ratingStars given, half stars kept
rating_out_ofAlways 5
prosWhat the reviewer likes best
consWhat the reviewer dislikes
reviewer_nameFirst name and last initial, as G2 shows it
company_size_bandG2's company size band
review_datePublish date, YYYY-MM-DD
is_video_reviewtrue for a video review
review_urlThe product's G2 review page
scraped_atWhen the row was read, ISO 8601

These names will not change. New fields may be added, never renamed or removed.

Output examples

Real rows from our runs on 1 October 2026, trimmed for length (long answers end with ...; reviewer names are shortened to initials here, while the actor returns them as G2 shows them).

A review of Salesforce Customer Success (Apify run of 10 reviews, 60 seconds):

{
"review_id": 13499585,
"product_slug": "salesforce-customer-success",
"product_name": "Salesforce Customer Success",
"product_id": 118604,
"vendor_id": 469,
"review_title": "Strong Salesforce Expertise, But Needs More Tailored Guidance and Clearer Ownership",
"rating": 3,
"rating_out_of": 5,
"pros": "What I like best about Salesforce Customer Success is the combination of Salesforce expertise, practical guidance, and access to best practices...",
"cons": "At times, it can be challenging to navigate the breadth of available resources and determine which guidance is most relevant to our specific environment...",
"reviewer_name": "N. R.",
"reviewer_job_title": "Salesforce Engineer",
"reviewer_id": 2420723,
"company_size_band": "Mid-Market (51-1000 emp.)",
"review_date": "2026-09-17",
"is_video_review": false,
"review_url": "https://www.g2.com/products/salesforce-customer-success/reviews",
"scraped_at": "2026-10-01T09:00:53.540Z"
}

A review of HubSpot Marketing Hub from a small business:

{
"review_id": 13556014,
"product_slug": "hubspot-marketing-hub",
"product_name": "HubSpot Marketing Hub",
"product_id": 364,
"vendor_id": 316,
"review_title": "Powerful Organization, Helpful AI Integrations, and Great Reporting Dashboards",
"rating": 4,
"rating_out_of": 5,
"pros": "There are so many ways to organize items and add as much detail to a contact as needed...",
"cons": "There are quite a few limitations that push you to upgrade to Enterprise. The workflows can also be confusing...",
"reviewer_name": "K. S.",
"reviewer_job_title": "Client Success Manager",
"reviewer_id": 10008681,
"company_size_band": "Small-Business (50 or fewer emp.)",
"review_date": "2026-09-22",
"is_video_review": false,
"review_url": "https://www.g2.com/products/hubspot-marketing-hub/reviews",
"scraped_at": "2026-10-01T13:29:20.077Z"
}

The insights row for the same product, with includeReviewInsights on. None of the 10 reviews was rated 2 or lower, so top_complaint_terms is empty, and they all came from one month, so there is no monthly trend:

{
"_type": "review_insights",
"product_slug": "hubspot-marketing-hub",
"product_name": "HubSpot Marketing Hub",
"rating_distribution": {
"1_star": { "count": 0, "pct": 0 },
"2_star": { "count": 0, "pct": 0 },
"3_star": { "count": 1, "pct": 10 },
"4_star": { "count": 1, "pct": 10 },
"5_star": { "count": 8, "pct": 80 }
},
"top_complaint_terms": [],
"based_on_reviews": 10,
"based_on_negative_reviews": 0,
"computed_at": "2026-10-01T13:30:01.150Z"
}

The product summary row from the Apify run:

{
"_type": "summary",
"product_slug": "salesforce-customer-success",
"product_name": "Salesforce Customer Success",
"reviews_scraped": 10,
"charged_for": 10,
"g2_reported_total": 568,
"scraped_at": "2026-10-01T09:00:55.380Z"
}

Pricing

Pay per event: you pay for each review delivered to your dataset, and for the optional insights row. There is no start fee, and the unblocking proxy is included.

EventFree planStarter (Bronze)Scale (Silver)Business (Gold) and above
Review delivered (review-scraped), per review$0.0025$0.0025$0.00225$0.002
Per 1,000 reviews$2.50$2.50$2.25$2.00
Review insights (review-insights-computed), per product$0.02$0.02$0.02$0.02
Run startnonenonenonenone

So the quick start above (10 reviews of one product) costs $0.025 on the Free plan, and 10 products at 10 reviews each with insights cost at most $0.25 plus $0.20. One run reads at most about 60 pages (about 600 reviews, $1.50 on the Free plan) before its cost guard stops it. These prices have applied since 3 September 2026, and no price change is scheduled.

Never charged: a review that repeats one already delivered in the run, a product that returns no reviews, a page G2 refuses, an insights row for a product with no reviews, and the summary, run_summary and info rows. You can also cap a run's spend with Apify's "Max cost per run" setting; once the cap is reached the actor stops delivering reviews and still writes its summary rows.

FAQ

What is G2?

G2 (g2.com) is a large review site for business software, where people who use a tool rate it out of 5 stars and answer set questions about what they like and dislike. Each review shows the reviewer's job title and the size of their company, which is what makes G2 data useful for B2B research.

How many reviews can I get?

Up to 200 per product (20 pages of 10 reviews) and up to 10 products per run. A run also stops reading after about 60 pages, its cost guard, so one run returns at most about 600 reviews; for more, split the products across runs. A product with fewer reviews than you ask for returns what G2 lists, and the product's full review count on G2 is in the summary row as g2_reported_total. A review that shows up twice while G2's list shifts during the run is delivered and charged once.

Which reviews come first? Can I filter by stars or date?

You get the reviews in the order G2's review page shows them by default, which is close to newest first but not strictly by date. In our test on 1 October 2026, 29 of the first 30 reviews of Salesforce Customer Success were from the previous four weeks and one was from July. There is no star or date filter in the input; filter the dataset after the run instead.

How long does a run take?

Each page goes through Apify's unblocking proxy and took about 30 to 80 seconds in our tests. The first page of a product is read alone, then the rest up to 5 at a time. Our Apify test run of 10 reviews finished in 60 seconds, and a local run of 30 reviews (three pages, one of them retried) took 136 seconds. Products are read one after another, so as a rough guide allow about a minute per product at 10 reviews and about two minutes at 20 to 50; at 200 reviews a product takes several minutes. The default run timeout is 10 minutes, so for several products or deep runs raise Timeout in the run options. If a run does hit its timeout, the reviews already saved stay in the dataset and a run_summary is written.

Do I need a G2 account, an API key or cookies?

No. G2 has no public reviews API, and the actor reads only the public review pages any visitor can open, with no login, no cookies and no key.

Do I need my own proxy?

No. G2 is protected by two bot protection layers, and plain requests, Apify's datacenter proxy and Apify's residential proxy with a full browser all failed in our tests in August 2026. The actor uses Apify's unblocking proxy, which works, and its cost is in the review price.

Why does it cost more than some other G2 scrapers?

Because each G2 page has to go through the unblocking proxy, which is a real cost per page and takes about a minute. The price covers that cost instead of being set below it, so the actor can keep returning real reviews.

Are pros and cons always complete?

Yes, as G2 shows them. Each answer is read from its own question on the review, in full, with paragraph breaks kept as new lines. A few reviewers paste the same text under several questions, often their answer to G2's third question ("What problems is the product solving"); the actor keeps what G2 shows, so on those reviews pros and cons can hold the same text. The answer to the third question itself is not returned.

Why did a product return nothing?

The usual reasons: the slug is not a G2 product (check it in your browser), or G2 refused the page twice (each page gets one retry). Either way the product costs nothing, and its summary row shows 0 reviews. If two products in a row return nothing, or 3 pages in a row fail, the run stops early rather than keep paying for refused pages, and run_summary says so.

Can I run it on a schedule to watch new reviews?

Yes. Save your input, then in Apify Console open this actor, go to Schedules and add one (weekly suits most products). The actor does not remember earlier runs, so a review still on G2's first page comes back and is charged again on the next run; use review_id as the key in your sheet or database to keep each review once.

Which export formats can I use?

JSON, CSV, Excel, XML, HTML table and RSS from the run page or the API. Filter out rows with a _type field to keep only reviews.

Can I use it from Claude, ChatGPT or another AI assistant?

Yes. Any assistant connected to Apify's MCP server can call it; add it with https://mcp.apify.com/?tools=themineworks/g2-reviews-scraper, or paste the "Copy to your AI assistant" block above into the chat and ask, for example, "get the latest G2 reviews of Pipedrive and list the main complaints".

The actor collects only public review content that G2 shows to any visitor, with no login. It is an independent tool, not affiliated with, endorsed by or sponsored by G2.com, Inc.; G2 is a trademark of G2.com, Inc. How you use the data is your responsibility: follow G2's terms and the data protection laws that apply to you, such as GDPR in Europe and CCPA in California, because reviewer names, job titles and ids are personal data. Collect only what you have a legitimate purpose for.

Integrations

  • Google Sheets, Excel, CSV, JSON: export the dataset from the run page, or link a Google Sheet with Apify's Google Sheets integration.
  • Make, Zapier, n8n: use the Apify app to start a run and pick up the reviews when it finishes.
  • Webhooks: get a call to your own endpoint when a run succeeds or fails.
  • API: start runs and read results with the Apify API or the apify-client package for Python and JavaScript.
  • MCP clients: Claude, ChatGPT, Cursor and other MCP clients can call the actor through Apify's MCP server.

More from The Mine Works

Marketing, SEO and reviews

Social media and video

Leads and business directories

LinkedIn

Real estate

Science, health and government data

Jobs and hiring

E-commerce and marketplaces

Company and business data

Food and local services

Developer and AI tools

More tools

Support

Found a problem or need a field we do not return? Open an issue on the actor's Issues tab and we will answer there. To ask for a new source, email dmineworks@gmail.com.

G2 Reviews Scraper turns G2 product pages into rows of public software reviews, with rating, pros, cons, reviewer role and company size, no login, and no charge for anything it does not deliver.