G2 Product Reviews Scraper ⭐ avatar

G2 Product Reviews Scraper ⭐

Pricing

Pay per usage

Go to Apify Store
G2 Product Reviews Scraper ⭐

G2 Product Reviews Scraper ⭐

Scrape G2 reviews, software ratings, SaaS product reviews, customer feedback, pros, cons, reviewer insights, and product details. Extract structured G2 review data for SaaS competitor analysis, sentiment analysis, market research, lead generation, and AI datasets.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Categories

Share

What does G2 Product Reviews Scraper do?

G2 Product Reviews Scraper collects public reviews for any G2 product and saves them as structured records. Give it a G2 product URL, a review permalink, or a bare product slug. The Actor returns review titles, ratings, dates, reviewer details, pros, cons, problems solved, and direct review links.

Use it for competitor research, voice-of-customer analysis, review monitoring, and datasets for AI and search projects. Results land in an Apify dataset that you can download as JSON, CSV, Excel, or send to another workflow.

Why use G2 Product Reviews Scraper?

  • Fast live collection. A 20 review run usually finishes in a few seconds. Larger runs read several review views in parallel.
  • Deep coverage. The Actor combines star bands, company sizes, roles, regions, countries, industries, and review keywords to go beyond the first page.
  • Reviewer context. Records include the reviewer label, role, company size, and industry when G2 publishes them.
  • Separate answer fields. Pros, cons, and problems solved stay in their own columns instead of one long text block.
  • Clean output. Empty values are removed, so every record contains only the fields that have data.
  • Repeatable runs. Schedule the Actor to track new reviews, rating shifts, or changes in reviewer sentiment.

What data can you extract from G2?

FieldDescription
product_nameProduct name shown on G2
product_slugG2 product slug
product_urlG2 reviews page for the product
product_categoryPrimary G2 category when available
product_ratingAverage product rating when available
product_review_countTotal public review count when available
review_idG2 review identifier
review_urlDirect link to the review
review_titleReview headline
review_ratingStar rating from 0 to 5
review_datePublication date in ISO format
reviewer_namePublic reviewer name or reviewer label
reviewer_job_titleReviewer role when published
reviewer_company_sizeReviewer company size segment
reviewer_industryReviewer industry when published
prosWhat the reviewer likes best
consWhat the reviewer dislikes
problems_solvedProblems the product solves for the reviewer
review_textFull review text with question headings
badgesReview badges when the source publishes them
review_sourceInvitation or collection source when available
verified_reviewerTrue when G2 marks the reviewer as validated
incentivizedTrue when G2 marks the review as incentivized
current_userTrue when G2 marks the reviewer as a current user
ai_translatedTrue when G2 marks the review as AI translated
data_sourceg2_feed, live_page, archive_page, or g2_api
scraped_atISO timestamp for the collection time

Fields that G2 does not publish for a review are left out of that record. A missing company size or industry is a source limitation, not a failed run.

How to use G2 Product Reviews Scraper

  1. Open the Actor in Apify Console.
  2. Enter a G2 product URL, review permalink, or bare product slug.
  3. Set the number of reviews you want.
  4. Raise max_pages if you need deeper history.
  5. Choose a sort order if you need one.
  6. Run the Actor and open the dataset to review or export the results.

Proxy settings are optional. The public G2 review data used by this Actor is normally reachable without a proxy. Enable Apify Proxy only if your runs are rate limited.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoHubSpot Marketing Hub reviews URLG2 product URL, review page, review permalink, or bare slug
results_wantedIntegerNo20Maximum number of reviews to save
max_pagesIntegerNo10Maximum review pages to read per view family. Each page holds up to 25 reviews
sort_byStringNog2_defaultReview sort order
proxyConfigurationObjectNoNo proxyOptional Apify Proxy or custom proxy URLs

URL formats

startUrl accepts these forms:

  • https://www.g2.com/products/hubspot-marketing-hub/reviews
  • https://www.g2.com/products/hubspot-marketing-hub
  • https://www.g2.com/products/hubspot-marketing-hub/reviews/hubspot-marketing-hub-review-13518315
  • www.g2.com/products/hubspot-marketing-hub/reviews
  • hubspot-marketing-hub

A URL with G2 filters, such as filters[nps_score][]=5, keeps those filters. Category pages are not supported because they list products, not reviews. Comparison URLs use the first product.

Sort options

ValueBehavior
g2_defaultG2 default source order, newest first
most_recentNewest reviews first
most_helpfulSame source order. G2 does not publish helpful vote counts in this data
highest_ratedHighest star ratings first in the saved set
lowest_ratedLowest star ratings first in the saved set

Review coverage and limits

G2 serves up to 25 reviews per public view. A single view cannot be paged with page=2, so the Actor reads many filter views instead:

  • all reviews
  • 5, 4, 3, 2, and 1 star bands
  • small business, mid-market, and enterprise company sizes
  • common reviewer roles
  • regions and countries
  • four common industries
  • keyword searches inside review text
  • narrow combinations of company size, role, and star rating

max_pages caps how many pages the Actor reads in each view family. The default of 10 is enough for most runs. For requests above 500 reviews, set max_pages to 20 or 30.

If you have a G2 vendor token, set the G2_API_TOKEN environment variable. The Actor uses that source first and can page through 100 reviews per request.

Output Data

FieldTypeDescription
product_nameStringProduct name
product_slugStringG2 product slug
product_urlStringProduct reviews page
product_categoryStringPrimary G2 category when available
product_ratingNumberAverage rating when available
product_review_countIntegerTotal public reviews when available
review_idStringReview identifier
review_urlStringReview permalink
review_titleStringReview headline
review_ratingNumberStar rating
review_dateStringPublication date
reviewer_nameStringReviewer name or label
reviewer_job_titleStringReviewer role
reviewer_company_sizeStringCompany size segment
reviewer_industryStringReviewer industry
prosStringPositive answer
consStringNegative answer
problems_solvedStringOutcome answer
review_textStringFull review text
badgesArrayReview badges when available
review_sourceStringCollection source when available
verified_reviewerBooleanValidated reviewer flag
incentivizedBooleanIncentivized review flag
current_userBooleanCurrent user flag
ai_translatedBooleanAI translation flag
data_sourceStringWhere the record came from
scraped_atStringISO timestamp

Usage Examples

Collect 50 recent reviews

{
"startUrl": "https://www.g2.com/products/hubspot-marketing-hub/reviews",
"results_wanted": 50
}

Collect a larger dataset

{
"startUrl": "https://www.g2.com/products/slack/reviews",
"results_wanted": 500,
"max_pages": 20
}

Sort by highest rating

{
"startUrl": "https://www.g2.com/products/notion/reviews",
"results_wanted": 100,
"sort_by": "highest_rated"
}

Keep a star filter from the URL

{
"startUrl": "https://www.g2.com/products/hubspot-marketing-hub/reviews?filters%5Bnps_score%5D%5B%5D=1",
"results_wanted": 50
}
{
"startUrl": "https://www.g2.com/products/slack/reviews/slack-review-13686121",
"results_wanted": 20
}

Sample Output

{
"product_name": "Slack",
"product_slug": "slack",
"product_url": "https://www.g2.com/products/slack/reviews",
"review_id": "13870634",
"review_url": "https://www.g2.com/products/slack/reviews/slack-review-13870634",
"review_title": "Straightforward Team Communication with Handy Integrations",
"review_rating": 4,
"review_date": "2026-10-27T11:11:25.000Z",
"reviewer_name": "Verified User",
"reviewer_industry": "Computer Software",
"reviewer_job_title": "User",
"reviewer_company_size": "501-1,000 employees",
"pros": "Slack has helped our team communicate more effectively. It’s straightforward to use, and it’s especially useful when working with remote teams. We use the integration to several tools so that we can get notifications within Slack. Agents and apps is a good way for us to do that.",
"cons": "When there are too many conversations and channels, it can be difficult to keep up with new messages, especially on busy days.",
"problems_solved": "It’s been helping our team communicate more effectively and stay aligned.",
"review_text": "What do you like best?\nSlack has helped our team communicate more effectively. It’s straightforward to use, and it’s especially useful when working with remote teams. We use the integration to several tools so that we can get notifications within Slack. Agents and apps is a good way for us to do that.\n\nWhat do you dislike?\nWhen there are too many conversations and channels, it can be difficult to keep up with new messages, especially on busy days.\n\nWhat problems is the product solving?\nIt’s been helping our team communicate more effectively and stay aligned.",
"data_source": "g2_feed",
"scraped_at": "2026-10-27T15:53:35.246Z"
}

Tips for Best Results

  • Start with 20 to 50 reviews to confirm the product and fields before a large run.
  • Set max_pages to 20 or 30 when you request more than 500 reviews.
  • Keep a star filter in startUrl when you only need one rating band.
  • Use highest_rated or lowest_rated when rating order matters. The Actor sorts the reviews it saves for that run.
  • Review dates, roles, company sizes, and industries come from G2. Missing values mean the reviewer did not publish them.
  • Schedule repeat runs to collect new reviews without changing the input.
  • In local testing on 27 October 2026, 200 reviews completed in about 9 seconds and 1,000 reviews in about 24 seconds with max_pages: 30.

Integrations

  • Google Sheets - Send review records to a spreadsheet for analysis.
  • Webhooks - Trigger downstream workflows after a run.
  • Make or Zapier - Connect results to no-code automations.
  • API - Read datasets from your own systems.
  • AI and RAG pipelines - Use clean review text as source material for models and search indexes.

Frequently Asked Questions

Can I export G2 review data to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats.

Can I run this Actor on a schedule?

Yes. Schedule it in Apify Console to collect new reviews daily, weekly, or at another interval.

How many reviews can one run collect?

It depends on the product and the number of filter views that contain reviews. Runs of 1,000 reviews were tested on a product with more than 10,000 reviews. Smaller products return fewer records and the log reports how many were saved.

Why did the run stop before results_wanted?

The product may have fewer public reviews than requested, the filter views may be exhausted, or G2 may have rate limited the run. Check the final log line for stop=results_reached, stop=live_exhausted, or stop=archive_recovered.

Why are some fields missing?

G2 does not publish every field for every review. Anonymous reviewers often have no industry or company size. Badges and review source labels are not present in every data view. The Actor leaves empty fields out instead of writing null values.

What does data_source mean?

g2_feed means the record came from a live public review view. live_page means it came from a public review page. archive_page means live data was unavailable and the Actor used a public archived copy. g2_api means it came from an authorized G2 vendor feed.

Does the Actor support review sorting?

Yes. Use sort_by with g2_default, most_recent, most_helpful, highest_rated, or lowest_rated. Helpful vote counts are not public, so most_helpful uses the default source order.

Yes. A URL such as https://www.g2.com/products/slack/reviews/slack-review-13686121 resolves to the product and collects reviews from there.

Does the Actor support category pages?

No. Category pages list products, not product reviews. Provide a product URL or a bare product slug.

Can I use an authorized G2 vendor feed?

Yes. Set the G2_API_TOKEN environment variable for the Actor. Records from that source are marked with data_source: "g2_api". Without a token, the Actor uses public review data.

The reviews are publicly visible. You are responsible for complying with applicable laws, G2's terms, and privacy rules when you store or use the data.

Support

For issues or feature requests, use the Issues tab on the Actor page or contact the developer through Apify.

This Actor is designed for legitimate collection of publicly available review data. Users are responsible for using the data responsibly and complying with applicable laws and website terms.